public sub verwenden

28/06/2013 - 13:58 von Achim Jäkel | Report spam
Hallo liebe NG,
ich habe einige Formulare, in denen ich Daten speichere. In diesen Formularen habe ich jeweils einen Button zum Speichern eines Datensatzes.

Da ich es leid bin immer wieder den gleichen Code zu generieren und nur den Formular-Namen im DoCmd.GoToRecord-Aufruf zu àndern, dachte ich mir, dass ganze evtl. in eine public sub zu verlagern

Dazu habe ich in einem beliebigen Formular (Entwurfsmodus) auf den Speichern-Button geklickt und habe dann das hier im Code-Fenster gespeichert:

Public Sub NeuerDatensatz()
Dim stDocName As String
Set stDocName = Screen.ActiveForm.Name
DoCmd.GoToRecord acDataForm, stDocName, acNew
End Sub

Frage 1:
Verstehe ich es richtig, dass dies bedeuten würde, ich könnte diese dann in allen von mir erstellten Formulare beim Event "beim Klicken" eintragen und es würde dann ein neuer Datensatz generiert werden?

Frage 2:
Was trage ich denn im jeweiligen Formular in das Event "beim klicken" ein, damit diese Sub aufgerufen wird?

Ich habe da jetzt =NewRecord() eingetragen, aber dann bekomme ich eine Fehlermeldung:

Der Ausdruck hat einen Fehler verursacht: Der Ausdruck enthàlt den Namen einer Funktion, die nicht gefunden werden kann.

Vielen Dank im Voraus & liebe Grüße,
Achim
 

Lesen sie die antworten

#1 Winfried Sonntag
28/06/2013 - 18:41 | Warnen spam
Am 28.06.2013 schrieb Achim Jàkel:

ich habe einige Formulare, in denen ich Daten speichere. In diesen
Formularen habe ich jeweils einen Button zum Speichern eines
Datensatzes.

Da ich es leid bin immer wieder den gleichen Code zu generieren und
nur den Formular-Namen im DoCmd.GoToRecord-Aufruf zu àndern, dachte
ich mir, dass ganze evtl. in eine public sub zu verlagern

Dazu habe ich in einem beliebigen Formular (Entwurfsmodus) auf den
Speichern-Button geklickt und habe dann das hier im Code-Fenster
gespeichert:

Public Sub NeuerDatensatz()
Dim stDocName As String
Set stDocName = Screen.ActiveForm.Name DoCmd.GoToRecord acDataForm, stDocName, acNew
End Sub

Frage 1: Verstehe ich es richtig, dass dies bedeuten würde, ich
könnte diese dann in allen von mir erstellten Formulare beim Event
"beim Klicken" eintragen und es würde dann ein neuer Datensatz
generiert werden?



Jepp, so sollte es funktionieren.

Frage 2: Was trage ich denn im jeweiligen Formular in das Event
"beim klicken" ein, damit diese Sub aufgerufen wird?



Du mußt natürlich im VBA-Code die og. Sub aufrufen und zwar ohne
Gleichheitszeichen:

Private Sub btnSpeichern_Click()

call NeuerDatensatz

End Sub

Ich habe da jetzt =NewRecord() eingetragen, aber dann bekomme ich
eine Fehlermeldung:



Das Gleicheitszeichen darf da nicht hin.

Servus
Winfried
Community Forums NNTP Bridge: http://communitybridge.codeplex.com/
Access-FAQ: http://www.donkarl.com/AccessFAQ.htm
Access-Stammtisch: http://www.access-muenchen.de

Ähnliche fragen