暂无描述
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

工作日誌與代辦事項.vb 12KB

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