Private Sub Savelog()
Call LogIn
If login_am = False And logout_am = False And login_pm = False And logout_pm = False Then
With LogInRS
.AddNew
!EM_ID = txtEmployeeID.Text
!DATE_LOG = lblDate.Caption
!IN_AM = lblTime.Caption
!OUT_AM = "00:00:00"
!IN_PM = "00:00:00"
!OUT_PM = "00:00:00"
!TOTAL_AM = "00:00:00"
!TOTAL_PM = "00:00:00"
!GRAND_TOTAL = "00:00:00"
.Update
End With
MsgBox "Employees ID: " & txtEmployeeID.Text & " has been successfully LOG IN!", vbInformation
ElseIf login_am = True And logout_am = False And login_pm = False And logout_pm = False Then
LogInRS.Find "LOG_ID='" + lblLogID.Caption + "'", 0, 1
With LogInRS
!OUT_AM = lblTime.Caption
!TOTAL_AM = Result
!GRAND_TOTAL = Result
.Update
End With
MsgBox "Employees ID: " & Trim(txtEmployeeID.Text) & " has been successfully LOG OUT!", vbInformation
ElseIf login_am = True And logout_am = True And login_pm = False And logout_pm = False Then
LogInRS.Find "LOG_ID='" + lblLogID.Caption + "'", 0, 1
With LogInRS
!IN_PM = lblTime.Caption
.Update
End With
MsgBox "Employees ID: " & Trim(txtEmployeeID.Text) & " has been successfully LOG IN!", vbInformation
ElseIf login_am = True And logout_am = True And login_pm = True And logout_pm = False Then
LogInRS.Find "LOG_ID='" + lblLogID.Caption + "'", 0, 1
With LogInRS
!OUT_PM = lblTime.Caption
!TOTAL_PM = Result
!GRAND_TOTAL = Result
.Update
End With
With LogInRS
tt1 = !TOTAL_AM
tt2 = !TOTAL_PM
End With
COMPUTE_TOTAL = True
Call computetime
With LogInRS
!GRAND_TOTAL = Result
.Update
End With
MsgBox "Employees ID: " & Trim(txtEmployeeID.Text) & " has been successfully LOG OUT!", vbInformation
ElseIf login_am = True And logout_am = True And login_pm = True And logout_pm = True Then
MsgBox "Employees ID: " & Trim(txtEmployeeID.Text) & " has already logged completely for the day!", vbInformation
End If
COMPUTE_TOTAL = False
Call UnloadOject
End Sub
'''This is Correct
Public Sub LogIn()
Set LogInRS = New ADODB.Recordset
With LogInRS
.ActiveConnection = conn
.CursorType = adOpenStatic
.LockType = adLockOptimistic
.Open "SELECT * FROM TIMELOG"
End With
End Sub
ASKER
Visual Basic is Microsoft’s event-driven programming language and integrated development environment (IDE) for its Component Object Model (COM) programming model. It is relatively easy to learn and use because of its graphical development features and BASIC heritage. It has been replaced with VB.NET, and is very similar to VBA (Visual Basic for Applications), the programming language for the Microsoft Office product line.
TRUSTED BY
ASKER
Dim sql, RECTIME As String
On Error GoTo Errorhandler
sql = ""
RECTIME = ""
Result = ""
Call LogIn
LogInRS.Close
sql = "SELECT * FROM TIMELOG WHERE EM_ID='" & txtEmployeeID.Text & "'and DATE_LOG like'" & lblDate.Caption & "'"
LogInRS.Open sql, conn, adOpenDynamic, adLockOptimistic
If Not LogInRS("IN_AM").Value = "" Then
login_am = True
With LogInRS
t1 = !IN_AM
lblLogID.Caption = !LOG_ID
End With
Call computetime
If Not LogInRS("OUT_AM").Value = "00:00:00" Then
logout_am = True
With LogInRS
lblLogID.Caption = !LOG_ID
End With
If Not LogInRS("IN_PM").Value = "00:00:00" Then
login_pm = True
With LogInRS
lblLogID.Caption = !LOG_ID
t1 = !IN_PM
End With
Call computetime
If Not LogInRS("OUT_PM").Value = "00:00:00" Then
logout_pm = True
With LogInRS
lblLogID.Caption = !LOG_ID
End With
Else
logout_pm = False
End If
Else
login_pm = False
End If
Else
logout_am = False
End If
Else
login_am = False
End If
Call Savelog
Exit Sub
Errorhandler:
If Err.Number = 3021 Then
login_am = False
Call Savelog
Else
Resume Next
End If
End Sub