nått sånt här då?
check = DSum("PAntal", "Tbl_Perskontroll", "Datum =#" & Me.txtDate & "# AND Post_ID=" & Me.cboPosit)[b] + 0[/b]
if check = 0 then
5 svar · 239 visningar · startad av Jester
Hej
Har tidigare fått hjälp med denna funktion och den fungerar utmärkt. Nu tänkte jag vara lite kreativ själv och lägga till lite kod som varnar om man försöker dubblera innehållet. Dock fungerar den inte, den säger körfel 94 och att null är ogiltigt. Deklarerar jag den som Variant så kommer Msg boxen upp oavsett ingångsvärden.
Understrykningen markerar den nya koden.
Private Sub cmdNyInmatning_Click()
Dim startTime As Variant
Dim endTime As Variant
[U]Dim check As Integer[/U]
check = 0
startTime = DLookup("Open", "Tbl_Positioner", "Posit_ID=" & Me.cboPosit)
endTime = DLookup("Close", "Tbl_Positioner", "Posit_ID=" & Me.cboPosit)
[U]check = DSum("PAntal", "Tbl_Perskontroll", "Datum =#" & Me.txtDate & "# AND Post_ID=" & Me.cboPosit)[/U]
[U]If IsNull(check) Then[/U]
CurrentProject.Connection.Execute "INSERT INTO Tbl_PersKontroll (Datum, Post_ID, Tim) " & _
"SELECT #" & Me.txtDate & "#, '" & Replace(Me.cboPosit, "'", "''") & "', Timmar FROM tbl_timmar " & _
"WHERE Timmar BETWEEN #" & startTime & "# AND #" & endTime & "#", , adExecuteNoRecords
DoCmd.OpenForm "Frm_NyDagPersonal", acNormal, , "Datum = #" & Me.txtDate & "# AND Post_ID = " & Me.cboPosit, acFormPropertySettings
Else
MsgBox "Anteckningen är gjord.", vbOKOnly, "Anteckningen finns redan"
End If
nått sånt här då?
check = DSum("PAntal", "Tbl_Perskontroll", "Datum =#" & Me.txtDate & "# AND Post_ID=" & Me.cboPosit)[b] + 0[/b]
if check = 0 then
Nä tyvärr...samma fel och i felsökningen så är just DSum raden markerad...
Tja... DSum returnerar null om inga poster matchar kriteriet. Att tilldela en integer värdet null är väl inte tillåtet.
Testa såhär istället:
If IsNull(DSum("PAntal", "Tbl_Perskontroll", "Datum =#" & Me.txtDate & "# AND Post_ID=" & Me.cboPosit)) Then
Funkar ju kanon!!
Du är en klipppa!!