Geen omschrijving
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 10KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. Option Strict Off
  2. Public Class 工作日誌與代辦事項
  3. ReadOnly ds As New DataSet
  4. Dim 新項次 As String
  5. Dim NUM1 As Integer
  6. Dim EDR As Integer = 0 : Dim ESTR As String
  7. Private Sub Set_工作日志清單()
  8. DataGridView1.DataSource = Nothing : ds.Clear()
  9. DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  10. DataGridView1.ColumnHeadersHeight = 25
  11. DataGridView1.AllowUserToAddRows = False
  12. DataGridView1.RowTemplate.Height = 35
  13. ConnOpen()
  14. SQL1 = "SELECT 客戶, 項次, 内容, 日期, 是否完成, 流水號, 使用者 FROM 工作日志
  15. WHERE (客戶 LIKE N'" & ComboBox1.Text & "') AND (使用者 LIKE N'" & ComboBox3.Text & "') ORDER BY 項次 DESC, 日期"
  16. CmdSet_For_DGV() : da.Fill(ds) : DataGridView1.DataSource = ds.Tables(0) : conn.Close() : Set_grid()
  17. End Sub
  18. Private Sub Set_grid()
  19. DataGridView1.Columns(0).Visible = False : DataGridView1.Columns(1).Width = 80 : DataGridView1.Columns(2).Width = 1555 : DataGridView1.Columns(3).Width = 150
  20. DataGridView1.Columns(4).Width = 80 : DataGridView1.Columns(5).Visible = False : DataGridView1.Columns(6).Visible = False
  21. DataGridView1.Columns(1).ReadOnly = True
  22. DataGridView1.EditMode = DataGridViewEditMode.EditOnEnter
  23. End Sub
  24. Private Sub ComboBox3下拉表單資料載入()
  25. conn.Close()
  26. ConnOpen()
  27. SQL1 = "SELECT 姓名 FROM 使用者權限管理表"
  28. CmdSet_For_dr()
  29. ComboBox3.Items.Clear()
  30. While (dr.Read())
  31. ComboBox3.Items.Add(dr("姓名"))
  32. End While
  33. conn.Close()
  34. End Sub
  35. Private Sub ComboBox1下拉表單資料載入()
  36. conn.Close()
  37. ConnOpen()
  38. SQL1 = "SELECT 客户 FROM 客戶清單"
  39. CmdSet_For_dr()
  40. ComboBox1.Items.Clear()
  41. While (dr.Read())
  42. ComboBox1.Items.Add(dr("客户"))
  43. End While
  44. conn.Close()
  45. End Sub
  46. Private Sub 工作日志_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  47. Me.MdiParent = GCM_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  48. DateTimePicker2.Visible = False
  49. ComboBox3下拉表單資料載入() : ComboBox1下拉表單資料載入()
  50. End Sub
  51. Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove
  52. timeNow = 0
  53. GCM_ERP_SYS.Timer1.Enabled = False
  54. GCM_ERP_SYS.Timer1.Enabled = True
  55. End Sub
  56. Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress
  57. timeNow = 0
  58. GCM_ERP_SYS.Timer1.Enabled = False
  59. GCM_ERP_SYS.Timer1.Enabled = True
  60. End Sub
  61. Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
  62. If e.RowIndex = -1 Then : Else
  63. TextBox4.Text = DataGridView1.Rows(e.RowIndex).Cells("流水號").Value
  64. End If
  65. End Sub
  66. Private Sub DataGridView1_CellEndEdit(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
  67. Dim EU As String
  68. EU = DataGridView1.Rows(e.RowIndex).Cells("日期").Value.ToString
  69. If EU = "" Then
  70. Else
  71. DateTimePicker2.Text = EU
  72. DataGridView1.Rows(e.RowIndex).Cells("日期").Value = Format(DateTimePicker2.Value, "yyyy/MM/dd")
  73. End If
  74. End Sub
  75. '----------------------日期分界线,到下一天时出现一条显眼横线-------------------------------------------------------------------------
  76. Private Sub DataGridView1_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles DataGridView1.RowPostPaint
  77. Dim linePen As New Pen(Color.Blue, 2)
  78. If e.RowIndex = DataGridView1.Rows.Count - 1 Then
  79. Exit Sub
  80. Else
  81. If DataGridView1(3, e.RowIndex).Value.ToString <> DataGridView1(3, e.RowIndex + 1).Value.ToString Then
  82. Dim startX As Integer = IIf(DataGridView1.RowHeadersVisible, DataGridView1.RowHeadersWidth, 0)
  83. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  84. Dim endX As Integer = startX + DataGridView1.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - DataGridView1.HorizontalScrollingOffset
  85. e.Graphics.DrawLine(linePen, startX, startY, endX, startY)
  86. Exit Sub
  87. End If
  88. End If
  89. End Sub
  90. Private Sub 存檔()
  91. For i As Integer = 0 To DataGridView1.Rows.Count - 1
  92. ConnOpen()
  93. SQL1 = "UPDATE 工作日志 SET 内容 = N'" & DataGridView1.Rows(i).Cells("内容").Value & "', 日期 = N'" & DataGridView1.Rows(i).Cells("日期").Value &
  94. "', 是否完成 = N'" & DataGridView1.Rows(i).Cells("是否完成").Value & "'
  95. WHERE (流水號 LIKE '" & DataGridView1.Rows(i).Cells("流水號").Value & "')"
  96. cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  97. Next
  98. End Sub
  99. Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
  100. If ComboBox1.Text = "" Or ComboBox3.Text = "" Then
  101. MsgBox("沒有選擇資料")
  102. Else
  103. 存檔()
  104. '----------------------自动生成流水号-------------------------------------------------------------------------
  105. ConnOpen()
  106. SQL1 = "SELECT TOP (1) 流水號 FROM 工作日志 ORDER BY 流水號 DESC"
  107. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  108. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("流水號").ToString, 8)) : Else : EDR = 0 : End If
  109. conn.Close()
  110. EDR += 1
  111. If EDR < 10 Then : ESTR = "PG" & "0000000" & EDR
  112. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "PG" & "000000" & EDR
  113. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "PG" & "00000" & EDR
  114. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "PG" & "0000" & EDR
  115. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "PG" & "000" & EDR
  116. ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "PG" & "00" & EDR
  117. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "PG" & "0" & EDR
  118. ElseIf EDR > 9999999 Then : ESTR = "PG" & EDR
  119. End If
  120. '----------------------自动计算项次的数量并修改--------------------------------------------------------------------
  121. ConnOpen()
  122. SQL1 = "SELECT TOP(1) 項次 FROM 工作日志 WHERE 客戶 LIKE '" & ComboBox1.Text & "' AND 使用者 LIKE '" & ComboBox3.Text & "' ORDER BY 項次 DESC"
  123. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  124. If dr.Read() Then : 新項次 = dr("項次") : Else : 新項次 = "0000" : End If : conn.Close()
  125. NUM1 = Double.Parse(新項次) + 1
  126. If NUM1 < 10 Then : 新項次 = "000" & NUM1
  127. ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = "00" & NUM1
  128. ElseIf NUM1 > 99 And NUM1 < 1000 Then : 新項次 = "0" & NUM1
  129. ElseIf NUM1 > 999 Then : 新項次 = NUM1
  130. End If
  131. '----------------------新增一笔资料------------------------------------------------------------------------------
  132. ConnOpen()
  133. SQL1 = "INSERT INTO 工作日志 (客戶, 内容, 日期, 是否完成, 流水號, 項次, 使用者) " &
  134. "VALUES (N'" & ComboBox1.Text & "',N'',N'',N'0',N'" & ESTR & "',N'" & 新項次 & "',N'" & ComboBox3.Text & "')"
  135. CmdSet_For_dr()
  136. Set_工作日志清單()
  137. End If
  138. End Sub
  139. Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
  140. Set_工作日志清單()
  141. End Sub
  142. Private Sub ComboBox3_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox3.SelectedIndexChanged
  143. Set_工作日志清單()
  144. End Sub
  145. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
  146. 存檔() : MsgBox("存檔完成")
  147. End Sub
  148. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  149. If TextBox4.Text = "" Then
  150. MsgBox("未選擇需要刪除的資料。")
  151. Else
  152. 存檔()
  153. ConnOpen()
  154. SQL1 = "DELETE FROM 工作日志 WHERE (流水號 LIKE '" & TextBox4.Text & "')"
  155. cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : conn.Close()
  156. Set_工作日志清單()
  157. Dim NUM1 As Integer = DataGridView1.Rows.Count + 1
  158. For i As Integer = 0 To DataGridView1.Rows.Count - 1
  159. NUM1 -= 1
  160. If NUM1 < 10 Then : 新項次 = "000" & NUM1
  161. ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = "00" & NUM1
  162. ElseIf NUM1 > 99 And NUM1 < 1000 Then : 新項次 = "0" & NUM1
  163. ElseIf NUM1 > 999 Then : 新項次 = NUM1
  164. End If
  165. ConnOpen()
  166. SQL1 = "UPDATE 工作日志 SET 項次 = N'" & 新項次 & "' WHERE (流水號 LIKE '" & DataGridView1.Rows(i).Cells("流水號").Value & "')"
  167. cmd.CommandText = SQL1 : cmd.ExecuteNonQuery()
  168. conn.Close()
  169. Next
  170. Set_工作日志清單() : MsgBox("刪除完成。")
  171. End If
  172. End Sub
  173. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
  174. 存檔() : Set_工作日志清單()
  175. Dim NUM1 As Integer = DataGridView1.Rows.Count + 1
  176. For i As Integer = 0 To DataGridView1.Rows.Count - 1
  177. NUM1 -= 1
  178. If NUM1 < 10 Then : 新項次 = "000" & NUM1
  179. ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = "00" & NUM1
  180. ElseIf NUM1 > 99 And NUM1 < 1000 Then : 新項次 = "0" & NUM1
  181. ElseIf NUM1 > 999 Then : 新項次 = NUM1
  182. End If
  183. ConnOpen()
  184. SQL1 = "UPDATE 工作日志 SET 項次 = N'" & 新項次 & "' WHERE (流水號 LIKE '" & DataGridView1.Rows(i).Cells("流水號").Value & "')"
  185. cmd.CommandText = SQL1 : cmd.ExecuteNonQuery()
  186. conn.Close()
  187. Next
  188. Set_工作日志清單()
  189. End Sub
  190. End Class