Няма описание
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 41KB

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