Sin descripción
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 72KB

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