Predmet:Re: Baza za kontrolu pristupa!
Uf ja ovo bio zaboravio.
Izvinjavam se.
Evo kod:
PreuzmiIzvorni kôd (Visual Basic):Function Pokreni()
KUpis 1
End Function
Function KUpis(UserId As Integer)
Dim SQL(2) As String
Dim Rs(2) As DAO.Recordset
Dim Db As DAO.Database
Dim Dat(3) As Date
Dim Id(2) As Integer
Dim DatStr(3) As String
Dim Upisani As String
Dim Zagrada As String
Call Tabela
Set Db = CurrentDb
SQL(0) = "SELECT * FROM UlazIzlaz"
Set Rs(0) = Db.OpenRecordset(SQL(0))
SQL(1) = "SELECT UserId, CheckTime FROM CHECKINOUT WHERE UserId=" & UserId & " AND CheckType='i' ORDER BY CheckTime"
Set Rs(1) = Db.OpenRecordset(SQL(1))
Do While Not Rs(1).EOF
Dat(1) = Rs(1)!CheckTime
Id(1) = Rs(1)!UserId
If Err.Number = 3021 Then
Id(2) = 0
Err.Clear
On Error GoTo 0
End If
If Dat(0) < Dat(1) Then
Dat(0) = Dat(1) + TimeValue("00:05:00")
Dat(3) = Dat(1) + 1
DatStr(1) = "#" & Format(Dat(1), "mm-dd-yy HH:mm") & "#"
DatStr(3) = "#" & Format(Dat(3), "mm-dd-yy HH:mm") & "#"
SQL(2) = "SELECT UserId, CheckTime FROM CHECKINOUT WHERE CheckType='o' " & Upisani & Zagrada & " AND (CheckTime Between " & DatStr(1) & " AND " & DatStr(3) & ") ORDER BY CheckTime"
Set Rs(2) = Db.OpenRecordset(SQL(2))
Forms!F.T = SQL(2)
Rs(0).AddNew
If Rs(2).RecordCount > 0 Then
Dat(2) = Rs(2)!CheckTime
DatStr(0) = "#" & Format(Dat(2), "mm-dd-yy HH:mm:ss") & "#"
If Upisani <> "" Then
Upisani = Upisani & "," & DatStr(0)
Else
Upisani = "and CheckTime Not in (" & DatStr(0)
Zagrada = ")"
End If
Rs(0)!Izlaz = Dat(2)
Rs(2).Close
End If
Rs(0)!UserId = Id(1)
Rs(0)!Ulaz = Dat(1)
Rs(0).Update
End If
Rs(1).MoveNext
Loop
Rs(1).Close
Rs(0).Close
Set Db = Nothing
End Function
Function Tabela()
Dim Db As DAO.Database
Dim tdf As DAO.TableDef
Set Db = CurrentDb()
For Each tdf In Db.TableDefs
If tdf.Name = "UlazIzlaz" Then
DoCmd.DeleteObject acTable, tdf.Name
Exit For
End If
Next tdf
Db.Execute "CREATE TABLE UlazIzlaz " _
& "(id counter, UserID Number,ulaz DateTime,izlaz DateTime);"
End Function
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.