PDA

Vollständige Version anzeigen : Werte in Suche nicht auffindbar


IcmsJena
10.05.2004, 14:42
Habe schon in mehreren Beiträgen gesucht, doch kein passendes Ergebnis gefunden.

Problem:
Es soll in einem Formular nach einer Suche geprüft werden, ob ein Wert auch wirklich in der Datenbank ist - ob er gefunden wird. Wenn das nicht der Fall sein soll, soll eine msgbox kommen, die beinhaltet, dass der Text nicht gefunden werden kann.


Hab auch ein Code ausprobiert, der funktioniert aber nicht:

If IsNull(txtProjsuch) = True Then
BoxB = MsgBox("Bitte wählen Sie eine Auktionsbezeichnung aus. Ohne Bezeichnung kein & _
Ergebnis!", vbInformation, "Bitte Suchtext eingeben")
DoCmd.GoToControl "txtProjsuch"
Else
DoCmd.GoToControl "txtAuktionsArtikelNr"
DoCmd.FindRecord findwhat:=txtProjsuch
'folgende If Funktion zur Prüfung, ob der Datensatz vorhanden ist
If NoMatch = True Then
MsgBox "Es wurde kein Datensatz gefunden. Bitte versuchen Sie es erneut!", & _
vbInformation , "Datensatz nicht vorhanden"
End If
End If

Kann jemand helfen?
Danke im Voraus!

PS: Es kann nicht die NoMatch Methode verwendet werden. Es wird nicht der richtige Wert ausgegeben. Kennt jemand eine andere Methode um die MsgBox hervorzurufen?

Johnny Loser
10.05.2004, 14:59
Ein wenig abgeändert:

If IsNull(txtProjsuch) Then
MsgBox "Bitte wählen Sie eine Auktionsbezeichnung aus. Ohne Bezeichnung kein & _
Ergebnis!", vbInformation, "Bitte Suchtext eingeben"
txtProjsuch.SetFocus
Else
txtAuktionsArtikelNr.SetFocus
Me.RecordsetClone.FindFirst "NameDeinesTabellenFeldes='" & Me!txtProjsuch & "'"
'folgende If Funktion zur Prüfung, ob der Datensatz vorhanden ist
If Me.RecordsetClone.NoMatch Then
MsgBox "Es wurde kein Datensatz gefunden. Bitte versuchen Sie es erneut!", & _
vbInformation , "Datensatz nicht vorhanden"
Else
'springt zum gefundenen Datensatz
Me.Bookmark = Me.RecordsetClone.Bookmark
End If
End If

IcmsJena
10.05.2004, 15:14
@Johnny:

Hat Funktioniert! THNX!!

IcmsJena
10.05.2004, 15:42
Hier ist nochmal ein ähnlicher Code:

If IsNull(txtProjsuch) Then
MsgBox "Bitte wählen Sie eine Auktionsbezeichnung aus. Ohne Bezeichnung kein Ergebnis!", vbInformation, "Bitte Suchtext eingeben"
txtProjsuch.SetFocus 'Fokus auf txtProjsuch setzen
Else
txtid.SetFocus
Me.RecordsetClone.FindFirst " tblProjStam!id='" & Me!txtProjsuch & "'"
'folgende If Funktion zur Prüfung, ob der Datensatz vorhanden ist
If Me.RecordsetClone.NoMatch Then
MsgBox "Es wurde kein Datensatz gefunden. Bitte versuchen Sie es erneut!", vbInformation, "Datensatz nicht vorhanden"
Else
'springt zum gefundenen Datensatz
Me.Bookmark = Me.RecordsetClone.Bookmark
End If
End If

Es ist doch eigentlich fast genauso geschrieben. Ich bekomme nur immer die Fehlermeldung angezeigt, dass die Datentypen im Kriteriumausdruck unverträglich sind.

Was hab ich falsch gemacht?

Arne Dieckmann
10.05.2004, 15:46
Wenn das ID-Feld in der Tabelle ein Zahlenfeld ist, dann lasse einmal die Hochkommata weg:

Me.RecordsetClone.FindFirst "id=" & Me!txtProjsuch

IcmsJena
10.05.2004, 15:48
Danke!!