keine Fehlermeldung bei "kein Datensatz gefunden"

01/01/2009 - 22:13 von Mike Berger | Report spam
Hallo zusammen,

ich habe leider noch ein kleines Problem bei mir Programm.

Folgenden Code verwende ich im Formular:

Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strSQL As String
Dim strVat, strTeam as string

On Error GoTo Fehler

strSQL = "SELECT tblUser.Vat, tblUser.Team " & _
"FROM tblUser " & _
"WHERE tblUser.Laufwerk ='" & strLaufwerk & "';"

Set db = Application.CurrentDb
Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)

strVat = rs(0)
strTeam = rs(1)

rs.Close
Set rs = Nothing
Set dbs = Nothing
Exit Sub

Jetzt hàtte ich aber gerne eine Fehlermeldung, wenn kein Datensatz
gefunden ist und danach soll das frmUserEinstellungen geöffnet werden.

Ich hatte es so probiert:

Fehler:
If IsEmpty(rs(0)) Then
MsgBox "Es ist kein Datensatz gefunden"
DoCmd.OpenForm "frmUserEinstellungen", acNormal, , , , acDialog
Exit Sub
End If

Aber es geht nicht. Das Sub wird einfach beendet mit den Variablen
strVat = LEER
strTeam = der Wert von der vorherigen Ausführung

Was mache ich denn hier falsch?

Mike
 

Lesen sie die antworten

#1 Thomas Winkler
01/01/2009 - 22:26 | Warnen spam
Hi,

Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strSQL As String
Dim strVat, strTeam as string



strVat wird hier als String vereinbart, ist das so gewollt?


On Error GoTo Fehler

strSQL = "SELECT tblUser.Vat, tblUser.Team " & _
"FROM tblUser " & _
"WHERE tblUser.Laufwerk ='" & strLaufwerk & "';"

Set db = Application.CurrentDb
Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)



if Not rs.eof then


strVat = rs(0)
strTeam = rs(1)



^^
obiges funktioniert zwar, allerdings bevorzuge ich folgende Schreibweise:

strVat = rs("Vat")
strTeam = rs("Team")

Das ist fehlerunanfàlliger und verstàndlicher.

else
MsgBox "Es ist kein Datensatz gefunden"
DoCmd.OpenForm "frmUserEinstellungen", acNormal, , , , acDialog


endif


rs.Close
Set rs = Nothing
Set dbs = Nothing
Exit Sub

Jetzt hàtte ich aber gerne eine Fehlermeldung, wenn kein Datensatz
gefunden ist und danach soll das frmUserEinstellungen geöffnet werden.

Ich hatte es so probiert:

Fehler:
If IsEmpty(rs(0)) Then
MsgBox "Es ist kein Datensatz gefunden"
DoCmd.OpenForm "frmUserEinstellungen", acNormal, , , , acDialog
Exit Sub
End If

Aber es geht nicht. Das Sub wird einfach beendet mit den Variablen
strVat = LEER
strTeam = der Wert von der vorherigen Ausführung

Was mache ich denn hier falsch?

Mike

Ähnliche fragen