Ingen beskrivning
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 65KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920
  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. Private ReadOnly ds7 As DataSet = New DataSet
  19. Private ReadOnly ds8 As DataSet = New DataSet
  20. Dim 條件 As String
  21. Dim 加總1 As String = "0" : Dim 加總2 As String = "0" : Dim 加總3 As String = "0" : Dim 加總4 As String = "0"
  22. Dim KE As Integer
  23. Private Sub 機構科目清單()
  24. DataGridView4.DataSource = Nothing : ds3.Clear()
  25. DataGridView4.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  26. DataGridView4.ColumnHeadersHeight = 25
  27. DataGridView4.AllowUserToAddRows = False
  28. ConnOpen()
  29. SQL1 = "SELECT 品牌, 供應商, 科目, 類型 FROM 機台成本紀錄表 WHERE (科目 LIKE N'%" & ComboBox3.Text & "%') GROUP BY 品牌, 供應商, 科目, 類型 ORDER BY 類型"
  30. CmdSet_For_DGV() : da.Fill(ds3) : DataGridView4.DataSource = ds3.Tables(0) : conn.Close()
  31. If ComboBox3.Text <> "-請選擇-" Then : Set_grid4() : End If
  32. End Sub
  33. Private Sub 機構名稱清單()
  34. DataGridView5.DataSource = Nothing : ds4.Clear()
  35. DataGridView5.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  36. DataGridView5.ColumnHeadersHeight = 25
  37. DataGridView5.AllowUserToAddRows = False
  38. ConnOpen()
  39. SQL1 = "SELECT 流水碼, 供應商, 品名 FROM 機台成本紀錄表 WHERE (類型 LIKE N'%" & ComboBox4.Text & "%') ORDER BY 流水碼"
  40. CmdSet_For_DGV() : da.Fill(ds4) : DataGridView5.DataSource = ds4.Tables(0) : conn.Close()
  41. Set_grid5()
  42. End Sub
  43. Private Sub 零組件清單()
  44. DataGridView6.DataSource = Nothing : ds5.Clear()
  45. DataGridView6.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  46. DataGridView6.ColumnHeadersHeight = 25
  47. DataGridView6.AllowUserToAddRows = False
  48. ConnOpen()
  49. If 條件 = "" Then
  50. SQL1 = "SELECT 機台零件BOM表.機構碼, 機台成本紀錄表.科目, 機台成本紀錄表.類型, 機台成本紀錄表.品名 FROM 機台零件BOM表 INNER JOIN 機台成本紀錄表" &
  51. " ON 機台零件BOM表.機構碼 = 機台成本紀錄表.流水碼 GROUP BY 機台零件BOM表.機構碼, 機台成本紀錄表.科目, 機台成本紀錄表.類型, " &
  52. "機台成本紀錄表.品名 ORDER BY 機台成本紀錄表.科目"
  53. Else
  54. SQL1 = "SELECT 機台零件BOM表.機構碼, 機台成本紀錄表.科目, 機台成本紀錄表.類型, 機台成本紀錄表.品名 FROM 機台零件BOM表 INNER JOIN 機台成本紀錄表 ON " &
  55. "機台零件BOM表.機構碼 = 機台成本紀錄表.流水碼 WHERE (機台成本紀錄表.流水碼 LIKE N'%" & 條件 & "%') OR (機台成本紀錄表.品牌 LIKE N'%" & 條件 & "%') " &
  56. "OR (機台成本紀錄表.供應商 LIKE N'%" & 條件 & "%') OR (機台成本紀錄表.科目 LIKE N'%" & 條件 & "%') OR (機台成本紀錄表.類型 LIKE N'%" & 條件 & "%') OR " &
  57. "(機台成本紀錄表.品名 LIKE N'%" & 條件 & "%') GROUP BY 機台零件BOM表.機構碼, 機台成本紀錄表.科目, 機台成本紀錄表.類型, 機台成本紀錄表.品名 ORDER BY " &
  58. "機台成本紀錄表.科目"
  59. End If
  60. CmdSet_For_DGV() : da.Fill(ds5) : DataGridView6.DataSource = ds5.Tables(0) : conn.Close()
  61. Set_grid6() : 條件 = ""
  62. End Sub
  63. Private Sub DGV2寫入前設定()
  64. DataGridView2.DataSource = Nothing : ds.Clear()
  65. DataGridView2.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  66. DataGridView2.ColumnHeadersHeight = 25
  67. DataGridView2.AllowUserToAddRows = False
  68. ConnOpen()
  69. End Sub
  70. Private Sub DGV2寫入後設定()
  71. CmdSet_For_DGV() : da.Fill(ds) : DataGridView2.DataSource = ds.Tables(0) : conn.Close()
  72. Set_grid1()
  73. End Sub
  74. Private Sub 讀取零件清單()
  75. If PA = "" Then
  76. DGV2寫入前設定()
  77. SQL1 = "SELECT 流水碼, 品牌, 供應商, 科目, 品名, 型號及備註, 進貨單價, 幣別 FROM 零件成本紀錄表 ORDER BY 科目"
  78. Else
  79. DGV2寫入前設定()
  80. SQL1 = "SELECT 流水碼, 品牌, 供應商, 科目, 品名, 型號及備註, 進貨單價, 幣別 FROM 零件成本紀錄表 WHERE 品牌 like N'%" & PA &
  81. "%' OR 供應商 like N'%" & PA & "%' OR 科目 like N'%" & PA & "%' OR 品名 like N'%" & PA & "%' OR 型號及備註 like N'%" & PA & "%' OR 幣別 like N'%" & PA & "%' ORDER BY 科目"
  82. End If
  83. DGV2寫入後設定()
  84. End Sub
  85. Private Sub 讀取零組件清單()
  86. If PA = "" Then
  87. DGV2寫入前設定()
  88. SQL1 = "SELECT 流水碼, 品牌, 供應商, 科目, 品名, 型號及備註, 進貨單價, 幣別 FROM 零組件成本紀錄表 ORDER BY 科目"
  89. Else
  90. DGV2寫入前設定()
  91. SQL1 = "SELECT 流水碼, 品牌, 供應商, 科目, 品名, 型號及備註, 進貨單價, 幣別 FROM 零組件成本紀錄表 WHERE 品牌 like N'%" & PA &
  92. "%' OR 供應商 like N'%" & PA & "%' OR 科目 like N'%" & PA & "%' OR 品名 like N'%" & PA & "%' OR 型號及備註 like N'%" & PA & "%' OR 幣別 like N'%" & PA & "%' ORDER BY 科目"
  93. End If
  94. DGV2寫入後設定()
  95. End Sub
  96. Private Sub 讀取機構件清單()
  97. If PA = "" Then
  98. DGV2寫入前設定()
  99. SQL1 = "SELECT 流水碼, 品牌, 供應商, 科目, 品名, 型號及備註, 進貨單價, 幣別 FROM 機構件成本紀錄表 ORDER BY 科目"
  100. Else
  101. DGV2寫入前設定()
  102. SQL1 = "SELECT 流水碼, 品牌, 供應商, 科目, 品名, 型號及備註, 進貨單價, 幣別 FROM 機構件成本紀錄表 WHERE 品牌 like N'%" & PA &
  103. "%' OR 供應商 like N'%" & PA & "%' OR 科目 like N'%" & PA & "%' OR 品名 like N'%" & PA & "%' OR 型號及備註 like N'%" & PA & "%' OR 幣別 like N'%" & PA & "%' ORDER BY 科目"
  104. End If
  105. DGV2寫入後設定()
  106. End Sub
  107. Private Sub 讀取機構組件清單()
  108. If PA = "" Then
  109. DGV2寫入前設定()
  110. SQL1 = "SELECT 流水碼, 品牌, 供應商, 科目, 品名, 型號及備註, 進貨單價, 幣別 FROM 機構組件成本紀錄表 ORDER BY 科目"
  111. Else
  112. DGV2寫入前設定()
  113. SQL1 = "SELECT 流水碼, 品牌, 供應商, 科目, 品名, 型號及備註, 進貨單價, 幣別 FROM 機構組件成本紀錄表 WHERE 品牌 like N'%" & PA &
  114. "%' OR 供應商 like N'%" & PA & "%' OR 科目 like N'%" & PA & "%' OR 品名 like N'%" & PA & "%' OR 型號及備註 like N'%" & PA & "%' OR 幣別 like N'%" & PA & "%' ORDER BY 科目"
  115. End If
  116. DGV2寫入後設定()
  117. End Sub
  118. Private Sub 讀取機構組件零件BOM表()
  119. DataGridView1.DataSource = Nothing : ds1.Clear()
  120. DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  121. DataGridView1.ColumnHeadersHeight = 25
  122. DataGridView1.AllowUserToAddRows = False
  123. ConnOpen()
  124. SQL1 = "SELECT 機台零件BOM表.機構碼, 機台零件BOM表.零件流水碼, 零件成本紀錄表.科目, 零件成本紀錄表.品名, 機台零件BOM表.數量, 零件成本紀錄表.型號及備註," &
  125. "ROUND(Convert(float, 機台零件BOM表.數量) * Convert(float, 零件成本紀錄表.進貨單價),2) AS 成本, 零件成本紀錄表.幣別, 零件成本紀錄表.品牌 FROM 機台零件BOM表 INNER JOIN 零件成本紀錄表 " &
  126. "ON 機台零件BOM表.零件流水碼 = 零件成本紀錄表.流水碼 WHERE 機台零件BOM表.機構碼 = '" & ComboBox1.Text & "' ORDER BY 零件成本紀錄表.科目"
  127. CmdSet_For_DGV() : da.Fill(ds1) : DataGridView1.DataSource = ds1.Tables(0) : conn.Close() : dr.Close()
  128. ConnOpen()
  129. SQL1 = "SELECT 機台零件BOM表.機構碼, 機台零件BOM表.零件流水碼, 零組件成本紀錄表.科目, 零組件成本紀錄表.品名, 機台零件BOM表.數量, 零組件成本紀錄表.型號及備註," &
  130. "ROUND(Convert(float, 機台零件BOM表.數量) * Convert(float, 零組件成本紀錄表.進貨單價),2) AS 成本, 零組件成本紀錄表.幣別, 零組件成本紀錄表.品牌 FROM 機台零件BOM表 INNER JOIN 零組件成本紀錄表 " &
  131. "ON 機台零件BOM表.零件流水碼 = 零組件成本紀錄表.流水碼 WHERE 機台零件BOM表.機構碼 = '" & ComboBox1.Text & "' ORDER BY 零組件成本紀錄表.科目"
  132. CmdSet_For_DGV() : da.Fill(ds1) : DataGridView1.DataSource = ds1.Tables(0) : conn.Close() : dr.Close()
  133. ConnOpen()
  134. SQL1 = "SELECT 機台零件BOM表.機構碼, 機台零件BOM表.零件流水碼, 機構件成本紀錄表.科目, 機構件成本紀錄表.品名, 機台零件BOM表.數量, 機構件成本紀錄表.型號及備註," &
  135. "ROUND(Convert(float, 機台零件BOM表.數量) * Convert(float, 機構件成本紀錄表.進貨單價),2) AS 成本, 機構件成本紀錄表.幣別, 機構件成本紀錄表.品牌 FROM 機台零件BOM表 INNER JOIN 機構件成本紀錄表 " &
  136. "ON 機台零件BOM表.零件流水碼 = 機構件成本紀錄表.流水碼 WHERE 機台零件BOM表.機構碼 = '" & ComboBox1.Text & "' ORDER BY 機構件成本紀錄表.科目"
  137. CmdSet_For_DGV() : da.Fill(ds1) : DataGridView1.DataSource = ds1.Tables(0) : conn.Close() : dr.Close()
  138. ConnOpen()
  139. SQL1 = "SELECT 機台零件BOM表.機構碼, 機台零件BOM表.零件流水碼, 機構組件成本紀錄表.科目, 機構組件成本紀錄表.品名, 機台零件BOM表.數量, 機構組件成本紀錄表.型號及備註," &
  140. "ROUND(Convert(float, 機台零件BOM表.數量) * Convert(float, 機構組件成本紀錄表.進貨單價),2) AS 成本, 機構組件成本紀錄表.幣別, 機構組件成本紀錄表.品牌 FROM 機台零件BOM表 INNER JOIN 機構組件成本紀錄表 " &
  141. "ON 機台零件BOM表.零件流水碼 = 機構組件成本紀錄表.流水碼 WHERE 機台零件BOM表.機構碼 = '" & ComboBox1.Text & "' ORDER BY 機構組件成本紀錄表.科目"
  142. CmdSet_For_DGV() : da.Fill(ds1) : DataGridView1.DataSource = ds1.Tables(0) : conn.Close() : dr.Close()
  143. DataGridView3.DataSource = Nothing : ds2.Clear()
  144. DataGridView3.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  145. DataGridView3.ColumnHeadersHeight = 25
  146. DataGridView3.AllowUserToAddRows = False
  147. ConnOpen()
  148. SQL1 = "SELECT 零件成本紀錄表_1.科目, ROUND(SUM(CONVERT(float, 機台零件BOM表_1.數量) * CONVERT(float, 零件成本紀錄表_1.進貨單價)), 2) AS 成本, " &
  149. "ROUND(SUM(CONVERT(float, 機台零件BOM表_1.數量) * CONVERT(float, 零件成本紀錄表_1.進貨單價)) / (SELECT SUM(CONVERT(float, 機台零件BOM表.數量) * " &
  150. "CONVERT(float, 零件成本紀錄表.進貨單價)) AS 成本 FROM 機台零件BOM表 INNER JOIN 零件成本紀錄表 ON 機台零件BOM表.零件流水碼 = 零件成本紀錄表.流水碼 " &
  151. "WHERE (機台零件BOM表.機構碼 = '" & ComboBox1.Text & "')), 4) * 100 AS 百分比 FROM 機台零件BOM表 AS 機台零件BOM表_1 INNER JOIN 零件成本紀錄表 AS " &
  152. "零件成本紀錄表_1 ON 機台零件BOM表_1.零件流水碼 = 零件成本紀錄表_1.流水碼 WHERE (機台零件BOM表_1.機構碼 = '" & ComboBox1.Text & "') GROUP BY " &
  153. "零件成本紀錄表_1.科目 ORDER BY 零件成本紀錄表_1.科目"
  154. CmdSet_For_DGV() : da.Fill(ds2) : DataGridView3.DataSource = ds2.Tables(0) : conn.Close() : dr.Close()
  155. ConnOpen()
  156. SQL1 = "SELECT 零組件成本紀錄表_1.科目, ROUND(SUM(CONVERT(float, 機台零件BOM表_1.數量) * CONVERT(float, 零組件成本紀錄表_1.進貨單價)), 2) AS 成本, " &
  157. "ROUND(SUM(CONVERT(float, 機台零件BOM表_1.數量) * CONVERT(float, 零組件成本紀錄表_1.進貨單價)) / (SELECT SUM(CONVERT(float, 機台零件BOM表.數量) * " &
  158. "CONVERT(float, 零組件成本紀錄表.進貨單價)) AS 成本 FROM 機台零件BOM表 INNER JOIN 零組件成本紀錄表 ON 機台零件BOM表.零件流水碼 = 零組件成本紀錄表.流水碼 " &
  159. "WHERE (機台零件BOM表.機構碼 = '" & ComboBox1.Text & "')), 4) * 100 AS 百分比 FROM 機台零件BOM表 AS 機台零件BOM表_1 INNER JOIN 零組件成本紀錄表 AS " &
  160. "零組件成本紀錄表_1 ON 機台零件BOM表_1.零件流水碼 = 零組件成本紀錄表_1.流水碼 WHERE (機台零件BOM表_1.機構碼 = '" & ComboBox1.Text & "') GROUP BY " &
  161. "零組件成本紀錄表_1.科目 ORDER BY 零組件成本紀錄表_1.科目"
  162. CmdSet_For_DGV() : da.Fill(ds2) : DataGridView3.DataSource = ds2.Tables(0) : conn.Close() : dr.Close()
  163. ConnOpen()
  164. SQL1 = "SELECT 機構件成本紀錄表_1.科目, ROUND(SUM(CONVERT(float, 機台零件BOM表_1.數量) * CONVERT(float, 機構件成本紀錄表_1.進貨單價)), 2) AS 成本, " &
  165. "ROUND(SUM(CONVERT(float, 機台零件BOM表_1.數量) * CONVERT(float, 機構件成本紀錄表_1.進貨單價)) / (SELECT SUM(CONVERT(float, 機台零件BOM表.數量) * " &
  166. "CONVERT(float, 機構件成本紀錄表.進貨單價)) AS 成本 FROM 機台零件BOM表 INNER JOIN 機構件成本紀錄表 ON 機台零件BOM表.零件流水碼 = 機構件成本紀錄表.流水碼 " &
  167. "WHERE (機台零件BOM表.機構碼 = '" & ComboBox1.Text & "')), 4) * 100 AS 百分比 FROM 機台零件BOM表 AS 機台零件BOM表_1 INNER JOIN 機構件成本紀錄表 AS " &
  168. "機構件成本紀錄表_1 ON 機台零件BOM表_1.零件流水碼 = 機構件成本紀錄表_1.流水碼 WHERE (機台零件BOM表_1.機構碼 = '" & ComboBox1.Text & "') GROUP BY " &
  169. "機構件成本紀錄表_1.科目 ORDER BY 機構件成本紀錄表_1.科目"
  170. CmdSet_For_DGV() : da.Fill(ds2) : DataGridView3.DataSource = ds2.Tables(0) : conn.Close() : dr.Close()
  171. ConnOpen()
  172. SQL1 = "SELECT 機構組件成本紀錄表_1.科目, ROUND(SUM(CONVERT(float, 機台零件BOM表_1.數量) * CONVERT(float, 機構組件成本紀錄表_1.進貨單價)), 2) AS 成本, " &
  173. "ROUND(SUM(CONVERT(float, 機台零件BOM表_1.數量) * CONVERT(float, 機構組件成本紀錄表_1.進貨單價)) / (SELECT SUM(CONVERT(float, 機台零件BOM表.數量) * " &
  174. "CONVERT(float, 機構組件成本紀錄表.進貨單價)) AS 成本 FROM 機台零件BOM表 INNER JOIN 機構組件成本紀錄表 ON 機台零件BOM表.零件流水碼 = 機構組件成本紀錄表.流水碼 " &
  175. "WHERE (機台零件BOM表.機構碼 = '" & ComboBox1.Text & "')), 4) * 100 AS 百分比 FROM 機台零件BOM表 AS 機台零件BOM表_1 INNER JOIN 機構組件成本紀錄表 AS " &
  176. "機構組件成本紀錄表_1 ON 機台零件BOM表_1.零件流水碼 = 機構組件成本紀錄表_1.流水碼 WHERE (機台零件BOM表_1.機構碼 = '" & ComboBox1.Text & "') GROUP BY " &
  177. "機構組件成本紀錄表_1.科目 ORDER BY 機構組件成本紀錄表_1.科目"
  178. CmdSet_For_DGV() : da.Fill(ds2) : DataGridView3.DataSource = ds2.Tables(0) : conn.Close() : dr.Close()
  179. ConnOpen()
  180. SQL1 = "SELECT ROUND(SUM(CONVERT(float, 機台零件BOM表.數量) * CONVERT(float, 零件成本紀錄表.進貨單價)), 2) AS 成本 FROM 機台零件BOM表 INNER JOIN 零件成本紀錄表 ON " &
  181. "機台零件BOM表.零件流水碼 = 零件成本紀錄表.流水碼 WHERE (機台零件BOM表.機構碼 = '" & ComboBox1.Text & "')"
  182. CmdSet_For_dr()
  183. If dr.Read() Then : 加總1 = dr("成本").ToString : End If : conn.Close() : dr.Close()
  184. ConnOpen()
  185. SQL1 = "SELECT ROUND(SUM(CONVERT(float, 機台零件BOM表.數量) * CONVERT(float, 零組件成本紀錄表.進貨單價)), 2) AS 成本 FROM 機台零件BOM表 INNER JOIN 零組件成本紀錄表 ON " &
  186. "機台零件BOM表.零件流水碼 = 零組件成本紀錄表.流水碼 WHERE (機台零件BOM表.機構碼 = '" & ComboBox1.Text & "')"
  187. CmdSet_For_dr()
  188. If dr.Read() Then : 加總2 = dr("成本").ToString : End If : conn.Close() : dr.Close()
  189. ConnOpen()
  190. SQL1 = "SELECT ROUND(SUM(CONVERT(float, 機台零件BOM表.數量) * CONVERT(float, 機構件成本紀錄表.進貨單價)), 2) AS 成本 FROM 機台零件BOM表 INNER JOIN 機構件成本紀錄表 ON " &
  191. "機台零件BOM表.零件流水碼 = 機構件成本紀錄表.流水碼 WHERE (機台零件BOM表.機構碼 = '" & ComboBox1.Text & "')"
  192. CmdSet_For_dr()
  193. If dr.Read() Then : 加總3 = dr("成本").ToString : End If : conn.Close() : dr.Close()
  194. ConnOpen()
  195. SQL1 = "SELECT ROUND(SUM(CONVERT(float, 機台零件BOM表.數量) * CONVERT(float, 機構組件成本紀錄表.進貨單價)), 2) AS 成本 FROM 機台零件BOM表 INNER JOIN 機構組件成本紀錄表 ON " &
  196. "機台零件BOM表.零件流水碼 = 機構組件成本紀錄表.流水碼 WHERE (機台零件BOM表.機構碼 = '" & ComboBox1.Text & "')"
  197. CmdSet_For_dr()
  198. If dr.Read() Then : 加總4 = dr("成本").ToString : End If : conn.Close() : dr.Close()
  199. If 加總1 = "" Then : 加總1 = "0" : End If : If 加總2 = "" Then : 加總2 = "0" : End If : If 加總3 = "" Then : 加總3 = "0" : End If : If 加總4 = "" Then : 加總4 = "0" : End If
  200. TextBox6.Text = CStr(Math.Round((Double.Parse(加總1) + Double.Parse(加總2) + Double.Parse(加總3) + Double.Parse(加總4)), 2))
  201. If TextBox6.Text <> "" Or TextBox6.Text <> "0" Or TextBox6.Text <> "0.0" Or TextBox6.Text <> "0.00" Then
  202. If InStr(TextBox6.Text, ".") = 0 Then
  203. If Len(TextBox6.Text) <= 3 Then
  204. TextBox9.Text = TextBox6.Text & ".00"
  205. ElseIf Len(TextBox6.Text) <= 4 Then
  206. TextBox9.Text = Strings.Left(TextBox6.Text, 1) & "," & Mid(TextBox6.Text, 2, 10) & ".00"
  207. ElseIf Len(TextBox6.Text) <= 5 Then
  208. TextBox9.Text = Strings.Left(TextBox6.Text, 2) & "," & Mid(TextBox6.Text, 3, 10) & ".00"
  209. ElseIf Len(TextBox6.Text) <= 6 Then
  210. TextBox9.Text = Strings.Left(TextBox6.Text, 3) & "," & Mid(TextBox6.Text, 4, 10) & ".00"
  211. ElseIf Len(TextBox6.Text) <= 7 Then
  212. TextBox9.Text = Strings.Left(TextBox6.Text, 1) & "," & Mid(TextBox6.Text, 2, 3) & "," & Mid(TextBox6.Text, 5, 10) & ".00"
  213. End If
  214. Else
  215. If InStr(TextBox6.Text, ".") <= 4 Then
  216. TextBox9.Text = TextBox6.Text
  217. ElseIf InStr(TextBox6.Text, ".") = 5 Then
  218. TextBox9.Text = Strings.Left(TextBox6.Text, 1) & "," & Mid(TextBox6.Text, 2, 10)
  219. ElseIf InStr(TextBox6.Text, ".") = 6 Then
  220. TextBox9.Text = Strings.Left(TextBox6.Text, 2) & "," & Mid(TextBox6.Text, 3, 10)
  221. ElseIf InStr(TextBox6.Text, ".") = 7 Then
  222. TextBox9.Text = Strings.Left(TextBox6.Text, 3) & "," & Mid(TextBox6.Text, 4, 10)
  223. ElseIf InStr(TextBox6.Text, ".") = 8 Then
  224. TextBox9.Text = Strings.Left(TextBox6.Text, 1) & "," & Mid(TextBox6.Text, 2, 3) & "," & Mid(TextBox6.Text, 5, 10)
  225. End If
  226. End If
  227. End If
  228. Set_grid2()
  229. If TextBox6.Text = "" Then
  230. TextBox9.Text = ""
  231. End If
  232. End Sub
  233. Private Sub ComboBox4下拉表單資料載入()
  234. conn.Close()
  235. If ComboBox3.Text = "" Or ComboBox3.Text = "-請選擇-" Then
  236. ComboBox3.Text = "-請選擇-"
  237. ConnOpen()
  238. SQL1 = "SELECT 類型 FROM 機構成本科目類型表 ORDER BY 類型"
  239. Else
  240. ConnOpen()
  241. SQL1 = "SELECT 類型 FROM 機構成本科目類型表 WHERE (科目 ='" & ComboBox3.Text & "') ORDER BY 類型"
  242. End If
  243. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  244. ComboBox4.Items.Clear()
  245. While (dr.Read())
  246. ComboBox4.Items.Add(dr("類型"))
  247. End While
  248. conn.Close()
  249. End Sub
  250. Private Sub ComboBox1下拉表單資料載入()
  251. conn.Close()
  252. If ComboBox4.Text = "" Or ComboBox4.Text = "-請選擇-" Or ComboBox3.Text = "" Or ComboBox3.Text = "-請選擇-" Then
  253. ComboBox4.Text = "-請選擇-"
  254. ConnOpen()
  255. SQL1 = "SELECT 流水碼 FROM 機台成本紀錄表 ORDER BY 流水碼 DESC"
  256. Else
  257. ConnOpen()
  258. SQL1 = "SELECT 流水碼 FROM 機台成本紀錄表 WHERE 科目 like N'%" & ComboBox3.Text & "%' AND 類型 like N'%" & ComboBox4.Text & "%' ORDER BY 流水碼 DESC"
  259. End If
  260. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  261. ComboBox1.Items.Clear()
  262. While (dr.Read())
  263. ComboBox1.Items.Add(dr("流水碼"))
  264. End While
  265. conn.Close()
  266. End Sub
  267. Private Sub 格式設定()
  268. TextBox1.Text = "" : TextBox2.Text = "" : TextBox4.Text = ""
  269. ComboBox1.Enabled = True : Button3.Enabled = True : Button7.Enabled = False : Button2.Enabled = False : Button4.Enabled = False : Button5.Enabled = False
  270. Button8.Enabled = True : Button9.Enabled = False : Button10.Enabled = True : Button11.Enabled = False
  271. Button12.Enabled = False : Button13.Enabled = False
  272. End Sub
  273. Private Sub Set_grid1()
  274. DataGridView2.Columns(0).Visible = False : DataGridView2.Columns(1).Width = 55 : DataGridView2.Columns(2).Width = 80
  275. DataGridView2.Columns(3).Width = 110 : DataGridView2.Columns(4).Width = 230 : DataGridView2.Columns(5).Width = 120
  276. DataGridView2.Columns(6).Visible = False : DataGridView2.Columns(7).Visible = False
  277. End Sub
  278. Private Sub Set_grid2()
  279. DataGridView1.Columns(0).Visible = False : DataGridView1.Columns(1).Width = 80 : DataGridView1.Columns(2).Width = 80
  280. DataGridView1.Columns(3).Width = 250 : DataGridView1.Columns(4).Width = 70 : DataGridView1.Columns(5).Width = 120
  281. DataGridView1.Columns(6).Width = 60 : DataGridView1.Columns(7).Width = 50 : DataGridView1.Columns(8).Visible = False
  282. End Sub
  283. Private Sub Set_grid4()
  284. DataGridView4.Columns(0).Width = 60 : DataGridView4.Columns(1).Width = 60 : DataGridView4.Columns(2).Width = 70
  285. DataGridView4.Columns(3).Width = 115
  286. End Sub
  287. Private Sub Set_grid5()
  288. DataGridView5.Columns(0).Width = 80 : DataGridView5.Columns(1).Width = 60 : DataGridView5.Columns(2).Width = 170
  289. End Sub
  290. Private Sub Set_grid6()
  291. DataGridView6.Columns(0).Width = 65 : DataGridView6.Columns(1).Width = 70 : DataGridView6.Columns(2).Width = 70
  292. DataGridView6.Columns(3).Width = 100
  293. End Sub
  294. Private Sub Set_grid7()
  295. DataGridView7.Columns(0).Visible = False : DataGridView7.Columns(1).Width = 80 : DataGridView7.Columns(2).Width = 80
  296. DataGridView7.Columns(3).Width = 250 : DataGridView7.Columns(4).Width = 70 : DataGridView7.Columns(5).Width = 120
  297. DataGridView7.Columns(6).Width = 60 : DataGridView7.Columns(7).Width = 50 : DataGridView7.Columns(8).Visible = False
  298. End Sub
  299. Private Sub Set_grid8()
  300. DataGridView8.Columns(0).Visible = False : DataGridView8.Columns(1).Width = 80 : DataGridView8.Columns(2).Width = 80
  301. DataGridView8.Columns(3).Width = 250 : DataGridView8.Columns(4).Width = 70 : DataGridView8.Columns(5).Width = 120
  302. DataGridView8.Columns(6).Width = 60 : DataGridView8.Columns(7).Width = 50 : DataGridView8.Columns(8).Visible = False
  303. End Sub
  304. Private Sub Set_grid9()
  305. DataGridView9.Columns(0).Visible = False : DataGridView9.Columns(1).Width = 80 : DataGridView9.Columns(2).Width = 80
  306. DataGridView9.Columns(3).Width = 250 : DataGridView9.Columns(4).Width = 70 : DataGridView9.Columns(5).Width = 120
  307. DataGridView9.Columns(6).Width = 60 : DataGridView9.Columns(7).Width = 50 : DataGridView9.Columns(8).Visible = False
  308. End Sub
  309. Private Sub DataGridView2_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView2.CellClick
  310. If e.RowIndex = -1 Then : Else
  311. TextBox1.Text = DataGridView2(0, e.RowIndex).Value.ToString : TextBox4.Text = DataGridView2(4, e.RowIndex).Value.ToString
  312. End If
  313. End Sub
  314. Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
  315. If e.RowIndex = -1 Then : Else
  316. TextBox1.Text = DataGridView1(1, e.RowIndex).Value.ToString : TextBox4.Text = DataGridView1(3, e.RowIndex).Value.ToString
  317. End If
  318. End Sub
  319. Private Sub DataGridView4_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView4.CellClick
  320. If e.RowIndex = -1 Then : Else
  321. ComboBox4.Text = DataGridView4(3, e.RowIndex).Value.ToString
  322. End If
  323. End Sub
  324. Private Sub DataGridView5_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView5.CellClick
  325. If e.RowIndex = -1 Then : Else
  326. ComboBox1.Text = DataGridView5(0, e.RowIndex).Value.ToString
  327. End If
  328. End Sub
  329. Private Sub DataGridView6_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView6.CellClick
  330. If e.RowIndex = -1 Then : Else
  331. ComboBox3.Text = DataGridView6(1, e.RowIndex).Value.ToString : ComboBox4.Text = DataGridView6(2, e.RowIndex).Value.ToString
  332. End If
  333. End Sub
  334. Private Sub DataGridView7_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView7.CellClick
  335. If e.RowIndex = -1 Then : Else
  336. TextBox7.Text = DataGridView7(1, e.RowIndex).Value.ToString
  337. End If
  338. End Sub
  339. Private Sub DataGridView8_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView8.CellClick
  340. If e.RowIndex = -1 Then : Else
  341. TextBox8.Text = DataGridView8(1, e.RowIndex).Value.ToString
  342. End If
  343. End Sub
  344. Private Sub 機台零件BOM表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  345. Me.MdiParent = GCM_ERP_SYS
  346. Me.WindowState = 2
  347. ComboBox3.Items.AddRange(科目清單)
  348. If CheckBox1.Checked = True Then
  349. 讀取零件清單()
  350. ElseIf CheckBox2.Checked = True Then
  351. 讀取零組件清單()
  352. ElseIf CheckBox3.Checked = True Then
  353. 讀取機構件清單()
  354. ElseIf CheckBox4.Checked = True Then
  355. 讀取機構組件清單()
  356. End If
  357. ComboBox4下拉表單資料載入() : ComboBox1下拉表單資料載入() : 格式設定()
  358. 機構科目清單() : 機構名稱清單() : 零組件清單()
  359. ComboBox1.SelectedIndex = 0
  360. End Sub
  361. Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove
  362. timeNow = 0
  363. GCM_ERP_SYS.Timer1.Enabled = False
  364. GCM_ERP_SYS.Timer1.Enabled = True
  365. End Sub
  366. Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress
  367. timeNow = 0
  368. GCM_ERP_SYS.Timer1.Enabled = False
  369. GCM_ERP_SYS.Timer1.Enabled = True
  370. End Sub
  371. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  372. PA = InputBox("請輸入要查詢零件的資料")
  373. If CheckBox1.Checked = True Then
  374. 讀取零件清單()
  375. ElseIf CheckBox2.Checked = True Then
  376. 讀取零組件清單()
  377. ElseIf CheckBox3.Checked = True Then
  378. 讀取機構件清單()
  379. ElseIf CheckBox4.Checked = True Then
  380. 讀取機構組件清單()
  381. End If
  382. End Sub
  383. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
  384. If TextBox1.Text = "" Then
  385. MsgBox("請選擇零件")
  386. Else
  387. ConnOpen()
  388. SQL1 = "SELECT 零件流水碼 FROM 機台零件BOM表 WHERE 機構碼 = '" & ComboBox1.Text & "' AND 零件流水碼 = '" & TextBox1.Text & "'"
  389. CmdSet_For_dr()
  390. If dr.Read() Then : TextBox3.Text = dr("零件流水碼").ToString : End If
  391. conn.Close() : dr.Close()
  392. If TextBox3.Text = "" Then
  393. Dim a As String = InputBox("請輸入數量")
  394. ConnOpen()
  395. SQL1 = "INSERT INTO 機台零件BOM表 (機構碼, 零件流水碼, 數量) VALUES ('" & ComboBox1.Text & "','" & TextBox1.Text & "','" & a & "')"
  396. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery()
  397. conn.Close()
  398. Else
  399. MsgBox("零件已有選擇,如需增加請修改數量")
  400. End If
  401. End If
  402. TextBox1.Text = "" : TextBox3.Text = "" : TextBox4.Text = ""
  403. 讀取機構組件零件BOM表()
  404. End Sub
  405. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
  406. If TextBox1.Text = "" Then
  407. MsgBox("請選擇零件")
  408. Else
  409. ConnOpen()
  410. SQL1 = "SELECT 零件流水碼 FROM 機台零件BOM表 WHERE 機構碼 = '" & ComboBox1.Text & "' AND 零件流水碼 = '" & TextBox1.Text & "'"
  411. CmdSet_For_dr()
  412. If dr.Read() Then : TextBox3.Text = dr("零件流水碼").ToString : End If
  413. conn.Close() : dr.Close()
  414. If TextBox3.Text <> "" Then
  415. Dim a As String = InputBox("請輸入修改數量")
  416. ConnOpen()
  417. SQL1 = "UPDATE 機台零件BOM表 SET 機構碼 = '" & ComboBox1.Text & "', 數量 = '" & a & "' WHERE (零件流水碼 = '" & TextBox1.Text & "') and (機構碼 = '" & ComboBox1.Text & "')"
  418. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  419. Else
  420. MsgBox("請正確選擇")
  421. End If
  422. End If
  423. TextBox1.Text = "" : TextBox3.Text = "" : TextBox4.Text = ""
  424. 讀取機構組件零件BOM表()
  425. End Sub
  426. Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
  427. If TextBox1.Text = "" Then
  428. MsgBox("請選擇零件")
  429. Else
  430. SQL1 = "DELETE FROM 機台零件BOM表 WHERE (零件流水碼 = '" & TextBox1.Text & "') and (機構碼 = '" & ComboBox1.Text & "')"
  431. cmd.CommandText = SQL1 : cmd.Connection = conn
  432. ConnOpen()
  433. cmd.ExecuteNonQuery() : MsgBox("刪除完成")
  434. conn.Close()
  435. End If
  436. TextBox1.Text = "" : TextBox3.Text = "" : TextBox4.Text = ""
  437. 讀取機構組件零件BOM表()
  438. End Sub
  439. Private Sub ComboBox3_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox3.SelectedIndexChanged
  440. ComboBox4下拉表單資料載入() : 機構科目清單()
  441. End Sub
  442. Private Sub ComboBox4_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox4.SelectedIndexChanged
  443. ComboBox1下拉表單資料載入() : 機構名稱清單()
  444. End Sub
  445. Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
  446. conn.Close() : dr.Close()
  447. ConnOpen()
  448. SQL1 = "SELECT 品名, 型號及備註, 幣別 FROM 機台成本紀錄表 WHERE 流水碼 = '" & ComboBox1.Text & "'"
  449. CmdSet_For_dr()
  450. If dr.Read() Then
  451. TextBox2.Text = dr("品名").ToString : TextBox5.Text = dr("型號及備註").ToString : ComboBox2.Text = dr("幣別").ToString
  452. End If
  453. conn.Close() : dr.Close()
  454. ConnOpen()
  455. SQL1 = "SELECT 科目 FROM 機台成本紀錄表 WHERE 流水碼 = '" & ComboBox1.Text & "'"
  456. CmdSet_For_dr()
  457. If dr.Read() Then
  458. ComboBox3.Text = dr("科目").ToString
  459. End If
  460. conn.Close() : dr.Close()
  461. ConnOpen()
  462. SQL1 = "SELECT 類型 FROM 機台成本紀錄表 WHERE 流水碼 = '" & ComboBox1.Text & "'"
  463. CmdSet_For_dr()
  464. If dr.Read() Then
  465. ComboBox4.Text = dr("類型").ToString
  466. End If
  467. conn.Close() : dr.Close()
  468. 讀取機構組件零件BOM表()
  469. End Sub
  470. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
  471. If ComboBox3.Text = "-請選擇-" Or ComboBox4.Text = "-請選擇-" Then
  472. MsgBox("科目或類型欄位不可空白")
  473. Else
  474. Dim NUM1 As Integer
  475. For NUM1 = 0 To 99999
  476. If NUM1 < 10 Then
  477. TextBox1.Text = "CM" & "0000" & NUM1
  478. ElseIf NUM1 > 9 And NUM1 < 100 Then
  479. TextBox1.Text = "CM" & "000" & NUM1
  480. ElseIf NUM1 > 99 And NUM1 < 1000 Then
  481. TextBox1.Text = "CM" & "00" & NUM1
  482. ElseIf NUM1 > 999 And NUM1 < 10000 Then
  483. TextBox1.Text = "CM" & "0" & NUM1
  484. ElseIf NUM1 > 9999 Then
  485. TextBox1.Text = "CM" & NUM1
  486. End If
  487. ConnOpen()
  488. SQL1 = "SELECT 流水碼 FROM 機台成本紀錄表 WHERE (流水碼 ='" & TextBox1.Text & "')"
  489. CmdSet_For_dr()
  490. If dr.Read() Then
  491. ComboBox1.Text = dr("流水碼").ToString
  492. Else
  493. ComboBox1.Text = ""
  494. End If
  495. conn.Close()
  496. If ComboBox1.Text = "" Then
  497. ComboBox1.Text = TextBox1.Text : TextBox1.Text = "可用"
  498. TextBox1.Text = "" : TextBox2.Text = "" : TextBox5.Text = "" : ComboBox2.Text = ""
  499. ComboBox1.Enabled = False : Button3.Enabled = False : Button7.Enabled = True : Button12.Enabled = True
  500. NUM1 = 99999
  501. End If
  502. Next
  503. Button2.Enabled = True : Button4.Enabled = True : Button5.Enabled = True
  504. 讀取機構組件零件BOM表()
  505. End If
  506. End Sub
  507. Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
  508. If ComboBox1.Enabled = True Or ComboBox3.Text = "-請選擇-" Or ComboBox4.Text = "-請選擇-" Or TextBox2.Text = "" Or TextBox6.Text = "" Or ComboBox2.Text = "" Then
  509. MsgBox("資料不足請檢查後重新確認")
  510. Else
  511. ConnOpen()
  512. SQL1 = "INSERT INTO 機台成本紀錄表 (流水碼, 品牌, 供應商, 科目, 類型, 型號及備註, 品名, 供應商成本, 進貨單價, 幣別) VALUES ('" & ComboBox1.Text &
  513. "','工巧明','工巧明','" & ComboBox3.Text & "','" & ComboBox4.Text & "','" & TextBox5.Text & "','" & TextBox2.Text &
  514. "','','" & TextBox6.Text & "','" & ComboBox2.Text & "')"
  515. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery()
  516. MsgBox("新增完成")
  517. conn.Close()
  518. 格式設定() : ComboBox1下拉表單資料載入() : 讀取機構組件零件BOM表() : 機構科目清單() : 機構名稱清單() : 零組件清單()
  519. ComboBox1.Enabled = True
  520. End If
  521. End Sub
  522. Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click
  523. ComboBox1.Text = ""
  524. 格式設定() : ComboBox1下拉表單資料載入() : 讀取機構組件零件BOM表()
  525. ComboBox1.SelectedIndex = 0
  526. End Sub
  527. Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
  528. Button2.Enabled = True : Button4.Enabled = True : Button5.Enabled = True : Button8.Enabled = False : Button9.Enabled = True : ComboBox1.Enabled = False
  529. Button13.Enabled = True
  530. End Sub
  531. Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
  532. If ComboBox1.Enabled = True Or ComboBox3.Text = "-請選擇-" Or ComboBox4.Text = "-請選擇-" Or TextBox2.Text = "" Or TextBox6.Text = "" Or ComboBox2.Text = "" Then
  533. MsgBox("資料不足請檢查後重新確認")
  534. Else
  535. ConnOpen()
  536. SQL1 = "UPDATE 機台成本紀錄表 SET 品牌 = '工巧明', 供應商 = '工巧明', 科目 = '" & ComboBox3.Text & "', 類型 = '" & ComboBox4.Text &
  537. "', 型號及備註 = '" & TextBox5.Text & "', 品名 = '" & TextBox2.Text & "', 供應商成本 = '', 進貨單價 = '" & TextBox6.Text &
  538. "', 幣別 = '" & ComboBox2.Text & "' WHERE (流水碼 = '" & ComboBox1.Text & "')"
  539. cmd.CommandText = SQL1 : cmd.ExecuteNonQuery()
  540. MsgBox("修改完成")
  541. conn.Close()
  542. 格式設定() : ComboBox1下拉表單資料載入() : 讀取機構組件零件BOM表()
  543. End If
  544. End Sub
  545. Private Sub Button13_Click(sender As Object, e As EventArgs) Handles Button13.Click
  546. 格式設定() : ComboBox1下拉表單資料載入() : 讀取機構組件零件BOM表()
  547. End Sub
  548. Private Sub Button10_Click(sender As Object, e As EventArgs) Handles Button10.Click
  549. Button10.Enabled = False : Button11.Enabled = True
  550. End Sub
  551. Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click
  552. SQL1 = "DELETE FROM 機台成本紀錄表 WHERE (流水碼 = '" & ComboBox1.Text & "')"
  553. SQL1 = "DELETE FROM 機台零件BOM表 WHERE (機構碼 = '" & ComboBox1.Text & "')"
  554. cmd.CommandText = SQL : cmd.Connection = conn
  555. cmd.CommandText = SQL1 : cmd.Connection = conn
  556. ConnOpen()
  557. ConnOpen()
  558. Dim aa As MsgBoxResult
  559. aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel)
  560. If aa = MsgBoxResult.Ok Then : cmd.ExecuteNonQuery() : cmd.ExecuteNonQuery() : MsgBox("刪除完成") : End If
  561. conn.Close() : conn.Close()
  562. 格式設定() : ComboBox1下拉表單資料載入() : 讀取機構組件零件BOM表()
  563. End Sub
  564. Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
  565. Dim xlApp As Microsoft.Office.Interop.Excel.Application
  566. Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
  567. Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
  568. xlApp = CType(CreateObject("Excel.Application"), Microsoft.Office.Interop.Excel.Application)
  569. xlBook = xlApp.Workbooks.Add
  570. xlApp.DisplayAlerts = True
  571. xlBook.Activate()
  572. xlSheet = NewMethod(xlBook)
  573. xlSheet.Activate()
  574. xlApp.Visible = True
  575. xlApp.Application.WindowState = xlMaximized
  576. xlSheet.Cells(2, 2) = "工巧明智能設備有限公司 機台-零件BOM表"
  577. xlSheet.Cells(3, 2) = "客戶名稱:"
  578. xlSheet.Cells(4, 2) = "機購編號:"
  579. xlSheet.Cells(5, 2) = "機構名稱:"
  580. xlSheet.Cells(6, 2) = "型號及備註:"
  581. xlSheet.Cells(3, 11) = "機構科目:"
  582. xlSheet.Cells(4, 11) = "機構類型:"
  583. xlSheet.Cells(5, 11) = "技術開發課確認者:"
  584. xlSheet.Cells(6, 11) = "修改日期:"
  585. xlSheet.Cells(6, 12) = String.Format("{0:d}", Now)
  586. xlSheet.Cells(7, 2) = "項次" : xlSheet.Cells(7, 6) = "零件流水碼" : xlSheet.Cells(7, 7) = "品牌" : xlSheet.Cells(7, 8) = "科目" : xlSheet.Cells(7, 9) = "品名"
  587. xlSheet.Cells(7, 10) = "型號及備註" : xlSheet.Cells(7, 12) = "數量" : xlSheet.Cells(7, 16) = "說明"
  588. xlSheet.Cells(4, 5) = ComboBox1.Text : xlSheet.Cells(5, 5) = TextBox2.Text : xlSheet.Cells(6, 5) = TextBox5.Text
  589. xlSheet.Cells(3, 12) = ComboBox3.Text : xlSheet.Cells(4, 12) = ComboBox4.Text
  590. Dim i As Integer : Dim ii As Integer : Dim iii As Integer : Dim iiii As Integer : Dim ni1 As Integer = -1 : Dim ni1s As Integer = 0
  591. For ni1 = ni1 + 1 To DataGridView1.Rows.Count - 1
  592. xlSheet.Cells(i + 8, 2) = ni1s + 1
  593. xlSheet.Cells(i + 8, 6) = DataGridView1.Rows(ni1).Cells("零件流水碼").Value
  594. xlSheet.Cells(i + 8, 7) = DataGridView1.Rows(ni1).Cells("品牌").Value
  595. xlSheet.Cells(i + 8, 8) = DataGridView1.Rows(ni1).Cells("科目").Value
  596. xlSheet.Cells(i + 8, 9) = DataGridView1.Rows(ni1).Cells("品名").Value
  597. xlSheet.Cells(i + 8, 10) = DataGridView1.Rows(ni1).Cells("型號及備註").Value
  598. xlSheet.Cells(i + 8, 12) = DataGridView1.Rows(ni1).Cells("數量").Value
  599. With xlApp.Selection
  600. .Font.Bold = True
  601. End With
  602. i += 1 : ni1s += 1
  603. TextBox1.Text = DataGridView1.Rows(ni1).Cells("零件流水碼").Value
  604. If Strings.Left(TextBox1.Text, 2) = "MS" Or Strings.Left(TextBox1.Text, 2) = "MP" Or Strings.Left(TextBox1.Text, 2) = "GS" Then
  605. Dim ni2 As Integer = -1 : Dim ni2s As Integer = 0 : ii = i
  606. For ni2 = ni2 + 1 To DataGridView7.Rows.Count - 1
  607. xlSheet.Cells(ii + 8, 3) = ni1s & "_" & ni2s + 1
  608. xlSheet.Cells(ii + 8, 6) = DataGridView7.Rows(ni2).Cells("零件流水碼").Value
  609. xlSheet.Cells(ii + 8, 7) = DataGridView7.Rows(ni2).Cells("品牌").Value
  610. xlSheet.Cells(ii + 8, 8) = DataGridView7.Rows(ni2).Cells("科目").Value
  611. xlSheet.Cells(ii + 8, 9) = DataGridView7.Rows(ni2).Cells("品名").Value
  612. xlSheet.Cells(ii + 8, 10) = DataGridView7.Rows(ni2).Cells("型號及備註").Value
  613. xlSheet.Cells(ii + 8, 13) = DataGridView7.Rows(ni2).Cells("數量").Value
  614. With xlApp.Selection
  615. .Font.Bold = True
  616. End With
  617. ii += 1 : ni2s += 1
  618. TextBox7.Text = DataGridView7.Rows(ni2).Cells("零件流水碼").Value
  619. If Strings.Left(TextBox7.Text, 2) = "MS" Or Strings.Left(TextBox7.Text, 2) = "MP" Then
  620. Dim ni3 As Integer = -1 : Dim ni3s As Integer = 0 : iii = ii
  621. For ni3 = ni3 + 1 To DataGridView8.Rows.Count - 1
  622. xlSheet.Cells(iii + 8, 4) = ni1s & "_" & ni2s & "_" & ni3s + 1
  623. xlSheet.Cells(iii + 8, 6) = DataGridView8.Rows(ni3).Cells("零件流水碼").Value
  624. xlSheet.Cells(iii + 8, 7) = DataGridView8.Rows(ni3).Cells("品牌").Value
  625. xlSheet.Cells(iii + 8, 8) = DataGridView8.Rows(ni3).Cells("科目").Value
  626. xlSheet.Cells(iii + 8, 9) = DataGridView8.Rows(ni3).Cells("品名").Value
  627. xlSheet.Cells(iii + 8, 10) = DataGridView8.Rows(ni3).Cells("型號及備註").Value
  628. xlSheet.Cells(iii + 8, 14) = DataGridView8.Rows(ni3).Cells("數量").Value
  629. With xlApp.Selection
  630. .Font.Bold = True
  631. End With
  632. iii += 1 : ni3s += 1
  633. TextBox8.Text = DataGridView8.Rows(ni3).Cells("零件流水碼").Value
  634. If Strings.Left(TextBox8.Text, 2) = "MS" Then
  635. Dim ni4 As Integer = -1 : Dim ni4s As Integer = 0 : iiii = iii
  636. For ni4 = ni4 + 1 To DataGridView9.Rows.Count - 1
  637. xlSheet.Cells(iiii + 8, 5) = ni1s & "_" & ni2s & "_" & ni3s & "_" & ni4s + 1
  638. xlSheet.Cells(iiii + 8, 6) = DataGridView9.Rows(ni4).Cells("零件流水碼").Value
  639. xlSheet.Cells(iiii + 8, 7) = DataGridView9.Rows(ni4).Cells("品牌").Value
  640. xlSheet.Cells(iiii + 8, 8) = DataGridView9.Rows(ni4).Cells("科目").Value
  641. xlSheet.Cells(iiii + 8, 9) = DataGridView9.Rows(ni4).Cells("品名").Value
  642. xlSheet.Cells(iiii + 8, 10) = DataGridView9.Rows(ni4).Cells("型號及備註").Value
  643. xlSheet.Cells(iiii + 8, 15) = DataGridView9.Rows(ni4).Cells("數量").Value
  644. With xlApp.Selection
  645. .Font.Bold = True
  646. End With
  647. iiii += 1 : ni4s += 1
  648. Next ni4
  649. iii = iiii + 1
  650. End If
  651. Next ni3
  652. ii = iii + 1
  653. End If
  654. Next ni2
  655. i = ii + 1
  656. End If
  657. KE = i
  658. Next ni1
  659. AA(xlApp, xlSheet)
  660. xlSheet.PageSetup.PrintArea = ""
  661. xlApp.Cells.Select()
  662. xlSheet.Range("B1").Select()
  663. xlApp.Application.WindowState = xlMinimized
  664. MsgBox("列印完成")
  665. End Sub
  666. Private Shared Function NewMethod(xlBook As Microsoft.Office.Interop.Excel.Workbook) As Microsoft.Office.Interop.Excel.Worksheet
  667. Return CType(xlBook.Worksheets.Add, Microsoft.Office.Interop.Excel.Worksheet)
  668. End Function
  669. Private Sub AA(ByVal myExcel As Microsoft.Office.Interop.Excel.Application, ByVal xlSheet As Microsoft.Office.Interop.Excel.Worksheet)
  670. Dim 位置 As String
  671. xlSheet.Columns("A:A").ColumnWidth = 1
  672. xlSheet.Columns("B:B").Select : myExcel.Selection.ColumnWidth = 3
  673. xlSheet.Columns("C:C").Select : myExcel.Selection.ColumnWidth = 6
  674. xlSheet.Columns("D:D").Select : myExcel.Selection.ColumnWidth = 8
  675. xlSheet.Columns("E:E").Select : myExcel.Selection.ColumnWidth = 10
  676. xlSheet.Columns("F:H").Select : myExcel.Selection.ColumnWidth = 12
  677. xlSheet.Columns("I:I").Select : myExcel.Selection.ColumnWidth = 40
  678. xlSheet.Columns("J:K").Select : myExcel.Selection.ColumnWidth = 20
  679. xlSheet.Columns("L:O").Select : myExcel.Selection.ColumnWidth = 4
  680. xlSheet.Columns("P:P").Select : myExcel.Selection.ColumnWidth = 40
  681. xlSheet.Rows("1:1").Select : myExcel.Selection.RowHeight = 5
  682. xlSheet.Rows("2:2").Select : myExcel.Selection.RowHeight = 30
  683. xlSheet.Rows("3:6").Select : myExcel.Selection.RowHeight = 15
  684. xlSheet.Rows("7:7").Select : myExcel.Selection.RowHeight = 25
  685. xlSheet.Cells.Select() : myExcel.ActiveWindow.DisplayGridlines = False
  686. With myExcel.Selection.Font
  687. .Name = "微軟正黑體" : .Size = 10 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  688. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone
  689. End With
  690. xlSheet.Range("B2").Select()
  691. With myExcel.Selection.Font
  692. .Name = "微軟正黑體" : .Size = 14 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  693. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone
  694. End With
  695. xlSheet.Cells.Select()
  696. With myExcel.Selection
  697. .HorizontalAlignment = xlGeneral : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  698. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  699. End With
  700. With myExcel.Selection
  701. .HorizontalAlignment = xlGeneral : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  702. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  703. End With
  704. 位置 = "B2:P" & KE + 8
  705. xlSheet.Range(位置).Select()
  706. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  707. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  708. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  709. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  710. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  711. With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  712. With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  713. 位置 = "J8:K" & KE + 8
  714. xlSheet.Range(位置).Select()
  715. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  716. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  717. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  718. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  719. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  720. myExcel.Selection.Borders(xlInsideVertical).LineStyle = xlNone
  721. With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  722. xlSheet.Range("B2:P2,B3:D3,B4:D4,B5:D5,B6:D6,B7:E7,E3:J3,E4:J4,E5:J5,E6:J6,L3:P3,L4:P4,L5:P5,L6:P6,J7:K7,L7:O7").Select()
  723. xlSheet.Range("L7").Activate()
  724. With myExcel.Selection
  725. .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  726. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  727. End With
  728. myExcel.Selection.Merge
  729. xlSheet.Range("B2:P6").Select()
  730. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  731. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  732. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  733. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  734. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  735. With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  736. xlSheet.Rows("7:7").Select : myExcel.Selection.AutoFilter
  737. xlSheet.Columns("B:E").Select
  738. With myExcel.Selection
  739. .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  740. .ShrinkToFit = False : .ReadingOrder = xlContext
  741. End With
  742. xlSheet.Columns("F:K").Select
  743. With myExcel.Selection
  744. .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  745. .ShrinkToFit = False : .ReadingOrder = xlContext
  746. End With
  747. xlSheet.Columns("L:O").Select
  748. With myExcel.Selection
  749. .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  750. .ShrinkToFit = False : .ReadingOrder = xlContext
  751. End With
  752. xlSheet.Range("B7:P7").Select()
  753. With myExcel.Selection
  754. .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  755. .ShrinkToFit = False : .ReadingOrder = xlContext
  756. End With
  757. With myExcel.Selection
  758. .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  759. .ShrinkToFit = False : .ReadingOrder = xlContext
  760. End With
  761. xlSheet.Range("B3:P6").Select()
  762. With myExcel.Selection
  763. .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  764. .ShrinkToFit = False : .ReadingOrder = xlContext
  765. End With
  766. xlSheet.Rows("8:8").Select : myExcel.ActiveWindow.FreezePanes = True
  767. 位置 = "F8:J" & KE + 8
  768. xlSheet.Range(位置).Select()
  769. With myExcel.Selection
  770. .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  771. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False
  772. End With
  773. xlSheet.Range("B7:P7").Select()
  774. With myExcel.Selection.Interior
  775. .Pattern = xlSolid : .PatternColorIndex = xlAutomatic : .ThemeColor = xlThemeColorAccent6 : .TintAndShade = 0.399975585192419 : .PatternTintAndShade = 0
  776. End With
  777. xlSheet.Range("B7:P7").Select()
  778. With myExcel.Selection
  779. .HorizontalAlignment = xlCenter : .VerticalAlignment = xlTop : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  780. .ShrinkToFit = False : .ReadingOrder = xlContext
  781. End With
  782. xlSheet.Range("B1").Select()
  783. End Sub
  784. Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Button14.Click
  785. If My.Application.OpenForms.Item("機台零件成本建檔") IsNot Nothing Then
  786. 機台零件成本建檔.BringToFront()
  787. Else
  788. 機台零件成本建檔.Show()
  789. End If
  790. End Sub
  791. Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click
  792. 條件 = InputBox("請輸入要查詢的零組件編號或類別、科目")
  793. 零組件清單()
  794. End Sub
  795. Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.Click
  796. CheckBox1.Checked = True : CheckBox2.Checked = False : CheckBox3.Checked = False : CheckBox4.Checked = False
  797. End Sub
  798. Private Sub CheckBox2_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox2.Click
  799. CheckBox2.Checked = True : CheckBox1.Checked = False : CheckBox3.Checked = False : CheckBox4.Checked = False
  800. End Sub
  801. Private Sub CheckBox3_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox3.Click
  802. CheckBox2.Checked = False : CheckBox1.Checked = False : CheckBox3.Checked = True : CheckBox4.Checked = False
  803. End Sub
  804. Private Sub CheckBox4_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox4.Click
  805. CheckBox2.Checked = False : CheckBox1.Checked = False : CheckBox3.Checked = False : CheckBox4.Checked = True
  806. End Sub
  807. Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
  808. DataGridView7.DataSource = Nothing : ds6.Clear()
  809. DataGridView7.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  810. DataGridView7.ColumnHeadersHeight = 25
  811. DataGridView7.AllowUserToAddRows = False
  812. '機構組件---機構件
  813. ConnOpen()
  814. SQL1 = "SELECT 機構組件零件BOM表.機構碼, 機構組件零件BOM表.零件流水碼, 機構件成本紀錄表.科目, 機構件成本紀錄表.品名, 機構組件零件BOM表.數量, 機構件成本紀錄表.型號及備註," &
  815. "ROUND(Convert(float, 機構組件零件BOM表.數量) * Convert(float, 機構件成本紀錄表.進貨單價),2) AS 成本, 機構件成本紀錄表.幣別, 機構件成本紀錄表.品牌 FROM 機構組件零件BOM表 INNER JOIN 機構件成本紀錄表 " &
  816. "ON 機構組件零件BOM表.零件流水碼 = 機構件成本紀錄表.流水碼 WHERE 機構組件零件BOM表.機構碼 = '" & TextBox1.Text & "' ORDER BY 機構件成本紀錄表.科目"
  817. CmdSet_For_DGV() : da.Fill(ds6) : DataGridView7.DataSource = ds6.Tables(0) : conn.Close() : dr.Close()
  818. '機構組件---零組件
  819. ConnOpen()
  820. SQL1 = "SELECT 機構組件零件BOM表.機構碼, 機構組件零件BOM表.零件流水碼, 零組件成本紀錄表.科目, 零組件成本紀錄表.品名, 機構組件零件BOM表.數量, 零組件成本紀錄表.型號及備註," &
  821. "ROUND(Convert(float, 機構組件零件BOM表.數量) * Convert(float, 零組件成本紀錄表.進貨單價),2) AS 成本, 零組件成本紀錄表.幣別, 零組件成本紀錄表.品牌 FROM 機構組件零件BOM表 INNER JOIN 零組件成本紀錄表 " &
  822. "ON 機構組件零件BOM表.零件流水碼 = 零組件成本紀錄表.流水碼 WHERE 機構組件零件BOM表.機構碼 = '" & TextBox1.Text & "' ORDER BY 零組件成本紀錄表.科目"
  823. CmdSet_For_DGV() : da.Fill(ds6) : DataGridView7.DataSource = ds6.Tables(0) : conn.Close() : dr.Close()
  824. '機構組件---零件
  825. ConnOpen()
  826. SQL1 = "SELECT 機構組件零件BOM表.機構碼, 機構組件零件BOM表.零件流水碼, 零件成本紀錄表.科目, 零件成本紀錄表.品名, 機構組件零件BOM表.數量, 零件成本紀錄表.型號及備註," &
  827. "ROUND(Convert(float, 機構組件零件BOM表.數量) * Convert(float, 零件成本紀錄表.進貨單價),2) AS 成本, 零件成本紀錄表.幣別, 零件成本紀錄表.品牌 FROM 機構組件零件BOM表 INNER JOIN 零件成本紀錄表 " &
  828. "ON 機構組件零件BOM表.零件流水碼 = 零件成本紀錄表.流水碼 WHERE 機構組件零件BOM表.機構碼 = '" & TextBox1.Text & "' ORDER BY 零件成本紀錄表.科目"
  829. CmdSet_For_DGV() : da.Fill(ds6) : DataGridView7.DataSource = ds6.Tables(0) : conn.Close() : dr.Close()
  830. '機構件---零組件
  831. ConnOpen()
  832. SQL1 = "SELECT 機構件零件BOM表.機構碼, 機構件零件BOM表.零件流水碼, 零組件成本紀錄表.科目, 零組件成本紀錄表.品名, 機構件零件BOM表.數量, 零組件成本紀錄表.型號及備註," &
  833. "ROUND(Convert(float, 機構件零件BOM表.數量) * Convert(float, 零組件成本紀錄表.進貨單價),2) AS 成本, 零組件成本紀錄表.幣別, 零組件成本紀錄表.品牌 FROM 機構件零件BOM表 INNER JOIN 零組件成本紀錄表 " &
  834. "ON 機構件零件BOM表.零件流水碼 = 零組件成本紀錄表.流水碼 WHERE 機構件零件BOM表.機構碼 = '" & TextBox1.Text & "' ORDER BY 零組件成本紀錄表.科目"
  835. CmdSet_For_DGV() : da.Fill(ds6) : DataGridView7.DataSource = ds6.Tables(0) : conn.Close() : dr.Close()
  836. '機構件---零件
  837. ConnOpen()
  838. SQL1 = "SELECT 機構件零件BOM表.機構碼, 機構件零件BOM表.零件流水碼, 零件成本紀錄表.科目, 零件成本紀錄表.品名, 機構件零件BOM表.數量, 零件成本紀錄表.型號及備註," &
  839. "ROUND(Convert(float, 機構件零件BOM表.數量) * Convert(float, 零件成本紀錄表.進貨單價),2) AS 成本, 零件成本紀錄表.幣別, 零件成本紀錄表.品牌 FROM 機構件零件BOM表 INNER JOIN 零件成本紀錄表 " &
  840. "ON 機構件零件BOM表.零件流水碼 = 零件成本紀錄表.流水碼 WHERE 機構件零件BOM表.機構碼 = '" & TextBox1.Text & "' ORDER BY 零件成本紀錄表.科目"
  841. CmdSet_For_DGV() : da.Fill(ds6) : DataGridView7.DataSource = ds6.Tables(0) : conn.Close() : dr.Close()
  842. '零組件---零件
  843. ConnOpen()
  844. SQL1 = "SELECT 零組件零件BOM表.機構碼, 零組件零件BOM表.零件流水碼, 零件成本紀錄表.科目, 零件成本紀錄表.品名, 零組件零件BOM表.數量, 零件成本紀錄表.型號及備註," &
  845. "ROUND(Convert(float, 零組件零件BOM表.數量) * Convert(float, 零件成本紀錄表.進貨單價),2) AS 成本, 零件成本紀錄表.幣別, 零件成本紀錄表.品牌 FROM 零組件零件BOM表 INNER JOIN 零件成本紀錄表 " &
  846. "ON 零組件零件BOM表.零件流水碼 = 零件成本紀錄表.流水碼 WHERE 零組件零件BOM表.機構碼 = '" & TextBox1.Text & "' ORDER BY 零件成本紀錄表.科目"
  847. CmdSet_For_DGV() : da.Fill(ds6) : DataGridView7.DataSource = ds6.Tables(0) : conn.Close() : dr.Close()
  848. Set_grid7()
  849. End Sub
  850. Private Sub TextBox7_TextChanged(sender As Object, e As EventArgs) Handles TextBox7.TextChanged
  851. DataGridView8.DataSource = Nothing : ds7.Clear()
  852. DataGridView8.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  853. DataGridView8.ColumnHeadersHeight = 25
  854. DataGridView8.AllowUserToAddRows = False
  855. '機構件---零組件
  856. ConnOpen()
  857. SQL1 = "SELECT 機構件零件BOM表.機構碼, 機構件零件BOM表.零件流水碼, 零組件成本紀錄表.科目, 零組件成本紀錄表.品名, 機構件零件BOM表.數量, 零組件成本紀錄表.型號及備註," &
  858. "ROUND(Convert(float, 機構件零件BOM表.數量) * Convert(float, 零組件成本紀錄表.進貨單價),2) AS 成本, 零組件成本紀錄表.幣別, 零組件成本紀錄表.品牌 FROM 機構件零件BOM表 INNER JOIN 零組件成本紀錄表 " &
  859. "ON 機構件零件BOM表.零件流水碼 = 零組件成本紀錄表.流水碼 WHERE 機構件零件BOM表.機構碼 = '" & TextBox7.Text & "' " &
  860. "ORDER BY 零組件成本紀錄表.科目"
  861. CmdSet_For_DGV() : da.Fill(ds7) : DataGridView8.DataSource = ds7.Tables(0) : conn.Close() : dr.Close()
  862. '機構件---零件
  863. ConnOpen()
  864. SQL1 = "SELECT 機構件零件BOM表.機構碼, 機構件零件BOM表.零件流水碼, 零件成本紀錄表.科目, 零件成本紀錄表.品名, 機構件零件BOM表.數量, 零件成本紀錄表.型號及備註," &
  865. "ROUND(Convert(float, 機構件零件BOM表.數量) * Convert(float, 零件成本紀錄表.進貨單價),2) AS 成本, 零件成本紀錄表.幣別, 零件成本紀錄表.品牌 FROM 機構件零件BOM表 INNER JOIN 零件成本紀錄表 " &
  866. "ON 機構件零件BOM表.零件流水碼 = 零件成本紀錄表.流水碼 WHERE 機構件零件BOM表.機構碼 = '" & TextBox7.Text & "' ORDER BY 零件成本紀錄表.科目"
  867. CmdSet_For_DGV() : da.Fill(ds7) : DataGridView8.DataSource = ds7.Tables(0) : conn.Close() : dr.Close()
  868. '零組件---零件
  869. ConnOpen()
  870. SQL1 = "SELECT 零組件零件BOM表.機構碼, 零組件零件BOM表.零件流水碼, 零件成本紀錄表.科目, 零件成本紀錄表.品名, 零組件零件BOM表.數量, 零件成本紀錄表.型號及備註," &
  871. "ROUND(Convert(float, 零組件零件BOM表.數量) * Convert(float, 零件成本紀錄表.進貨單價),2) AS 成本, 零件成本紀錄表.幣別, 零件成本紀錄表.品牌 FROM 零組件零件BOM表 INNER JOIN 零件成本紀錄表 " &
  872. "ON 零組件零件BOM表.零件流水碼 = 零件成本紀錄表.流水碼 WHERE 零組件零件BOM表.機構碼 = '" & TextBox7.Text & "' ORDER BY 零件成本紀錄表.科目"
  873. CmdSet_For_DGV() : da.Fill(ds7) : DataGridView8.DataSource = ds7.Tables(0) : conn.Close() : dr.Close()
  874. Set_grid8()
  875. End Sub
  876. Private Sub TextBox8_TextChanged(sender As Object, e As EventArgs) Handles TextBox8.TextChanged
  877. DataGridView9.DataSource = Nothing : ds8.Clear()
  878. DataGridView9.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  879. DataGridView9.ColumnHeadersHeight = 25
  880. DataGridView9.AllowUserToAddRows = False
  881. ConnOpen()
  882. SQL1 = "SELECT 零組件零件BOM表.機構碼, 零組件零件BOM表.零件流水碼, 零件成本紀錄表.科目, 零件成本紀錄表.品名, 零組件零件BOM表.數量, 零件成本紀錄表.型號及備註," &
  883. "ROUND(Convert(float, 零組件零件BOM表.數量) * Convert(float, 零件成本紀錄表.進貨單價),2) AS 成本, 零件成本紀錄表.幣別, 零件成本紀錄表.品牌 FROM 零組件零件BOM表 INNER JOIN 零件成本紀錄表 " &
  884. "ON 零組件零件BOM表.零件流水碼 = 零件成本紀錄表.流水碼 WHERE 零組件零件BOM表.機構碼 = '" & TextBox8.Text & "' ORDER BY 零件成本紀錄表.科目"
  885. CmdSet_For_DGV() : da.Fill(ds8) : DataGridView9.DataSource = ds8.Tables(0) : conn.Close() : dr.Close()
  886. Set_grid9()
  887. End Sub
  888. End Class