2 Stimmen

Access 2007 Feld auf Auswahl im Dialog einstellen

Ich möchte ein Feld auf einen Wert setzen, der in einem Dialogfeld aus einem Raster ausgewählt wurde. Ich verwende Access 2007.

In WinForms würde ich das tun:

  • Ein untergeordnetes Formular erstellen
    • ein Gitter für die Daten erstellen
    • Hinzufügen einer Eigenschaft für das ausgewählte Element
  • Im übergeordneten Formular
    • Hinzufügen einer Schaltfläche zum Öffnen des Formulars
    • Bei erfolgreichem Dialogergebnis wird das ausgewählte Element aus der Eigenschaft
    • das Objekt aktualisieren
    • bei Ereignis bestehen bleiben
  • Übergeordnete Bearbeitung
    • ausgewählten Wert im untergeordneten Gitter einstellen

Ist so etwas in Access 2007-Formularen möglich? Ich habe ein Formular mit mehreren Elementen und untergeordneten Datensätzen. Kann ich einen auswählen und ihn an den übergeordneten Datensatz zurückgeben? Und auf der anderen Seite, kann ich das ausgewählte Element bei der Bearbeitung als Standard festlegen?

Wie geht man in Access an dieses Thema heran?

1voto

JohnFx Punkte 34169

Hier ist ein Muster, das unter der Annahme funktioniert, dass das untergeordnete Formular modal ist.

In Ihrem übergeordneten Formular

Private Sub cmdOpenChild_Click()
    DoCmd.OpenForm "ChildDialog", acNormal, , , , acDialog, "Info for child"

    'This line will block further code execution until child form is hidden or closed.  
    MsgBox Forms.Item("ChildDialog").Controls.Item("SomePropertyOrControl").Value

    DoCmd.Close acForm, "ChildDialog"
end sub

Im Formular Kind eine Schaltfläche zum Schließen haben, die das Formular eigentlich nur ausblendet.

Private Sub cmdClose_Click()
    'hide the form instead of closing it to return control to caller.
    Me.Visible = False
End sub

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X