Нема описа
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 6.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. Option Strict Off
  2. Imports System.Data.SqlClient
  3. Public Class 考勤管理_依人員
  4. Dim conn As New SqlConnection
  5. Dim da As New SqlDataAdapter
  6. Dim cmd As New SqlCommand
  7. Dim ds As New DataSet : Dim ds1 As New DataSet
  8. Dim dr As SqlDataReader
  9. Dim STR1 As String
  10. Dim dt As DateTime
  11. Dim DTP As String
  12. Dim aa As MsgBoxResult
  13. Private Sub Set_人員清單()
  14. DataGridView2.DataSource = Nothing : ds1.Clear()
  15. DataGridView2.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  16. DataGridView2.ColumnHeadersHeight = 25
  17. DataGridView2.AllowUserToAddRows = False
  18. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  19. If PA = "" Then
  20. SQL1 = "SELECT 資料流水號 AS DataID, 序號, 姓名 FROM 人員名單 ORDER BY DataID"
  21. Else
  22. SQL1 = "SELECT 資料流水號 AS DataID, 序號, 姓名 FROM 人員名單 WHERE 姓名 LIKE '%" & PA & "%' ORDER BY DataID"
  23. End If
  24. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds1) : DataGridView2.DataSource = ds1.Tables(0) : conn.Close()
  25. Set_grid1()
  26. End Sub
  27. Private Sub Set_grid1()
  28. DataGridView2.Columns(0).Visible = False : DataGridView2.Columns(1).Width = 70 : DataGridView2.Columns(2).Width = 80
  29. End Sub
  30. Private Sub Set_清單()
  31. DataGridView1.DataSource = Nothing : ds.Clear()
  32. DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  33. DataGridView1.ColumnHeadersHeight = 25
  34. DataGridView1.AllowUserToAddRows = False
  35. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  36. SQL1 = "SELECT 資料流水號, DataID, 員工名稱, 出勤日期, 星期, 第1班上班, 第1班下班, 第1班合計, 第2班上班, 第2班下班, 第2班合計, 第3班上班, 第3班下班, 第3班合計, " &
  37. "第1班合計 + 第2班合計 + 第3班合計 AS 上班時長, 第1班合計 + 第2班合計 AS 應上班 FROM 考勤資料庫 " &
  38. "WHERE DataID LIKE '" & TextBox1.Text & "' AND (出勤日期 LIKE '" & ComboBox3.Text & "-" & ComboBox1.Text & "%') ORDER BY 出勤日期"
  39. 列印用SQL = SQL1
  40. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds) : DataGridView1.DataSource = ds.Tables(0) : conn.Close()
  41. Set_grid()
  42. End Sub
  43. Private Sub Set_grid()
  44. DataGridView1.Columns(0).Visible = False : DataGridView1.Columns(1).Visible = False : DataGridView1.Columns(2).Visible = False
  45. DataGridView1.Columns(3).Width = 80 : DataGridView1.Columns(4).Width = 60 : DataGridView1.Columns(5).Width = 70 : DataGridView1.Columns(6).Width = 70
  46. DataGridView1.Columns(7).Width = 70 : DataGridView1.Columns(8).Width = 70 : DataGridView1.Columns(9).Width = 80 : DataGridView1.Columns(10).Width = 80
  47. DataGridView1.Columns(11).Width = 80 : DataGridView1.Columns(12).Width = 80 : DataGridView1.Columns(13).Width = 80 : DataGridView1.Columns(14).Width = 80
  48. DataGridView1.Columns(15).Width = 80 : Set_自動彙總1()
  49. End Sub
  50. Private Sub Set_自動彙總1()
  51. Dim 加總(4) As Double : Dim EU(11) As Double
  52. For i As Integer = 0 To DataGridView1.Rows.Count - 1
  53. 加總(0) += DataGridView1.Rows(i).Cells("第1班合計").Value : 加總(1) += DataGridView1.Rows(i).Cells("第2班合計").Value : 加總(2) += DataGridView1.Rows(i).Cells("第3班合計").Value
  54. 加總(3) += DataGridView1.Rows(i).Cells("上班時長").Value : 加總(4) += DataGridView1.Rows(i).Cells("應上班").Value
  55. Next i
  56. TextBox3.Text = Format(Val(加總(0)), "#,##0.0") : TextBox4.Text = Format(Val(加總(1)), "#,##0.0") : TextBox5.Text = Format(Val(加總(2)), "#,##0.0")
  57. TextBox6.Text = Format(Val(加總(3)), "#,##0.0") : TextBox7.Text = Format(Val(加總(4)), "#,##0.0")
  58. End Sub
  59. Private Sub 考勤管理_依人員_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  60. Me.MdiParent = 楠晉鞋業AAS : Me.AutoScroll = True
  61. Set_人員清單()
  62. TextBox1.Visible = False
  63. ComboBox3.Text = Year(Today) : ComboBox1.SelectedIndex = Month(Today) - 1
  64. End Sub
  65. Private Sub DataGridView2_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView2.CellClick
  66. TextBox1.Text = DataGridView2.Rows(e.RowIndex).Cells("DataID").Value.ToString
  67. TextBox2.Text = DataGridView2.Rows(e.RowIndex).Cells("姓名").Value.ToString
  68. Set_清單()
  69. End Sub
  70. Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
  71. PA = InputBox("請輸入要查詢的人員姓名") : Set_人員清單() : PA = ""
  72. End Sub
  73. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  74. DataGridView1.DataSource = Nothing : ds.Clear()
  75. DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  76. DataGridView1.ColumnHeadersHeight = 25
  77. DataGridView1.AllowUserToAddRows = False
  78. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  79. SQL1 = "SELECT 資料流水號, DataID, 員工名稱, 出勤日期, 星期, 第1班上班, 第1班下班, 第1班合計, 第2班上班, 第2班下班, 第2班合計, 第3班上班, 第3班下班, 第3班合計, " &
  80. "第1班合計 + 第2班合計 + 第3班合計 AS 上班時長, 第1班合計 + 第2班合計 AS 應上班 FROM 考勤資料庫 " &
  81. "WHERE DataID LIKE '" & TextBox1.Text & "' ORDER BY 出勤日期"
  82. 列印用SQL = SQL1
  83. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds) : DataGridView1.DataSource = ds.Tables(0) : conn.Close()
  84. Set_grid()
  85. End Sub
  86. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
  87. 導出成EXCEL.Show()
  88. End Sub
  89. End Class