Forums Neueste Beiträge
 

Fehler bei der Benutzung der Bookmark Funktion

18/10/2009 - 16:56 von Christoph Sobotta | Report spam
Hallo ,
In einem Verwaltungsformular für Kunden und Lieferanten màchte ich eine
spezielle Adresse per Nummer anwàhlen. Der Kode wird an der Stelle
Me.Bookmark = rst.Bookmark mit dem Fehler :
3159 Kein zulàssiges Lesezeichen abgebrochen.
Was ist hier zu àndern ?

Dim ID As String
Dim Krit As String

neueingabe:
ID = InputBox("Bitte geben Sie die zu suchende Adressen Nummer ein:",
"Adresse suchen")
If ID = "" Then Exit Sub

If Not IsNumeric(ID) Then
MsgBox "Bitte geben Sie eine korrekte Adressen Nummer ein!", 16,
"Error"
GoTo neueingabe
Else
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim strSQL As String
Set db = CurrentDb

strSQL = ("select * from tbl_KundLief ")
Set rst = db.OpenRecordset(strSQL)
Krit = "[AdressNr] =" & ID

rst.FindFirst (Krit)

If rst.NoMatch Then
MsgBox "Diese AdressNr ist in der Datenbank oder in Ihrer
Filterung nicht vorhanden!", 64, "Info"
Else
Me.Bookmark = rst.Bookmark
Me.txtAdressNr.SetFocus
Debug.Print rst!AdressNr
Debug.Print rst!Matchcode
Debug.Print rst!Firmenname1
Debug.Print rst!Firmenname2
End If
rst.Close
End If

Vielen Dank für die Hilfe

Christoph

Meine Internet Adresse
http://www.pocketcutter.de
 

Lesen sie die antworten

#1 Stefan Hoffmann
18/10/2009 - 17:30 | Warnen spam
hallo Christoph,

Christoph Sobotta wrote:
Hallo ,
In einem Verwaltungsformular für Kunden und Lieferanten màchte ich eine
spezielle Adresse per Nummer anwàhlen. Der Kode wird an der Stelle
Me.Bookmark = rst.Bookmark mit dem Fehler :
3159 Kein zulàssiges Lesezeichen abgebrochen.
Was ist hier zu àndern ?


An der Stelle nichts. Ein Bookmark kann einfach mal ungültig sein.

Dim ID As String
Dim Krit As String

neueingabe:
ID = InputBox("Bitte geben Sie die zu suchende Adressen Nummer ein:",
"Adresse suchen")
If ID = "" Then Exit Sub

If Not IsNumeric(ID) Then
MsgBox "Bitte geben Sie eine korrekte Adressen Nummer ein!", 16,
"Error"
GoTo neueingabe


Das ist nicht schön. Wenn du eine Art der Rückmeldung willst, würde ich
hier schon über eine eigenes Eingabeformular nachdenken.

Else
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim strSQL As String
Set db = CurrentDb

strSQL = ("select * from tbl_KundLief ")
Set rst = db.OpenRecordset(strSQL)


Hier sollte ein

Set rst = Me.RecordsetClone

stehen.

Das ganze sollte aufgràumt etwa so aussehen:

Private Function Locate(AID As Long) As Boolean

On Local Error GoTo LocalError

Dim rs As DAO.Recordset

Dim result As Boolean

Result = False
Set rs = Me.RecordsetClone
rs.FindFirst "[AdressNr] = " & AID
If rs.NoMatch Then
MsgBox "Diese AdressNr ist in der Datenbank " & _
"oder in Ihrer Filterung nicht vorhanden!", 64, "Info"
Else
Me.Bookmark = rs.Bookmark
Result = True
End If
Set rs = Nothing

Locate = Result
Exit Function

LocalError:
If Not Err.Number = 3159 Then
MsgBox Err.Descrition, vbError
End If

End Sub

Private Sub cmdSearch_Click()

Dim ID As String

ID = InputBox( _
"Bitte geben Sie die zu suchende Adressen Nummer ein:", _
"Adresse suchen")

If IsNumeric(ID) Then
If Locate(CLng(ID)) Then
txtAdressNr.SetFocus
End If
Else
MsgBox "Bitte geben Sie eine korrekte Adressen Nummer ein!", _
vbInformation, "Error"
End If

End Sub

mfG

Ähnliche fragen