access 2007 błąd procedury

0

Witam proszę o pomoc. Cały czas otrzymuję informację "Pracownik o podanym identyfikatorze pracuje już przy innym zleceniu." Nie jest to prawda pole CzasZakonczenia_op nie jest puste. Proszę o pomoc.

Set rst1 = db.OpenRecordset("tbl_RZ_Zlecenia", dbOpenDynaset)
Set rst2 = db.OpenRecordset("tbl_RZ_OperacjeZlecen", dbOpenDynaset)

If IsNull(Me![Kod]) Or (Me![Kod] = " ") Then GoTo Exit_Polecenie5_Click

rst1.FindFirst ("[IDZlecenia] = " & Forms![frmZleceniaLista]![frmZleceniaLista podformularz]![IDZlecenia])
rst2.FindFirst ("CStr([IDPracownika_p]) = '" & Me![Kod] & " ' And CStr(IsNull([CzasZakonczenia_op]))")

If rst2.NoMatch Then
If IsNull(rst1![DataPrzyjZam]) Or (rst1![Przyjmujacy] = 0) Then
rst1.Edit
rst1![DataPrzyjZam] = Now()
rst1![Przyjmujacy] = Me![Kod]
rst1![Status] = 1
rst2.AddNew
rst2![IDZlecenia] = rst1![IDZlecenia]
rst2![CzasRozpoczecia_op] = Now()
rst2![IDPracownika_p] = Me![Kod]
rst1.Update
rst2.Update
DoCmd.Close
Forms!frmZleceniaLista![frmZleceniaLista podformularz].Requery

Else
rst2.AddNew
rst2![IDZlecenia] = rst1![IDZlecenia]
rst2![CzasRozpoczecia_op] = Now()
rst2![IDPracownika_p] = Me![Kod]
rst2.Update
rst1.Edit
rst1![Status] = 1
rst1.Update
DoCmd.Close
Forms!frmZleceniaLista![frmZleceniaLista podformularz].Requery

End If
Else
MsgBox "Pracownik o podanym identyfikatorze pracuje już przy innym zleceniu.", vbInformation
End If

0

Użyj znacznika

0

chyba problem jest w kodzie

 If rst2.NoMatch Then 

gdy pomijam tą linie zaczyn działać, ale nie mam pojęcia co jest złego w składni?

0

Problem jest linię wcześniej.

0

ale co jest nie tak w składni?

rst2.FindFirst ("CStr([IDPracownika_p]) = '" & Me![Kod] & " ' And CStr( IsNull ([CzasZakonczenia_op]))")
0

Powinna być:

rst2.FindFirst ("CStr([IDPracownika_p]) = '" & Me![Kod] & " ' And [CzasZakonczenia_op] IS NULL")
0

Dzięki, działa super :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1