No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

人事考勤打卡.vb 3.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. Option Strict Off
  2. Public Class 人事考勤打卡
  3. Dim DTP As String
  4. Private Sub 考勤打卡_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  5. FormBorderStyle = FormBorderStyle.SizableToolWindow : ControlBox = False
  6. 年_lb.Text = Year(Today) : 月_lb.Text = Month(Today) : Label5.Text = Strings.Right(Format(Today(), "yyyy/MM/dd"), 2) : Label7.Text = Format(TimeOfDay(), "HH:mm:ss")
  7. Dim 判斷請假 As String = ""
  8. ConnOpen()
  9. SQL1 = "SELECT 請假類別 FROM 人事考勤明細表 WHERE 員工編號 LIKE '" & 員工編號 & "' AND 日期 LIKE '" & Today() & "'"
  10. CmdSet_For_dr()
  11. If dr.Read() Then : 判斷請假 = dr("請假類別").ToString : End If : conn.Close()
  12. If Strings.Right(判斷請假, 2) = "一天" Then : 打卡_bt.Enabled = False : 打卡_bt.Text = "本日請假中,無法打卡" : End If
  13. ConnOpen()
  14. SQL1 = "SELECT 上午上班, 下午下班 FROM 人事考勤明細表 WHERE 員工編號 LIKE '" & 員工編號 & "' AND 日期 LIKE '" & Today() & "'"
  15. CmdSet_For_dr()
  16. If dr.Read() Then : Label10.Text = dr("上午上班").ToString : Label12.Text = dr("下午下班").ToString : End If : conn.Close()
  17. If Label10.Text = "XXX" Or Label10.Text = "" Then : Label10.Text = "未打卡" : End If : If Label12.Text = "XXX" Or Label12.Text = "" Then : Label12.Text = "未打卡" : End If
  18. If Val(Strings.Left(Label7.Text, 2)) < 12 Then : Label14.Text = "上午上班" : Else : Label14.Text = "下午下班" : End If
  19. If 員工編號 = "" Then : 打卡_bt.Text = "該帳號持有人無需打卡" : 打卡_bt.Enabled = False : End If
  20. End Sub
  21. Dim 有無資料判別 As String = ""
  22. Private Sub Set_日期格式轉換()
  23. DTP = Format(Today(), "yyyy/MM/dd")
  24. End Sub
  25. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 打卡_bt.Click
  26. Set_日期格式轉換()
  27. ConnOpen()
  28. SQL1 = "SELECT 員工編號 FROM 人事考勤明細表 WHERE 員工編號 LIKE '" & 員工編號 & "' AND 日期 LIKE '" & Today() & "'"
  29. CmdSet_For_dr()
  30. If dr.Read() Then : 有無資料判別 = dr("員工編號").ToString : End If : conn.Close()
  31. If 有無資料判別 = "" And Label14.Text = "上午上班" Then
  32. ConnOpen()
  33. SQL1 = "INSERT INTO 人事考勤明細表 (員工編號, 日期, 請假類別, 上午上班, 下午下班) SELECT N'" & 員工編號 & "',N'" & DTP & "',N'','" & Format(TimeOfDay(), "HH:mm:ss") & "',''"
  34. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  35. ElseIf 有無資料判別 = "" And Label14.Text = "下午下班" Then
  36. ConnOpen()
  37. SQL1 = "INSERT INTO 人事考勤明細表 (員工編號, 日期, 請假類別, 上午上班, 下午下班) SELECT N'" & 員工編號 & "',N'" & DTP & "',N'','','" & Format(TimeOfDay(), "HH:mm:ss") & "'"
  38. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  39. ElseIf 有無資料判別 <> "" And Label14.Text = "上午上班" Then
  40. ConnOpen()
  41. SQL1 = "UPDATE 人事考勤明細表 SET 上午上班 = '" & Format(TimeOfDay(), "HH:mm:ss") & "' WHERE (員工編號 = '" & 員工編號 & "') AND (日期 LIKE '" & Today() & "')"
  42. cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  43. ElseIf 有無資料判別 <> "" And Label14.Text = "下午下班" Then
  44. ConnOpen()
  45. SQL1 = "UPDATE 人事考勤明細表 SET 下午下班 = '" & Format(TimeOfDay(), "HH:mm:ss") & "' WHERE (員工編號 = '" & 員工編號 & "') AND (日期 LIKE '" & Today() & "')"
  46. cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  47. End If
  48. MsgBox("打卡完成")
  49. Me.Close()
  50. End Sub
  51. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 關閉_bt.Click
  52. Me.Close()
  53. End Sub
  54. End Class