Hallo Leute,
ich habe ein Problem mit meinem Formular. Ich möchte gerne, dass nachdem die Eingaben erfolgt sind, der Datensatz gespeichert wird und für weitere Bearbeitung gesperrt wird. Das Formular enthält auch noch ein integriertes Unterformular, dass dazu ebenso gesperrt werden soll.
Ich hoffe Ihr könnt mir helfen. Mit den im Internet angezeigten VBA-Codes komme ich leider nicht weiter.
Hallo,
ZitatMit den im Internet angezeigten VBA-Codes komme ich leider nicht weiter.
du könntest ihn aber zeigen, damit wir ihn dir erklären können.
Was du tun musst, ist folgendes:
Beim Anzeigen eines Datensatzes (im Ereignis Form_Current) kannst du mit Me.NewRecord prüfen, ob du dich auf einem neuen Datensatz befindest und davon abhängig die Steuerelemente sperren oder entsperren.
Hi,
Private Sub Save_Click()
Me.AllowEdits = True
DoCmd.RunCommand acCmdSaveRecord
Me.AllowEdits = False
'DoCmd.RunCommand acCmdRecordsGoToNew
End Sub
Damit funktioniert zwar das Hauptformular zu sperren, doch im Unterformular kann ich immernoch Änderungen vornehmen. Das Unterformular heißt "Formular". Es wäre cool, wenn ich beides gleichzeitig sperren könnte und dann wenn ich auf neuen Datensatz im Hauptformular gehe, dann auch im Unterformular ein neuer Datensatz erscheint.
Hi,
du musst einfach die Einstellung der Eigenschaften auch auf das Unterformular anwenden, bspw. folgendermaßen:
Me.UfoControlname.Form.AllowEdits = True/False
Wenn du allerdings lediglich im Speichern-Button direkt vor dem Speichern das Editieren erlaubst, so kannst du vorher nichts eingeben. Sinnvoller wäre es also, den Code nach meinem Vorschlag umzusetzen.