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 16KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  1. Option Strict Off
  2. Public Class 系統開發功能點檢表
  3. Private ReadOnly ds As DataSet = New DataSet
  4. Private ReadOnly ds1 As DataSet = New DataSet
  5. Private ReadOnly ds2 As DataSet = New DataSet
  6. Private Sub DGV1讀取前設定()
  7. DataGridView1.DataSource = Nothing : ds.Clear()
  8. DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  9. DataGridView1.ColumnHeadersHeight = 50
  10. DataGridView1.AllowUserToAddRows = False
  11. DataGridView1.RowTemplate.Height = 35
  12. ConnOpen()
  13. End Sub
  14. Private Sub DGV1讀取後設定()
  15. CmdSet_For_DGV() : da.Fill(ds) : DataGridView1.DataSource = ds.Tables(0) : conn.Close() : Set_grid()
  16. End Sub
  17. Private Sub 讀取專案主清單()
  18. DGV1讀取前設定()
  19. SQL1 = "SELECT 系統開發功能點檢表.項一, 系統開發功能點檢表.項二, 系統開發功能點檢表.項三, 系統開發功能點檢表.項一 AS 項1, 系統開發功能點檢表.項二 AS 項2, 系統開發功能點檢表.項三 AS 項3,
  20. 系統開發功能點檢表.排序, 系統開發功能點檢表.排序1, 系統開發點檢表基本資料.內容, 系統開發點檢表基本資料.狀態, 系統開發功能點檢表.是否完成, 系統開發功能點檢表.預定日期,
  21. 系統開發功能點檢表.開發負責人員, 系統開發功能點檢表.完成日期, 系統開發功能點檢表.備註
  22. FROM 系統開發功能點檢表 LEFT OUTER JOIN 系統開發點檢表基本資料 ON 系統開發功能點檢表.項一 = 系統開發點檢表基本資料.項一 AND 系統開發功能點檢表.項二 = 系統開發點檢表基本資料.項二 AND
  23. 系統開發功能點檢表.項三 = 系統開發點檢表基本資料.項三
  24. WHERE (系統開發功能點檢表.客戶 LIKE N'" & ComboBox1.Text & "')
  25. ORDER BY 系統開發功能點檢表.排序, 系統開發功能點檢表.排序1, 系統開發功能點檢表.項一, 系統開發功能點檢表.項二, 系統開發功能點檢表.項三"
  26. DGV1讀取後設定()
  27. End Sub
  28. Private Sub Set_grid()
  29. DataGridView1.Columns(0).Visible = False : DataGridView1.Columns(1).Visible = False : DataGridView1.Columns(2).Visible = False : DataGridView1.Columns(3).Width = 45
  30. DataGridView1.Columns(4).Width = 55 : DataGridView1.Columns(5).Width = 70 : DataGridView1.Columns(6).Width = 35 : DataGridView1.Columns(7).Width = 45 : DataGridView1.Columns(8).Width = 300
  31. DataGridView1.Columns(9).Width = 40 : DataGridView1.Columns(10).Width = 40 : DataGridView1.Columns(11).Width = 85 : DataGridView1.Columns(12).Width = 76 : DataGridView1.Columns(13).Width = 85
  32. DataGridView1.Columns(14).Width = 415
  33. DataGridView1.EditMode = DataGridViewEditMode.EditOnEnter
  34. DataGridView1.Columns(3).ReadOnly = True : DataGridView1.Columns(4).ReadOnly = True : DataGridView1.Columns(5).ReadOnly = True
  35. DataGridView1.Columns(8).ReadOnly = True : DataGridView1.Columns(9).ReadOnly = True
  36. For i As Integer = 0 To DataGridView1.Rows.Count - 1
  37. If Strings.Right(DataGridView1.Rows(i).Cells("項2").Value, 2) = "00" Then
  38. DataGridView1.Rows(i).Cells("項2").Value = ""
  39. End If
  40. If Strings.Right(DataGridView1.Rows(i).Cells("項3").Value, 2) = "00" Then
  41. DataGridView1.Rows(i).Cells("項3").Value = ""
  42. End If
  43. Next i
  44. End Sub
  45. Private Sub Set_清單2()
  46. DataGridView2.DataSource = Nothing : ds1.Clear()
  47. DataGridView2.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  48. DataGridView2.ColumnHeadersHeight = 25
  49. DataGridView2.AllowUserToAddRows = False
  50. DataGridView2.RowTemplate.Height = 35
  51. ConnOpen()
  52. SQL1 = "SELECT 系統開發點檢表基本資料.項一, 系統開發點檢表基本資料.項二, 系統開發點檢表基本資料.項三, 系統開發點檢表基本資料.項一 AS [項1], 系統開發點檢表基本資料.項二 AS [項2],
  53. 系統開發點檢表基本資料.項三 AS [項3], 系統開發點檢表基本資料.內容, 系統開發點檢表基本資料.狀態, GCM選擇按鈕.選擇
  54. FROM 系統開發點檢表基本資料 LEFT OUTER JOIN GCM選擇按鈕 ON 系統開發點檢表基本資料.內容 = GCM選擇按鈕.對應
  55. WHERE (系統開發點檢表基本資料.項一 LIKE '" & TextBox1.Text & "')
  56. ORDER BY 系統開發點檢表基本資料.項一, 系統開發點檢表基本資料.項二, 系統開發點檢表基本資料.項三"
  57. CmdSet_For_DGV() : da.Fill(ds1) : DataGridView2.DataSource = ds1.Tables(0) : conn.Close() : Set_grid1()
  58. End Sub
  59. Private Sub Set_grid1()
  60. DataGridView2.Columns(0).Visible = False : DataGridView2.Columns(1).Visible = False : DataGridView2.Columns(2).Visible = False : DataGridView2.Columns(3).Width = 60
  61. DataGridView2.Columns(4).Width = 60 : DataGridView2.Columns(5).Width = 60 : DataGridView2.Columns(6).Width = 250 : DataGridView2.Columns(7).Width = 60 : DataGridView2.Columns(8).Width = 50
  62. For i As Integer = 0 To DataGridView2.Rows.Count - 1
  63. DataGridView2.Rows(i).Cells("選擇").Value = False
  64. If Strings.Right(DataGridView2.Rows(i).Cells("項2").Value, 2) = "00" Then
  65. DataGridView2.Rows(i).Cells("項2").Value = ""
  66. End If
  67. If Strings.Right(DataGridView2.Rows(i).Cells("項3").Value, 2) = "00" Then
  68. DataGridView2.Rows(i).Cells("項3").Value = ""
  69. End If
  70. Next i
  71. End Sub
  72. Private Sub DGV3讀取前設定()
  73. DataGridView3.DataSource = Nothing : ds2.Clear()
  74. DataGridView3.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  75. DataGridView3.ColumnHeadersHeight = 25
  76. DataGridView3.AllowUserToAddRows = False
  77. ConnOpen()
  78. End Sub
  79. Private Sub DGV3讀取後設定()
  80. CmdSet_For_DGV() : da.Fill(ds2) : DataGridView3.DataSource = ds2.Tables(0) : conn.Close() : Set_grid3()
  81. End Sub
  82. Private Sub 讀取專案人事資料()
  83. DGV3讀取前設定()
  84. SQL1 = "SELECT 人員資料.人員編號, 人員資料.姓名
  85. FROM 人員資料 RIGHT OUTER JOIN 業務專案清單 ON 人員資料.人員編號 = 業務專案清單.對應流水號 RIGHT OUTER JOIN 業務專案主檔 ON 業務專案清單.專案流水號 = 業務專案主檔.專案流水號
  86. WHERE (業務專案主檔.專案性質 LIKE N'軟體設計') AND (業務專案主檔.客戶 LIKE N'" & ComboBox1.Text & "')
  87. GROUP BY 業務專案主檔.客戶, 人員資料.人員編號, 人員資料.姓名, 人員資料.性別
  88. ORDER BY 業務專案主檔.客戶"
  89. DGV3讀取後設定()
  90. End Sub
  91. Private Sub Set_grid3()
  92. DataGridView3.Columns(0).Width = 90 : DataGridView3.Columns(1).Width = 80
  93. TextBox2.Text = DataGridView3.Rows(0).Cells("姓名").Value
  94. End Sub
  95. Private Sub ComboBox1下拉表單資料載入()
  96. conn.Close()
  97. ConnOpen()
  98. SQL1 = "SELECT 客戶 FROM 業務專案主檔 WHERE (專案性質 LIKE N'軟體設計') GROUP BY 客戶 ORDER BY 客戶"
  99. CmdSet_For_dr()
  100. ComboBox1.Items.Clear()
  101. While (dr.Read()) : ComboBox1.Items.Add(dr("客戶")) : End While
  102. conn.Close()
  103. End Sub
  104. Private Sub ComboBox2下拉表單資料載入()
  105. conn.Close()
  106. ConnOpen()
  107. SQL1 = "SELECT 內容 FROM 系統開發點檢表基本資料 WHERE (RIGHT(項二, 2) LIKE '00') ORDER BY 項一"
  108. CmdSet_For_dr()
  109. ComboBox2.Items.Clear()
  110. While (dr.Read()) : ComboBox2.Items.Add(dr("內容")) : End While
  111. conn.Close()
  112. End Sub
  113. Private Sub 系統開發功能點檢表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  114. Me.MdiParent = GCM_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  115. DateTimePicker1.Visible = False : TextBox1.Visible = False
  116. ComboBox1下拉表單資料載入() : ComboBox2下拉表單資料載入()
  117. If PA2 <> "" Then : ComboBox1.Text = PA2 : End If : PA2 = ""
  118. End Sub
  119. Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove
  120. timeNow = 0
  121. GCM_ERP_SYS.Timer1.Enabled = False
  122. GCM_ERP_SYS.Timer1.Enabled = True
  123. End Sub
  124. Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress
  125. timeNow = 0
  126. GCM_ERP_SYS.Timer1.Enabled = False
  127. GCM_ERP_SYS.Timer1.Enabled = True
  128. End Sub
  129. Private Sub DataGridView1_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles DataGridView1.RowPostPaint
  130. Dim linePen As New Pen(Color.Blue, 2)
  131. If e.RowIndex = DataGridView1.Rows.Count - 1 Then
  132. Exit Sub
  133. Else
  134. If DataGridView1(0, e.RowIndex).Value.ToString <> DataGridView1(0, e.RowIndex + 1).Value.ToString Then
  135. Dim startX As Integer = IIf(DataGridView1.RowHeadersVisible, DataGridView1.RowHeadersWidth, 0)
  136. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  137. Dim endX As Integer = startX + DataGridView1.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - DataGridView1.HorizontalScrollingOffset
  138. e.Graphics.DrawLine(linePen, startX, startY, endX, startY)
  139. Exit Sub
  140. End If
  141. End If
  142. For i As Integer = 0 To DataGridView1.Rows.Count - 1
  143. If DataGridView1.Rows(i).Cells("項2").Value.ToString = "" And DataGridView1.Rows(i).Cells("項3").Value.ToString = "" Then
  144. DataGridView1.Rows(i).DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
  145. End If
  146. Next
  147. End Sub
  148. Private Sub DataGridView3_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView3.CellClick
  149. If e.RowIndex = -1 Then : Else
  150. TextBox2.Text = DataGridView3.Rows(e.RowIndex).Cells("姓名").Value
  151. End If
  152. End Sub
  153. Private Sub DataGridView2_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView2.CellClick
  154. If e.RowIndex = -1 Then : Else
  155. DataGridView2.Rows(0).Cells("選擇").Value = True
  156. End If
  157. End Sub
  158. Private Sub DataGridView1_CellEndEdit(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
  159. Dim EU As String
  160. For i As Integer = 0 To DataGridView1.Rows.Count - 1
  161. EU = DataGridView1.Rows(i).Cells("完成日期").Value.ToString
  162. If EU = "" Then
  163. Else
  164. DateTimePicker1.Text = EU
  165. DataGridView1.Rows(i).Cells("完成日期").Value = Format(DateTimePicker1.Value, "yyyy/MM/dd")
  166. End If
  167. If DataGridView1.Rows(i).Cells("是否完成").Value = True Then
  168. DataGridView1.Rows(i).Cells("開發負責人員").Value = ""
  169. Else
  170. If DataGridView1.Rows(i).Cells("開發負責人員").Value.ToString = "" Then
  171. DataGridView1.Rows(i).Cells("開發負責人員").Value = TextBox2.Text
  172. End If
  173. End If
  174. Next
  175. End Sub
  176. Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
  177. 讀取專案人事資料() : 讀取專案主清單()
  178. End Sub
  179. Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox2.SelectedIndexChanged
  180. ConnOpen()
  181. SQL1 = "SELECT 項一 FROM 系統開發點檢表基本資料 WHERE 內容 LIKE N'" & ComboBox2.Text & "'"
  182. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  183. If dr.Read() Then : TextBox1.Text = dr("項一") : End If
  184. conn.Close()
  185. Set_清單2()
  186. End Sub
  187. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
  188. ComboBox1下拉表單資料載入()
  189. End Sub
  190. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  191. ComboBox2下拉表單資料載入()
  192. End Sub
  193. Private Sub Button13_Click(sender As Object, e As EventArgs) Handles Button13.Click
  194. For i As Integer = 0 To DataGridView2.Rows.Count - 1 : DataGridView2.Rows(i).Cells("選擇").Value = True : Next i
  195. End Sub
  196. Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click
  197. For i As Integer = 0 To DataGridView2.Rows.Count - 1 : DataGridView2.Rows(i).Cells("選擇").Value = False : Next i
  198. End Sub
  199. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
  200. If ComboBox1.Text = "" Then
  201. MsgBox("沒有選擇客戶")
  202. Else
  203. For i As Integer = 0 To DataGridView2.Rows.Count - 1
  204. If DataGridView2.Rows(i).Cells("選擇").Value = True Then
  205. ConnOpen()
  206. SQL1 = "SELECT 項一 FROM 系統開發功能點檢表 WHERE 客戶 LIKE N'" & ComboBox1.Text & "' AND 項一 LIKE N'" & DataGridView2.Rows(i).Cells("項一").Value &
  207. "' AND 項二 LIKE N'" & DataGridView2.Rows(i).Cells("項二").Value & "' AND 項三 LIKE N'" & DataGridView2.Rows(i).Cells("項三").Value & "' "
  208. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  209. If dr.Read() Then
  210. conn.Close()
  211. Else
  212. conn.Close()
  213. ConnOpen()
  214. SQL1 = "INSERT INTO 系統開發功能點檢表 (客戶, 項一, 項二, 項三, 是否完成, 完成日期, 排序, 備註, 排序1, 開發負責人員)
  215. VALUES (N'" & ComboBox1.Text & "',N'" & DataGridView2.Rows(i).Cells("項一").Value & "',N'" & DataGridView2.Rows(i).Cells("項二").Value &
  216. "', N'" & DataGridView2.Rows(i).Cells("項三").Value & "', '0', '', '', '', '', '')"
  217. CmdSet_For_dr() : conn.Close()
  218. End If
  219. conn.Close()
  220. End If
  221. Next i
  222. MsgBox("新增完成") : 讀取專案主清單()
  223. End If
  224. End Sub
  225. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
  226. For i As Integer = 0 To DataGridView1.Rows.Count - 1
  227. ConnOpen()
  228. SQL1 = "UPDATE 系統開發功能點檢表 SET 排序 = N'" & DataGridView1.Rows(i).Cells("排序").Value & "', 完成日期 = N'" & DataGridView1.Rows(i).Cells("完成日期").Value &
  229. "', 是否完成 = N'" & DataGridView1.Rows(i).Cells("是否完成").Value & "', 備註 = N'" & DataGridView1.Rows(i).Cells("備註").Value &
  230. "', 排序1 = N'" & DataGridView1.Rows(i).Cells("排序1").Value & "', 開發負責人員 = N'" & DataGridView1.Rows(i).Cells("開發負責人員").Value & "'
  231. WHERE 客戶 LIKE N'" & ComboBox1.Text & "' AND 項一 LIKE N'" & DataGridView1.Rows(i).Cells("項一").Value & "' AND 項二 LIKE N'" & DataGridView1.Rows(i).Cells("項二").Value &
  232. "' AND 項三 LIKE N'" & DataGridView1.Rows(i).Cells("項三").Value & "'"
  233. CmdSet_For_dr() : conn.Close()
  234. Next
  235. 讀取專案主清單()
  236. MsgBox("修改完成")
  237. End Sub
  238. Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
  239. PA = InputBox("請輸入排序1空格要填入的數字")
  240. For i As Integer = 0 To DataGridView1.Rows.Count - 1
  241. If DataGridView1.Rows(i).Cells("排序1").Value.ToString = "" Then
  242. DataGridView1.Rows(i).Cells("排序1").Value = PA
  243. End If
  244. Next
  245. PA = ""
  246. End Sub
  247. Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
  248. PA = InputBox("請輸入排序空格要填入的數字")
  249. For i As Integer = 0 To DataGridView1.Rows.Count - 1
  250. If DataGridView1.Rows(i).Cells("排序").Value.ToString = "" Then
  251. DataGridView1.Rows(i).Cells("排序").Value = PA
  252. End If
  253. Next
  254. PA = ""
  255. End Sub
  256. End Class