暫無描述
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.

機構件-零件BOM表.vb 45KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705
  1. Option Strict Off
  2. Imports Microsoft.Office.Interop.Excel.XlUnderlineStyle
  3. Imports Microsoft.Office.Interop.Excel.Constants
  4. Imports Microsoft.Office.Interop.Excel.XlBordersIndex
  5. Imports Microsoft.Office.Interop.Excel.XlLineStyle
  6. Imports Microsoft.Office.Interop.Excel.XlBorderWeight
  7. Imports Microsoft.Office.Interop.Excel.XlThemeFont
  8. Imports Microsoft.Office.Interop.Excel.XlThemeColor
  9. Imports Microsoft.Office.Interop.Excel.XlWindowState
  10. Public Class 機構件零件BOM表
  11. Private ReadOnly ds As DataSet = New DataSet
  12. Private ReadOnly ds1 As DataSet = New DataSet
  13. Private ReadOnly ds2 As DataSet = New DataSet
  14. Private ReadOnly ds3 As DataSet = New DataSet
  15. Private ReadOnly ds4 As DataSet = New DataSet
  16. Private ReadOnly ds5 As DataSet = New DataSet
  17. Private ReadOnly ds6 As DataSet = New DataSet
  18. Dim 條件 As String
  19. Dim 加總1 As String = "0" : Dim 加總2 As String = "0"
  20. Dim KE As Integer
  21. Private Sub 機構科目清單()
  22. DataGridView4.DataSource = Nothing : ds3.Clear()
  23. DataGridView4.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  24. DataGridView4.ColumnHeadersHeight = 25
  25. DataGridView4.AllowUserToAddRows = False
  26. ConnOpen()
  27. SQL1 = "SELECT 品牌, 供應商, 科目, 類型 FROM 機構件成本紀錄表 WHERE (科目 LIKE N'%" & ComboBox3.Text & "%') AND (品牌 NOT LIKE '統旺') GROUP BY 品牌, 供應商, 科目, 類型 ORDER BY 類型"
  28. CmdSet_For_DGV() : da.Fill(ds3) : DataGridView4.DataSource = ds3.Tables(0) : conn.Close()
  29. If ComboBox3.Text <> "-請選擇-" Then : Set_grid4() : End If
  30. End Sub
  31. Private Sub 機構名稱清單()
  32. DataGridView5.DataSource = Nothing : ds4.Clear()
  33. DataGridView5.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  34. DataGridView5.ColumnHeadersHeight = 25
  35. DataGridView5.AllowUserToAddRows = False
  36. ConnOpen()
  37. SQL1 = "SELECT 流水碼, 供應商, 品名 FROM 機構件成本紀錄表 WHERE (類型 LIKE N'%" & ComboBox4.Text & "%') AND (品牌 NOT LIKE '統旺') ORDER BY 流水碼"
  38. CmdSet_For_DGV() : da.Fill(ds4) : DataGridView5.DataSource = ds4.Tables(0) : conn.Close()
  39. Set_grid5()
  40. End Sub
  41. Private Sub 零組件清單()
  42. DataGridView6.DataSource = Nothing : ds5.Clear()
  43. DataGridView6.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  44. DataGridView6.ColumnHeadersHeight = 25
  45. DataGridView6.AllowUserToAddRows = False
  46. ConnOpen()
  47. If 條件 = "" Then
  48. SQL1 = "SELECT 機構件零件BOM表.機構碼, 機構件成本紀錄表.科目, 機構件成本紀錄表.類型, 機構件成本紀錄表.品名 FROM 機構件零件BOM表 INNER JOIN 機構件成本紀錄表" &
  49. " ON 機構件零件BOM表.機構碼 = 機構件成本紀錄表.流水碼 GROUP BY 機構件零件BOM表.機構碼, 機構件成本紀錄表.科目, 機構件成本紀錄表.類型, " &
  50. "機構件成本紀錄表.品名 ORDER BY 機構件成本紀錄表.科目"
  51. Else
  52. SQL1 = "SELECT 機構件零件BOM表.機構碼, 機構件成本紀錄表.科目, 機構件成本紀錄表.類型, 機構件成本紀錄表.品名 FROM 機構件零件BOM表 INNER JOIN 機構件成本紀錄表 ON " &
  53. "機構件零件BOM表.機構碼 = 機構件成本紀錄表.流水碼 WHERE (機構件成本紀錄表.流水碼 LIKE N'%" & 條件 & "%') OR (機構件成本紀錄表.品牌 LIKE N'%" & 條件 & "%') " &
  54. "OR (機構件成本紀錄表.供應商 LIKE N'%" & 條件 & "%') OR (機構件成本紀錄表.科目 LIKE N'%" & 條件 & "%') OR (機構件成本紀錄表.類型 LIKE N'%" & 條件 & "%') OR " &
  55. "(機構件成本紀錄表.品名 LIKE N'%" & 條件 & "%') GROUP BY 機構件零件BOM表.機構碼, 機構件成本紀錄表.科目, 機構件成本紀錄表.類型, 機構件成本紀錄表.品名 ORDER BY " &
  56. "機構件成本紀錄表.科目"
  57. End If
  58. CmdSet_For_DGV() : da.Fill(ds5) : DataGridView6.DataSource = ds5.Tables(0) : conn.Close()
  59. Set_grid6() : 條件 = ""
  60. End Sub
  61. Private Sub DGV2寫入前設定()
  62. DataGridView2.DataSource = Nothing : ds.Clear()
  63. DataGridView2.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  64. DataGridView2.ColumnHeadersHeight = 25
  65. DataGridView2.AllowUserToAddRows = False
  66. ConnOpen()
  67. End Sub
  68. Private Sub DGV2寫入後設定()
  69. CmdSet_For_DGV() : da.Fill(ds) : DataGridView2.DataSource = ds.Tables(0) : conn.Close()
  70. Set_grid1()
  71. End Sub
  72. Private Sub 讀取零件清單()
  73. If PA = "" Then
  74. DGV2寫入前設定()
  75. SQL1 = "SELECT 流水碼, 品牌, 供應兆, 科矮, 品名, 型號及備註, 進貨單價,(幣別 FROM 零件成本紀錄表 ORDER BY 科目"
  76. Else
  77. DGV2寫入前設定()
  78. SQL1 = "SELECT 流水碼, 品牌, 供應商, 科目, 品名, 型號及備註, 進貨單價, 幣別 FROM 零件成本紀錄表 WHERE 品牌 like N'%" & PA &
  79. "%' OR 供應商 like N'%" & PA & "%' OR 科目 like N'%" & PA & "%' OR 品名 like N'%" & PA & "%' OR 型號及備註 like N'%" & PA & "%' OR 幣別 like N'%" & PA & "%' ORDER BY 科目"
  80. End If
  81. DGV2寫入後設定()
  82. End Sub
  83. Private Sub 讀取零組件清單()
  84. If PA = "" Then
  85. DGV2寫入前設定()
  86. SQL1 = "SELECT 流水碼, 品牌, 供應商, 科目, 品名, 型號及備註, 進貨單價, 幣別 FROM 零組件成本紀錄表 ORDER BY 科目"
  87. Else
  88. DGV2寫入前設定()
  89. SQL1 = "SELECT 流水碼, 品牌, 供應商, 科目, 品名, 型號及備註, 進貨單價, 幣別 FROM 零組件成本紀錄表 WHERE 品牌 like N'%" & PA &
  90. "%' OR 供應商 like N'%" & PA & "%' OR 科目 like N'%" & PA & "%' OR 品名 like N'%" & PA & "%' OR 型號及備註 like N'%" & PA & "%' OR 幣別 like N'%" & PA & "%' ORDER BY 科目"
  91. End If
  92. DGV2寫入後設定()
  93. End Sub
  94. Private Sub 讀取機構件零件BOM表()
  95. DataGridView1.DataSource = Nothing : ds1.Clear()
  96. DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  97. DataGridView1.ColumnHeadersHeight = 25
  98. DataGridView1.AllowUserToAddRows = False
  99. ConnOpen()
  100. SQL1 = "SELECT 機構件零件BOM表.機構碼, 機構件零件BOM表.零件流水碼, 零件成本紀錄表.科目, 零件成本紀錄表.品名, 機構件零件BOM表.數量, 零件成本紀錄表.型號及備註," &
  101. "ROUND(Convert(float, 機構件零件BOM表.數量) * Convert(float, 零件成本紀錄表.進貨單價),2) AS 成本, 零件成本紀錄表.幣別, 零件成本紀錄表.品牌 FROM 機構件零件BOM表 INNER JOIN 零件成本紀錄表 " &
  102. "ON 機構件零件BOM表.零件流水碼 = 零件成本紀錄表.流水碼 WHERE 機構件零件BOM表.機構碼 = '" & ComboBox1.Text & "' ORDER BY 零件成本紀錄表.科目"
  103. CmdSet_For_DGV() : da.Fill(ds1) : DataGridView1.DataSource = ds1.Tables(0) : conn.Close() : dr.Close()
  104. ConnOpen()
  105. SQL1 = "SELECT 機構件零件BOM表.機構碼, 機構件零件BOM表.零件流水碼, 零組件成本紀錄表.科目, 零組件成本紀錄表.品名, 機構件零件BOM表.數量, 零組件成本紀錄表.型號及備註," &
  106. "ROUND(Convert(float, 機構件零件BOM表.數量) * Convert(float, 零組件成本紀錄表.進貨單價),2) AS 成本, 零組件成本紀錄表.幣別, 零組件成本紀錄表.品牌 FROM 機構件零件BOM表 INNER JOIN 零組件成本紀錄表 " &
  107. "ON 機構件零件BOM表.零件流水碼 = 零組件成本紀錄表.流水碼 WHERE 機構件零件BOM表.機構碼 = '" & ComboBox1.Text & "' ORDER BY 零組件成本紀錄表.科目"
  108. CmdSet_For_DGV() : da.Fill(ds1) : DataGridView1.DataSource = ds1.Tables(0) : conn.Close() : dr.Close()
  109. DataGridView3.DataSource = Nothing : ds2.Clear()
  110. DataGridView3.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  111. DataGridView3.ColumnHeadersHeight = 25
  112. DataGridView3.AllowUserToAddRows = False
  113. ConnOpen()
  114. SQL1 = "SELECT 零件成本紀錄表_1.科目, ROUND(SUM(CONVERT(float, 機構件零件BOM表_1.數量) * CONVERT(float, 零件成本紀錄表_1.進貨單價)), 2) AS 成本, " &
  115. "ROUND(SUM(CONVERT(float, 機構件零件BOM表_1.數量) * CONVERT(float, 零件成本紀錄表_1.進貨單價)) / (SELECT SUM(CONVERT(float, 機構件零件BOM表.數量) * " &
  116. "CONVERT(float, 零件成本紀錄表.進貨單價)) AS 成本 FROM 機構件零件BOM表 INNER JOIN 零件成本紀錄表 ON 機構件零件BOM表.零件流水碼 = 零件成本紀錄表.流水碼 " &
  117. "WHERE (機構件零件BOM表.機構碼 = '" & ComboBox1.Text & "')), 4) * 100 AS 百分比 FROM 機構件零件BOM表 AS 機構件零件BOM表_1 INNER JOIN 零件成本紀錄表 AS " &
  118. "零件成本紀錄表_1 ON 機構件零件BOM表_1.零件流水碼 = 零件成本紀錄表_1.流水碼 WHERE (機構件零件BOM表_1.機構碼 = '" & ComboBox1.Text & "') GROUP BY " &
  119. "零件成本紀錄表_1.科目 ORDER BY 零件成本紀錄表_1.科目"
  120. CmdSet_For_DGV() : da.Fill(ds2) : DataGridView3.DataSource = ds2.Tables(0) : conn.Close() : dr.Close()
  121. ConnOpen()
  122. SQL1 = "SELECT 零組件成本紀錄表_1.科目, ROUND(SUM(CONVERT(float, 機構件零件BOM表_1.數量) * CONVERT(float, 零組件成本紀錄表_1.進貨單價)), 2) AS 成本, " &
  123. "ROUND(SUM(CONVERT(float, 機構件零件BOM表_1.數量) * CONVERT(float, 零組件成本紀錄表_1.進貨單價)) / (SELECT SUM(CONVERT(float, 機構件零件BOM表.數量) * " &
  124. "CONVERT(float, 零組件成本紀錄表.進貨單價)) AS 成本 FROM 機構件零件BOM表 INNER JOIN 零組件成本紀錄表 ON 機構件零件BOM表.零件流水碼 = 零組件成本紀錄表.流水碼 " &
  125. "WHERE (機構件零件BOM表.機構碼 = '" & ComboBox1.Text & "')), 4) * 100 AS 百分比 FROM 機構件零件BOM表 AS 機構件零件BOM表_1 INNER JOIN 零組件成本紀錄表 AS " &
  126. "零組件成本紀錄表_1 ON 機構件零件BOM表_1.零件流水碼 = 零組件成本紀錄表_1.流水碼 WHERE (機構件零件BOM表_1.機構碼 = '" & ComboBox1.Text & "') GROUP BY " &
  127. "零組件成本紀錄表_1.科目 ORDER BY 零組件成本紀錄表_1.科目"
  128. CmdSet_For_DGV() : da.Fill(ds2) : DataGridView3.DataSource = ds2.Tables(0) : conn.Close() : dr.Close()
  129. ConnOpen()
  130. SQL1 = "SELECT ROUND(SUM(CONVERT(float, 機構件零件BOM表.數量) * CONVERT(float, 零件成本紀錄表.進貨單價)), 2) AS 成本 FROM 機構件零件BOM表 INNER JOIN 零件成本紀錄表 ON " &
  131. "機構件零件BOM表.零件流水碼 = 零件成本紀錄表.流水碼 WHERE (機構件零件BOM表.機構碼 = '" & ComboBox1.Text & "')"
  132. CmdSet_For_dr()
  133. If dr.Read() Then : 加總1 = dr("成本").ToString : End If : conn.Close() : dr.Close()
  134. ConnOpen()
  135. SQL1 = "SELECT ROUND(SUM(CONVERT(float, 機構件零件BOM表.數量) * CONVERT(float, 零組件成本紀錄表.進貨單價)), 2) AS 成本 FROM 機構件零件BOM表 INNER JOIN 零組件成本紀錄表 ON " &
  136. "機構件零件BOM表.零件流水碼 = 零組件成本紀錄表.流水碼 WHERE (機構件零件BOM表.機構碼 = '" & ComboBox1.Text & "')"
  137. CmdSet_For_dr()
  138. If dr.Read() Then : 加總2 = dr("成本").ToString : End If : conn.Close() : dr.Close()
  139. If 加總1 = "" Then : 加總1 = "0" : End If : If 加總2 = "" Then : 加總2 = "0" : End If
  140. TextBox6.Text = CStr(Math.Round((Double.Parse(加總1) + Double.Parse(加總2)), 2))
  141. If TextBox6.Text <> "" Or TextBox6.Text <> "0" Or TextBox6.Text <> "0.0" Or TextBox6.Text <> "0.00" Then
  142. If InStr(TextBox6.Text, ".") = 0 Then
  143. If Len(TextBox6.Text) <= 3 Then
  144. TextBox9.Text = TextBox6.Text & ".00"
  145. ElseIf Len(TextBox6.Text) <= 4 Then
  146. TextBox9.Text = Strings.Left(TextBox6.Text, 1) & "," & Mid(TextBox6.Text, 2, 10) & ".00"
  147. ElseIf Len(TextBox6.Text) <= 5 Then
  148. TextBox9.Text = Strings.Left(TextBox6.Text, 2) & "," & Mid(TextBox6.Text, 3, 10) & ".00"
  149. ElseIf Len(TextBox6.Text) <= 6 Then
  150. TextBox9.Text = Strings.Left(TextBox6.Text, 3) & "," & Mid(TextBox6.Text, 4, 10) & ".00"
  151. ElseIf Len(TextBox6.Text) <= 7 Then
  152. TextBox9.Text = Strings.Left(TextBox6.Text, 1) & "," & Mid(TextBox6.Text, 2, 3) & "," & Mid(TextBox6.Text, 5, 10) & ".00"
  153. End If
  154. Else
  155. If InStr(TextBox6.Text, ".") <= 4 Then
  156. TextBox9.Text = TextBox6.Text
  157. ElseIf InStr(TextBox6.Text, ".") = 5 Then
  158. TextBox9.Text = Strings.Left(TextBox6.Text, 1) & "," & Mid(TextBox6.Text, 2, 10)
  159. ElseIf InStr(TextBox6.Text, ".") = 6 Then
  160. TextBox9.Text = Strings.Left(TextBox6.Text, 2) & "," & Mid(TextBox6.Text, 3, 10)
  161. ElseIf InStr(TextBox6.Text, ".") = 7 Then
  162. TextBox9.Text = Strings.Left(TextBox6.Text, 3) & "," & Mid(TextBox6.Text, 4, 10)
  163. ElseIf InStr(TextBox6.Text, ".") = 8 Then
  164. TextBox9.Text = Strings.Left(TextBox6.Text, 1) & "," & Mid(TextBox6.Text, 2, 3) & "," & Mid(TextBox6.Text, 5, 10)
  165. End If
  166. End If
  167. End If
  168. Set_grid2()
  169. If TextBox6.Text = "" Then
  170. TextBox9.Text = ""
  171. End If
  172. End Sub
  173. Private Sub ComboBox4下拉表單資料載入()
  174. conn.Close()
  175. If ComboBox3.Text = "" Or ComboBox3.Text = "-請選擇-" Then
  176. ComboBox3.Text = "-請選擇-"
  177. ConnOpen()
  178. SQL1 = "SELECT 類型 FROM 機構成本科目類型表 ORDER BY 類型"
  179. Else
  180. ConnOpen()
  181. SQL1 = "SELECT 類型 FROM 機構成本科目類型表 WHERE (科目 ='" & ComboBox3.Text & "') ORDER BY 類型"
  182. End If
  183. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  184. ComboBox4.Items.Clear()
  185. While (dr.Read())
  186. ComboBox4.Items.Add(dr("類型"))
  187. End While
  188. conn.Close()
  189. End Sub
  190. Private Sub ComboBox1下拉表單資料載入()
  191. conn.Close()
  192. If ComboBox4.Text = "" Or ComboBox4.Text = "-請選擇-" Or ComboBox3.Text = "" Or ComboBox3.Text = "-請選擇-" Then
  193. ComboBox4.Text = "-請選擇-"
  194. ConnOpen()
  195. SQL1 = "SELECT 流水碼 FROM 機構件成本紀錄表 ORDER BY 流水碼 DESC"
  196. Else
  197. ConnOpen()
  198. SQL1 = "SELECT 流水碼 FROM 機構件成本紀錄表 WHERE 科目 like N'%" & ComboBox3.Text & "%' AND 類型 like N'%" & ComboBox4.Text & "%' ORDER BY 流水碼 DESC"
  199. End If
  200. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  201. ComboBox1.Items.Clear()
  202. While (dr.Read())
  203. ComboBox1.Items.Add(dr("流水碼"))
  204. End While
  205. conn.Close()
  206. End Sub
  207. Private Sub 格式設定()
  208. TextBox1.Text = "" : TextBox2.Text = "" : TextBox4.Text = ""
  209. ComboBox1.Enabled = True : Button3.Enabled = True : Button7.Enabled = False : Button2.Enabled = False : Button4.Enabled = False : Button5.Enabled = False
  210. Button8.Enabled = True : Button9.Enabled = False : Button10.Enabled = True : Button11.Enabled = False
  211. Button12.Enabled = False : Button13.Enabled = False
  212. End Sub
  213. Private Sub Set_grid1()
  214. DataGridView2.Columns(0).Visible = False : DataGridView2.Columns(1).Width = 55 : DataGridView2.Columns(2).Width = 80
  215. DataGridView2.Columns(3).Width = 110 : DataGridView2.Columns(4).Width = 230 : DataGridView2.Columns(5).Width = 120
  216. DataGridView2.Columns(6).Visible = False : DataGridView2.Columns(7).Visible = False
  217. End Sub
  218. Private Sub Set_grid2()
  219. DataGridView1.Columns(0).Visible = False : DataGridView1.Columns(1).Width = 80 : DataGridView1.Columns(2).Width = 80
  220. DataGridView1.Columns(3).Width = 250 : DataGridView1.Columns(4).Width = 70 : DataGridView1.Columns(5).Width = 120
  221. DataGridView1.Columns(6).Width = 60 : DataGridView1.Columns(7).Width = 50 : DataGridView1.Columns(8).Visible = False
  222. End Sub
  223. Private Sub Set_grid4()
  224. DataGridView4.Columns(0).Width = 60 : DataGridView4.Columns(1).Width = 60 : DataGridView4.Columns(2).Width = 70
  225. DataGridView4.Columns(3).Width = 115
  226. End Sub
  227. Private Sub Set_grid5()
  228. DataGridView5.Columns(0).Width = 80 : DataGridView5.Columns(1).Width = 60 : DataGridView5.Columns(2).Width = 170
  229. End Sub
  230. Private Sub Set_grid6()
  231. DataGridView6.Columns(0).Width = 65 : DataGridView6.Columns(1).Width = 70 : DataGridView6.Columns(2).Width = 70
  232. DataGridView6.Columns(3).Width = 100
  233. End Sub
  234. Private Sub Set_grid7()
  235. DataGridView7.Columns(0).Visible = False : DataGridView7.Columns(1).Width = 80 : DataGridView7.Columns(2).Width = 80
  236. DataGridView7.Columns(3).Width = 250 : DataGridView7.Columns(4).Width = 70 : DataGridView7.Columns(5).Width = 120
  237. DataGridView7.Columns(6).Width = 60 : DataGridView7.Columns(7).Width = 50 : DataGridView7.Columns(8).Visible = False
  238. End Sub
  239. Private Sub DataGridView2_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView2.CellClick
  240. If e.RowIndex = -1 Then : Else
  241. TextBox1.Text = DataGridView2(0, e.RowIndex).Value.ToString : TextBox4.Text = DataGridView2(4, e.RowIndex).Value.ToString
  242. End If
  243. End Sub
  244. Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
  245. If e.RowIndex = -1 Then : Else
  246. TextBox1.Text = DataGridView1(1, e.RowIndex).Value.ToString : TextBox4.Text = DataGridView1(3, e.RowIndex).Value.ToString
  247. End If
  248. End Sub
  249. Private Sub DataGridView4_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView4.CellClick
  250. If e.RowIndex = -1 Then : Else
  251. ComboBox4.Text = DataGridView4(3, e.RowIndex).Value.ToString
  252. End If
  253. End Sub
  254. Private Sub DataGridView5_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView5.CellClick
  255. If e.RowIndex = -1 Then : Else
  256. ComboBox1.Text = DataGridView5(0, e.RowIndex).Value.ToString
  257. End If
  258. End Sub
  259. Private Sub DataGridView6_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView6.CellClick
  260. If e.RowIndex = -1 Then : Else
  261. ComboBox3.Text = DataGridView6(1, e.RowIndex).Value.ToString : ComboBox4.Text = DataGridView6(2, e.RowIndex).Value.ToString
  262. End If
  263. End Sub
  264. Private Sub 機構件零件BOM表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  265. Me.MdiParent = GCM_ERP_SYS
  266. Me.WindowState = 2
  267. ComboBox3.Items.AddRange(科目清單)
  268. If CheckBox1.Checked = True Then
  269. 讀取零件清單()
  270. ElseIf CheckBox2.Checked = True Then
  271. 讀取零組件清單()
  272. End If
  273. ComboBox4下拉表單資料載入() : ComboBox1下拉表單資料載入() : 格式設定()
  274. 機構科目清單() : 機構名稱清單() : 零組件清單()
  275. ComboBox1.SelectedIndex = 0
  276. End Sub
  277. Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove
  278. timeNow = 0
  279. GCM_ERP_SYS.Timer1.Enabled = False
  280. GCM_ERP_SYS.Timer1.Enabled = True
  281. End Sub
  282. Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress
  283. timeNow = 0
  284. GCM_ERP_SYS.Timer1.Enabled = False
  285. GCM_ERP_SYS.Timer1.Enabled = True
  286. End Sub
  287. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  288. PA = InputBox("請輸入要查詢零件的資料")
  289. If CheckBox1.Checked = True Then
  290. 讀取零件清單()
  291. ElseIf CheckBox2.Checked = True Then
  292. 讀取零組件清單()
  293. End If
  294. End Sub
  295. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
  296. If TextBox1.Text = "" Then
  297. MsgBox("請選擇零件")
  298. Else
  299. ConnOpen()
  300. SQL1 = "SELECT 零件流水碼 FROM 機構件零件BOM表 WHERE 機構碼 = '" & ComboBox1.Text & "' AND 零件流水碼 = '" & TextBox1.Text & "'"
  301. CmdSet_For_dr()
  302. If dr.Read() Then : TextBox3.Text = dr("零件流水碼").ToString : End If
  303. conn.Close() : dr.Close()
  304. If TextBox3.Text = "" Then
  305. Dim a As String = InputBox("請輸入數量")
  306. ConnOpen()
  307. SQL1 = "INSERT INTO 機構件零件BOM表 (機構碼, 零件流水碼, 數量) VALUES ('" & ComboBox1.Text & "','" & TextBox1.Text & "','" & a & "')"
  308. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery()
  309. conn.Close()
  310. Else
  311. MsgBox("零件已有選擇,如需增加請修改數量")
  312. End If
  313. End If
  314. TextBox1.Text = "" : TextBox3.Text = "" : TextBox4.Text = ""
  315. 讀取機構件零件BOM表()
  316. End Sub
  317. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
  318. If TextBox1.Text = "" Then
  319. MsgBox("請選擇零件")
  320. Else
  321. ConnOpen()
  322. SQL1 = "SELECT 零件流水碼 FROM 機構件零件BOM表 WHERE 機構碼 = '" & ComboBox1.Text & "' AND 零件流水碼 = '" & TextBox1.Text & "'"
  323. CmdSet_For_dr()
  324. If dr.Read() Then : TextBox3.Text = dr("零件流水碼").ToString : End If
  325. conn.Close() : dr.Close()
  326. If TextBox3.Text <> "" Then
  327. Dim a As String = InputBox("請輸入修改數量")
  328. ConnOpen()
  329. SQL1 = "UPDATE 機構件零件BOM表 SET 機構碼 = '" & ComboBox1.Text & "', 數量 = '" & a & "' WHERE (零件流水碼 = '" & TextBox1.Text & "') and (機構碼 = '" & ComboBox1.Text & "')"
  330. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  331. Else
  332. MsgBox("請正確選擇")
  333. End If
  334. End If
  335. TextBox1.Text = "" : TextBox3.Text = "" : TextBox4.Text = ""
  336. 讀取機構件零件BOM表()
  337. End Sub
  338. Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
  339. If TextBox1.Text = "" Then
  340. MsgBox("請選擇零件")
  341. Else
  342. SQL1 = "DELETE FROM 機構件零件BOM表 WHERE (零件流水碼 = '" & TextBox1.Text & "') and (機構碼 = '" & ComboBox1.Text & "')"
  343. cmd.CommandText = SQL1 : cmd.Connection = conn
  344. ConnOpen()
  345. cmd.ExecuteNonQuery() : MsgBox("刪除完成")
  346. conn.Close()
  347. End If
  348. TextBox1.Text = "" : TextBox3.Text = "" : TextBox4.Text = ""
  349. 讀取機構件零件BOM表()
  350. End Sub
  351. Private Sub ComboBox3_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox3.SelectedIndexChanged
  352. ComboBox4下拉表單資料載入() : 機構科目清單()
  353. End Sub
  354. Private Sub ComboBox4_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox4.SelectedIndexChanged
  355. ComboBox1下拉表單資料載入() : 機構名稱清單()
  356. End Sub
  357. Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
  358. conn.Close() : dr.Close()
  359. ConnOpen()
  360. SQL1 = "SELECT 品名, 型號及備註, 幣別 FROM 機構件成本紀錄表 WHERE 流水碼 = '" & ComboBox1.Text & "'"
  361. CmdSet_For_dr()
  362. If dr.Read() Then
  363. TextBox2.Text = dr("品名").ToString : TextBox5.Text = dr("型號及備註").ToString : ComboBox2.Text = dr("幣別").ToString
  364. End If
  365. conn.Close() : dr.Close()
  366. ConnOpen()
  367. SQL1 = "SELECT 科目 FROM 機構件成本紀錄表 WHERE 流水碼 = '" & ComboBox1.Text & "'"
  368. CmdSet_For_dr()
  369. If dr.Read() Then
  370. ComboBox3.Text = dr("科目").ToString
  371. End If
  372. conn.Close() : dr.Close()
  373. ConnOpen()
  374. SQL1 = "SELECT 類型 FROM 機構件成本紀錄表 WHERE 流水碼 = '" & ComboBox1.Text & "'"
  375. CmdSet_For_dr()
  376. If dr.Read() Then
  377. ComboBox4.Text = dr("類型").ToString
  378. End If
  379. conn.Close() : dr.Close()
  380. 讀取機構件零件BOM表()
  381. End Sub
  382. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
  383. If ComboBox3.Text = "-請選擇-" Or ComboBox4.Text = "-請選擇-" Then
  384. MsgBox("科目或類型欄位不可空白")
  385. Else
  386. Dim NUM1 As Integer
  387. For NUM1 = 0 To 99999
  388. If NUM1 < 10 Then
  389. TextBox1.Text = "MP" & "0000" & NUM1
  390. ElseIf NUM1 > 9 And NUM1 < 100 Then
  391. TextBox1.Text = "MP" & "000" & NUM1
  392. ElseIf NUM1 > 99 And NUM1 < 1000 Then
  393. TextBox1.Text = "MP" & "00" & NUM1
  394. ElseIf NUM1 > 999 And NUM1 < 10000 Then
  395. TextBox1.Text = "MP" & "0" & NUM1
  396. ElseIf NUM1 > 9999 Then
  397. TextBox1.Text = "MP" & NUM1
  398. End If
  399. ConnOpen()
  400. SQL1 = "SELECT 流水碼 FROM 機構件成本紀錄表 WHERE (流水碼 ='" & TextBox1.Text & "')"
  401. CmdSet_For_dr()
  402. If dr.Read() Then
  403. ComboBox1.Text = dr("流水碼").ToString
  404. Else
  405. ComboBox1.Text = ""
  406. End If
  407. conn.Close()
  408. If ComboBox1.Text = "" Then
  409. ComboBox1.Text = TextBox1.Text : TextBox1.Text = "可用"
  410. TextBox1.Text = "" : TextBox2.Text = "" : TextBox5.Text = "" : ComboBox2.Text = ""
  411. ComboBox1.Enabled = False : Button3.Enabled = False : Button7.Enabled = True : Button12.Enabled = True
  412. NUM1 = 99999
  413. End If
  414. Next
  415. Button2.Enabled = True : Button4.Enabled = True : Button5.Enabled = True
  416. 讀取機構件零件BOM表()
  417. End If
  418. End Sub
  419. Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
  420. If ComboBox1.Enabled = True Or ComboBox3.Text = "-請選擇-" Or ComboBox4.Text = "-請選擇-" Or TextBox2.Text = "" Or TextBox6.Text = "" Or ComboBox2.Text = "" Then
  421. MsgBox("資料不足請檢查後重新確認")
  422. Else
  423. ConnOpen()
  424. SQL1 = "INSERT INTO 機構件成本紀錄表 (流水碼, 品牌, 供應商, 科目, 類型, 型號及備註, 品名, 供應商成本, 進貨單價, 幣別) VALUES ('" & ComboBox1.Text &
  425. "','工巧明','工巧明','" & ComboBox3.Text & "','" & ComboBox4.Text & "','" & TextBox5.Text & "','" & TextBox2.Text &
  426. "','','" & TextBox6.Text & "','" & ComboBox2.Text & "')"
  427. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery()
  428. MsgBox("新增完成")
  429. conn.Close()
  430. 格式設定() : ComboBox1下拉表單資料載入() : 讀取機構件零件BOM表() : 機構科目清單() : 機構名稱清單() : 零組件清單()
  431. ComboBox1.Enabled = True
  432. End If
  433. End Sub
  434. Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click
  435. ComboBox1.Text = ""
  436. 格式設定() : ComboBox1下拉表單資料載入() : 讀取機構件零件BOM表()
  437. ComboBox1.SelectedIndex = 0
  438. End Sub
  439. Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
  440. Button2.Enabled = True : Button4.Enabled = True : Button5.Enabled = True : Button8.Enabled = False : Button9.Enabled = True : ComboBox1.Enabled = False
  441. Button13.Enabled = True
  442. End Sub
  443. Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
  444. If ComboBox1.Enabled = True Or ComboBox3.Text = "-請選擇-" Or ComboBox4.Text = "-請選擇-" Or TextBox2.Text = "" Or TextBox6.Text = "" Or ComboBox2.Text = "" Then
  445. MsgBox("資料不足請檢查後重新確認")
  446. Else
  447. ConnOpen()
  448. SQL1 = "UPDATE 機構件成本紀錄表 SET 品牌 = '工巧明', 供應商 = '工巧明', 科目 = '" & ComboBox3.Text & "', 類型 = '" & ComboBox4.Text &
  449. "', 型號及備註 = '" & TextBox5.Text & "', 品名 = '" & TextBox2.Text & "', 供應商成本 = '', 進貨單價 = '" & TextBox6.Text &
  450. "', 幣別 = '" & ComboBox2.Text & "' WHERE (流水碼 = '" & ComboBox1.Text & "')"
  451. cmd.CommandText = SQL1 : cmd.ExecuteNonQuery()
  452. MsgBox("修改完成")
  453. conn.Close()
  454. 格式設定() : ComboBox1下拉表單資料載入() : 讀取機構件零件BOM表()
  455. End If
  456. End Sub
  457. Private Sub Button13_Click(sender As Object, e As EventArgs) Handles Button13.Click
  458. 格式設定() : ComboBox1下拉表單資料載入() : 讀取機構件零件BOM表()
  459. End Sub
  460. Private Sub Button10_Click(sender As Object, e As EventArgs) Handles Button10.Click
  461. Button10.Enabled = False : Button11.Enabled = True
  462. End Sub
  463. Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click
  464. SQL1 = "DELETE FROM 機構件成本紀錄表 WHERE (流水碼 = '" & ComboBox1.Text & "')"
  465. SQL1 = "DELETE FROM 機構件零件BOM表 WHERE (機構碼 = '" & ComboBox1.Text & "')"
  466. cmd.CommandText = SQL : cmd.Connection = conn
  467. cmd.CommandText = SQL1 : cmd.Connection = conn
  468. ConnOpen()
  469. ConnOpen()
  470. Dim aa As MsgBoxResult
  471. aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel)
  472. If aa = MsgBoxResult.Ok Then : cmd.ExecuteNonQuery() : cmd.ExecuteNonQuery() : MsgBox("刪除完成") : End If
  473. conn.Close() : conn.Close()
  474. 格式設定() : ComboBox1下拉表單資料載入() : 讀取機構件零件BOM表()
  475. End Sub
  476. Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
  477. Dim xlApp As Microsoft.Office.Interop.Excel.Application
  478. Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
  479. Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
  480. xlApp = CType(CreateObject("Excel.Application"), Microsoft.Office.Interop.Excel.Application)
  481. xlBook = xlApp.Workbooks.Add
  482. xlApp.DisplayAlerts = True
  483. xlBook.Activate()
  484. xlSheet = NewMethod(xlBook)
  485. xlSheet.Activate()
  486. xlApp.Visible = True
  487. xlApp.Application.WindowState = xlMaximized
  488. xlSheet.Cells(2, 2) = "工巧明智能設備有限公司 機構件-零件BOM表"
  489. xlSheet.Cells(3, 2) = "客戶名稱:" : xlSheet.Cells(4, 2) = "機購編號:"
  490. xlSheet.Cells(5, 2) = "機構名稱:"
  491. xlSheet.Cells(6, 2) = "型號及備註:"
  492. xlSheet.Cells(3, 9) = "機構科目:"
  493. xlSheet.Cells(4, 9) = "機構類型:"
  494. xlSheet.Cells(5, 9) = "技術開發課確認者:"
  495. xlSheet.Cells(6, 9) = "修改日期:"
  496. xlSheet.Cells(6, 10) = String.Format("{0:d}", Now)
  497. xlSheet.Cells(7, 2) = "項次" : xlSheet.Cells(7, 4) = "零件流水碼" : xlSheet.Cells(7, 5) = "品牌" : xlSheet.Cells(7, 6) = "科目" : xlSheet.Cells(7, 7) = "品名"
  498. xlSheet.Cells(7, 8) = "型號及備註" : xlSheet.Cells(7, 10) = "數量" : xlSheet.Cells(7, 12) = "說明"
  499. xlSheet.Cells(4, 4) = ComboBox1.Text : xlSheet.Cells(5, 4) = TextBox2.Text : xlSheet.Cells(6, 4) = TextBox5.Text
  500. xlSheet.Cells(3, 10) = ComboBox3.Text : xlSheet.Cells(4, 10) = ComboBox4.Text
  501. Dim i As Integer : Dim ii As Integer : Dim ni1 As Integer = -1 : Dim ni1s As Integer = 0
  502. For ni1 = ni1 + 1 To DataGridView1.Rows.Count - 1
  503. xlSheet.Cells(i + 8, 2) = ni1s + 1
  504. xlSheet.Cells(i + 8, 4) = DataGridView1.Rows(ni1).Cells("零件流水碼").Value
  505. xlSheet.Cells(i + 8, 5) = DataGridView1.Rows(ni1).Cells("品牌").Value
  506. xlSheet.Cells(i + 8, 6) = DataGridView1.Rows(ni1).Cells("科目").Value
  507. xlSheet.Cells(i + 8, 7) = DataGridView1.Rows(ni1).Cells("品名").Value
  508. xlSheet.Cells(i + 8, 8) = DataGridView1.Rows(ni1).Cells("型號及備註").Value
  509. xlSheet.Cells(i + 8, 10) = DataGridView1.Rows(ni1).Cells("數量").Value
  510. With xlApp.Selection
  511. .Font.Bold = True
  512. End With
  513. i += 1 : ni1s += 1
  514. TextBox1.Text = DataGridView1.Rows(ni1).Cells("零件流水碼").Value
  515. If Strings.Left(TextBox1.Text, 2) = "MS" Then
  516. Dim ni2 As Integer = -1 : Dim ni2s As Integer = 0 : ii = i
  517. For ni2 = ni2 + 1 To DataGridView7.Rows.Count - 1
  518. xlSheet.Cells(ii + 8, 3) = ni1s & "_" & ni2s + 1
  519. xlSheet.Cells(ii + 8, 4) = DataGridView7.Rows(ni2).Cells("零件流水碼").Value
  520. xlSheet.Cells(ii + 8, 5) = DataGridView7.Rows(ni2).Cells("品牌").Value
  521. xlSheet.Cells(ii + 8, 6) = DataGridView7.Rows(ni2).Cells("科目").Value
  522. xlSheet.Cells(ii + 8, 7) = DataGridView7.Rows(ni2).Cells("品名").Value
  523. xlSheet.Cells(ii + 8, 8) = DataGridView7.Rows(ni2).Cells("型號及備註").Value
  524. xlSheet.Cells(ii + 8, 11) = DataGridView7.Rows(ni2).Cells("數量").Value
  525. With xlApp.Selection
  526. .Font.Bold = True
  527. End With
  528. ii += 1 : ni2s += 1
  529. Next ni2
  530. i = ii + 1
  531. End If
  532. KE = i
  533. Next ni1
  534. AA(xlApp, xlSheet)
  535. xlSheet.PageSetup.PrintArea = ""
  536. xlApp.Cells.Select()
  537. xlSheet.Range("B1").Select()
  538. xlApp.Application.WindowState = xlMinimized
  539. MsgBox("列印完成")
  540. End Sub
  541. Private Shared Function NewMethod(xlBook As Microsoft.Office.Interop.Excel.Workbook) As Microsoft.Office.Interop.Excel.Worksheet
  542. Return CType(xlBook.Worksheets.Add, Microsoft.Office.Interop.Excel.Worksheet)
  543. End Function
  544. Private Sub AA(ByVal myExcel As Microsoft.Office.Interop.Excel.Application, ByVal xlSheet As Microsoft.Office.Interop.Excel.Worksheet)
  545. Dim 位置 As String
  546. xlSheet.Columns("A:A").ColumnWidth = 1
  547. xlSheet.Columns("B:B").Select : myExcel.Selection.ColumnWidth = 3
  548. xlSheet.Columns("C:C").Select : myExcel.Selection.ColumnWidth = 6
  549. xlSheet.Columns("D:F").Select : myExcel.Selection.ColumnWidth = 12
  550. xlSheet.Columns("G:G").Select : myExcel.Selection.ColumnWidth = 40
  551. xlSheet.Columns("H:I").Select : myExcel.Selection.ColumnWidth = 20
  552. xlSheet.Columns("L:L").Select : myExcel.Selection.ColumnWidth = 40
  553. xlSheet.Columns("J:K").Select : myExcel.Selection.ColumnWidth = 4
  554. xlSheet.Rows("1:1").Select : myExcel.Selection.RowHeight = 5
  555. xlSheet.Rows("2:2").Select : myExcel.Selection.RowHeight = 30
  556. xlSheet.Rows("3:6").Select : myExcel.Selection.RowHeight = 15
  557. xlSheet.Rows("7:7").Select : myExcel.Selection.RowHeight = 25
  558. xlSheet.Range("B2:L2,B3:C3,B4:C4,B5:C5,B6:C6,B7:C7,D3:H3,D4:H4,D5:H5,D6:H6,J3:L3,J4:L4,J5:L5,J6:L6,H7:I7").Select()
  559. xlSheet.Range("H7").Activate()
  560. With myExcel.Selection
  561. .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  562. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  563. End With
  564. myExcel.Selection.Merge
  565. xlSheet.Cells.Select()
  566. With myExcel.Selection.Font
  567. .Name = "微軟正黑體" : .Size = 10 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  568. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone
  569. End With
  570. xlSheet.Range("B2:L2").Select()
  571. With myExcel.Selection.Font
  572. .Name = "微軟正黑體" : .Size = 14 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  573. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone
  574. End With
  575. xlSheet.Range("B:C,J:K").Select() : xlSheet.Range("J1").Activate()
  576. With myExcel.Selection
  577. .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  578. .ShrinkToFit = False : .ReadingOrder = xlContext
  579. End With
  580. xlSheet.Range("J7:K7").Select()
  581. With myExcel.Selection
  582. .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  583. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  584. End With
  585. myExcel.Selection.Merge
  586. xlSheet.Range("B7:L7").Select()
  587. With myExcel.Selection
  588. .HorizontalAlignment = xlGeneral : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  589. .ShrinkToFit = False : .ReadingOrder = xlContext
  590. End With
  591. With myExcel.Selection
  592. .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  593. .ShrinkToFit = False : .ReadingOrder = xlContext
  594. End With
  595. With myExcel.Selection
  596. .HorizontalAlignment = xlCenter : .VerticalAlignment = xlTop : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  597. .ShrinkToFit = False : .ReadingOrder = xlContext
  598. End With
  599. myExcel.Selection.AutoFilter
  600. xlSheet.Rows("8:8").Select : myExcel.ActiveWindow.FreezePanes = True
  601. xlSheet.Range("B3:L6").Select()
  602. With myExcel.Selection
  603. .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  604. .ShrinkToFit = False : .ReadingOrder = xlContext
  605. End With
  606. 位置 = "B2:L" & KE + 8
  607. xlSheet.Range(位置).Select()
  608. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  609. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  610. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  611. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  612. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  613. With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  614. With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  615. xlSheet.Range("B2:L6").Select()
  616. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  617. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  618. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  619. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  620. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  621. With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  622. With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  623. myExcel.ActiveWindow.DisplayGridlines = False
  624. 位置 = "D8:I" & KE + 8
  625. xlSheet.Range(位置).Select()
  626. With myExcel.Selection
  627. .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  628. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  629. End With
  630. 位置 = "H8:I" & KE + 8
  631. xlSheet.Range(位置).Select()
  632. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  633. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  634. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  635. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  636. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  637. myExcel.Selection.Borders(xlInsideVertical).LineStyle = xlNone
  638. With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  639. xlSheet.Range("B7:L7").Select()
  640. With myExcel.Selection.Interior
  641. .Pattern = xlSolid : .PatternColorIndex = xlAutomatic : .ThemeColor = xlThemeColorAccent4 : .TintAndShade = 0.399975585192419 : .PatternTintAndShade = 0
  642. End With
  643. xlSheet.Cells.Select()
  644. With myExcel.Selection : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : End With
  645. xlSheet.Range("B1").Select()
  646. End Sub
  647. Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Button14.Click
  648. If My.Application.OpenForms.Item("機構件零件成本建檔") IsNot Nothing Then
  649. 機構件零件成本建檔.BringToFront()
  650. Else
  651. 機構件零件成本建檔.Show()
  652. End If
  653. End Sub
  654. Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click
  655. 條件 = InputBox("請輸入要查詢的零組件編號或類別、科目")
  656. 零組件清單()
  657. End Sub
  658. Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.Click
  659. CheckBox1.Checked = True : CheckBox2.Checked = False
  660. End Sub
  661. Private Sub CheckBox2_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox2.Click
  662. CheckBox2.Checked = True : CheckBox1.Checked = False
  663. End Sub
  664. Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
  665. DataGridView7.DataSource = Nothing : ds6.Clear()
  666. DataGridView7.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  667. DataGridView7.ColumnHeadersHeight = 25
  668. DataGridView7.AllowUserToAddRows = False
  669. ConnOpen()
  670. SQL1 = "SELECT 零組件零件BOM表.機構碼, 零組件零件BOM表.零件流水碼, 零件成本紀錄表.科目, 零件成本紀錄表.品名, 零組件零件BOM表.數量, 零件成本紀錄表.型號及備註," &
  671. "ROUND(Convert(float, 零組件零件BOM表.數量) * Convert(float, 零件成本紀錄表.進貨單價),2) AS 成本, 零件成本紀錄表.幣別, 零件成本紀錄表.品牌 FROM 零組件零件BOM表 INNER JOIN 零件成本紀錄表 " &
  672. "ON 零組件零件BOM表.零件流水碼 = 零件成本紀錄表.流水碼 WHERE 零組件零件BOM表.機構碼 = '" & TextBox1.Text & "' ORDER BY 零件成本紀錄表.科目"
  673. CmdSet_For_DGV() : da.Fill(ds6) : DataGridView7.DataSource = ds6.Tables(0) : conn.Close() : dr.Close() : Set_grid7()
  674. End Sub
  675. End Class