Fehler Überprüfung Dcount

01/09/2009 - 17:45 von Klaus Hensler | Report spam
Hallo NG,

Habe mal wieder ein (kleineres) Problem, das vielleicht keines ist.
Ich habe einen Code aus einer anderen Datenbank (abgeàndert) wiederverwendet.
Er funktioniert auch bis zur Überprüfung
Dort habe ich den Laufzeitfehler 3464.

Ohne Überprüfung der Anl_Nr, ist bei Vorhandensein des gleichen Datums der
Datensatz vorhanden
Weiß jemand wo der Fehler liegt? Danke im Voraus

Private Sub ausgeführt_AfterUpdate()

Dim db As Database
Dim rs As Recordset
Dim lngAnzahl As Long
Dim strTyp As String
Dim dteDatumNeu As Date
Set db = CurrentDb()
Set rs = db.OpenRecordset("tbl_Revision_Anl", dbOpenDynaset)
rs.AddNew
rs!Anl_Nr = Me![Anl_Nr]
rs!Turnus = Me![Turnus]
rs!Prüfart = Me![Prüfart]
lngAnzahl = Val(Nz(Me!Turnus, 0))
strTyp = Right(Nz(Me!Turnus, "T"), 1)
Select Case strTyp
Case "T"
dteDatumNeu = DateAdd("D", lngAnzahl, Nz(Me!TDatum, Date))
Case "M"
dteDatumNeu = DateAdd("M", lngAnzahl, Nz(Me!TDatum, Date))
End Select

rs!TDatum = dteDatumNeu

' ****** VERGLEICH ob Datensatz vorhanden ****************
If DCount("Anl_Nr", "tbl_Revision_Anl", _
"Anl_Nr ='" & Me![Anl_Nr] & "' AND " & _
"Turnus ='" & Me![Turnus] & "' AND " & _
"Prüfart ='" & Me![Prüfart] & "' AND " & _
BuildCriteria("TDatum", dbDate, "=" & dteDatumNeu)) = 0 Then
' *********************************************
rs.Update
MsgBox "neuer Datensatz wurde hinzugefügt!", _
vbInformation, " Datensatz duplizieren !"
db.Close
Set rs = Nothing
Set db = Nothing
Else
MsgBox "neuer Datensatz ist schon vorhanden ! ", vbCritical, _
" Achtung !"
End If
DoCmd.Requery
End Sub

Gruß Klaus
 

Lesen sie die antworten

#1 Thomas Möller
01/09/2009 - 20:50 | Warnen spam
Hallo Klaus,

Klaus Hensler schrieb:
Habe mal wieder ein (kleineres) Problem, das vielleicht keines ist.
Ich habe einen Code aus einer anderen Datenbank (abgeàndert) wiederverwendet.
Er funktioniert auch bis zur Überprüfung
Dort habe ich den Laufzeitfehler 3464.



der Text Deiner Fehlermeldung lautet "Datentypen in Kriterienausdruck
unvertràglich."


Ohne Überprüfung der Anl_Nr, ist bei Vorhandensein des gleichen Datums der
Datensatz vorhanden
Weiß jemand wo der Fehler liegt? Danke im Voraus

Private Sub ausgeführt_AfterUpdate()

Dim db As Database
Dim rs As Recordset
Dim lngAnzahl As Long
Dim strTyp As String
Dim dteDatumNeu As Date
Set db = CurrentDb()
Set rs = db.OpenRecordset("tbl_Revision_Anl", dbOpenDynaset)
rs.AddNew
rs!Anl_Nr = Me![Anl_Nr]
rs!Turnus = Me![Turnus]
rs!Prüfart = Me![Prüfart]
lngAnzahl = Val(Nz(Me!Turnus, 0))
strTyp = Right(Nz(Me!Turnus, "T"), 1)
Select Case strTyp
Case "T"
dteDatumNeu = DateAdd("D", lngAnzahl, Nz(Me!TDatum, Date))
Case "M"
dteDatumNeu = DateAdd("M", lngAnzahl, Nz(Me!TDatum, Date))
End Select

rs!TDatum = dteDatumNeu

' ****** VERGLEICH ob Datensatz vorhanden ****************
If DCount("Anl_Nr", "tbl_Revision_Anl", _
"Anl_Nr ='" & Me![Anl_Nr] & "' AND " & _
"Turnus ='" & Me![Turnus] & "' AND " & _
"Prüfart ='" & Me![Prüfart] & "' AND " & _
BuildCriteria("TDatum", dbDate, "=" & dteDatumNeu)) = 0 Then
' *********************************************



Welche Datentypen haben denn die Felder "Anl_Nr", "Turnus" und
"Prüfart"? Handelt es sich dabei wirklich um Textfelder? Oder sind es
doch eher Zahlenfelder?


CU
Thomas

Homepage: www.Team-Moeller.de

Ähnliche fragen