Visual Basic: Feststellen, ob in Formular gerade neuer Datensatz hinzugefügt wird.

01/09/2009 - 14:43 von Christian | Report spam
Hallo,

kann ich in Visual Basic für Access (ab 2003) feststellen, ob in einem
Formular gerade ein neuer Datensatz angezeigt wird?

Ich möchte z.B. im Code, der bei Änderung der Auswahl eines
Kombinationsfeldes ausgeführt werden soll, unterschiedlich vorgehen,
je nachdem, ob man sich gerade auf einem existierenden oder einem neu
hinzuzufügenden Datensatz befindet.

Es gibt das Ereignis "Vor Eingabe", aber das wird erst getriggert,
wenn man mindestens ein Zeichen in den Datensatz eingibt. Ich hatte
erst überlegt, in der Ereignisprozedur zu "Vor Eingabe" ein Flag auf
True zu setzen, und es bei "Nach Eingabe" auf False zu setzen. Doch
wenn der Benutzer noch kein Zeichen in den Datensatz eingegeben hat,
und er dann die Auswahl jenes im Beispiel angeüfhrten
Kombinationsfeldes àndert, wàre das Flag in dem Moment noch nicht
gesetzt und der VBA-Code würde so handeln, als würde man gerade auf
einem bereits existierenden Datensatz arbeiten.

Für eine Hilfestellung wàre ich sehr dankbar.

Viele Grüße,

Christian

P.S.:
Was ist eigentlich der Unterschied zwischen Code wie z.B:

Me!Bestand_ID_Kombo.Requery

und

Me.Bestand_ID_Kombo.Requery

also der Notation mit "!" und der mit "."?
 

Lesen sie die antworten

#1 Gunter Avenius
01/09/2009 - 14:48 | Warnen spam
Hallo Christian,

Christian schrieb folgendes:
kann ich in Visual Basic für Access (ab 2003) feststellen, ob in einem
Formular gerade ein neuer Datensatz angezeigt wird?

Ich möchte z.B. im Code, der bei Änderung der Auswahl eines
Kombinationsfeldes ausgeführt werden soll, unterschiedlich vorgehen,
je nachdem, ob man sich gerade auf einem existierenden oder einem neu
hinzuzufügenden Datensatz befindet.

Es gibt das Ereignis "Vor Eingabe", aber das wird erst getriggert,
wenn man mindestens ein Zeichen in den Datensatz eingibt. Ich hatte
erst überlegt, in der Ereignisprozedur zu "Vor Eingabe" ein Flag auf
True zu setzen, und es bei "Nach Eingabe" auf False zu setzen. Doch
wenn der Benutzer noch kein Zeichen in den Datensatz eingegeben hat,
und er dann die Auswahl jenes im Beispiel angeüfhrten
Kombinationsfeldes àndert, wàre das Flag in dem Moment noch nicht
gesetzt und der VBA-Code würde so handeln, als würde man gerade auf
einem bereits existierenden Datensatz arbeiten.

Für eine Hilfestellung wàre ich sehr dankbar.



If me.NewRecord then
' Neuer DS
Else
' Vorhandener DS
Endif


P.S.:
Was ist eigentlich der Unterschied zwischen Code wie z.B:

Me!Bestand_ID_Kombo.Requery

und

Me.Bestand_ID_Kombo.Requery

also der Notation mit "!" und der mit "."?



www.donkarl.com?FAQ6.3 geht darauf ein.

Gruß
Gunter
__________________________________________________________
Access FAQ: http://www.donkarl.com

home: http://www.avenius.com - http://www.AccessRibbon.de
http://www.ribboncreator.de

12. Access-Entwickler-Konferenz (AEK)
Nürnberg 10./11.10.2009 und 31.10/1.11.2009
http://www.donkarl.com/?AEK

Ähnliche fragen