geöffnetes Formular - zu bestehenden Datensatz springen

24/02/2009 - 21:34 von Joachim082 | Report spam
Hallo,

Ich habe folgende Problemstellung - ich möchte ein Formular sowohl für
neue Datensàtze als auch für bestehende verwenden um den
Verwaltungsaufwand gering zu halten. Dazu verwende ich den Parameter
OpenArgs beim Anlegen eines neuen Datensatzes und bei bestehenden
standardmàßig den Condition Parameter beim Öffnen des Formulars.

Nun habe ich aber den Sonderfall, dass beim Anlegen eines neuen
Datensatzes überprüft werden soll, ob dieser mit bereits existiert.
Suche eines Textfeldes korrespondiert mit Primàrschlüsselspalte der
Datensatzherkunft. Nun habe ich zwar schon mal die Vorgehensweise von
Donkarl (FAQ 4.4) versucht, jedoch ohne Erfolg (rs.noMatch ist True)
obwohl dieser gesetzte Wert in der zugrundeliegenden Tabelle
existiert.

Weiters habe ich auch noch folgenden VBA-Code versucht:
int_MotorID = getMotorID(txt_Motornummer
Me.Undo

Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset(getSearchSQLString(True,
"Max(mh.Datum) DESC", "", ""))

rs.FindFirst "MotorNr = " & Me!txt_Motornummer

If Not rs.NoMatch Then
Me.Bookmark = rs.Bookmark
End If

Set rs = Nothing

</>
Hat aber auch nichts geholfen. Hat jemand eine Idee was ich da machen
muss, damit es auch funktioniert. Eigentlich will ich ja den neuen
Datensatz verwerfen und die Condition beim Öffnen des Formulars auch
zur Laufzeit im selben Formular im Nachhinein bearbeiten.

mfg
Joachim
 

Lesen sie die antworten

#1 Mark Doerbandt
24/02/2009 - 21:55 | Warnen spam
Hallo,

Joachim082:

Nun habe ich aber den Sonderfall, dass beim Anlegen eines neuen
Datensatzes überprüft werden soll, ob dieser mit bereits existiert.
Suche eines Textfeldes korrespondiert mit Primàrschlüsselspalte der
Datensatzherkunft. Nun habe ich zwar schon mal die Vorgehensweise von
Donkarl (FAQ 4.4) versucht, jedoch ohne Erfolg (rs.noMatch ist True)
obwohl dieser gesetzte Wert in der zugrundeliegenden Tabelle
existiert.

Weiters habe ich auch noch folgenden VBA-Code versucht:
int_MotorID = getMotorID(txt_Motornummer
Me.Undo

Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset(getSearchSQLString(True,
"Max(mh.Datum) DESC", "", ""))

rs.FindFirst "MotorNr = " & Me!txt_Motornummer

If Not rs.NoMatch Then
Me.Bookmark = rs.Bookmark
End If

Set rs = Nothing



etwas unklar. Was macht getSearchSQLString und warum suchst Du nicht
im RecordsetClone des Formulars?

Hat aber auch nichts geholfen.



Was heisst das?

Gruss - Mark

Informationen fuer Neulinge in den Access-Newsgroups unter
http://www.doerbandt.de/Access/Newbie.htm

Bitte keine eMails auf Newsgroup-Beitràge senden.

Ähnliche fragen