Açıklama Yok
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

預告訂單控制表.vb 59KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798
  1. Option Strict Off
  2. Imports System.Data.SqlClient
  3. Imports System.IO
  4. Public Class 預告訂單控制表
  5. ReadOnly conn As New SqlConnection
  6. ReadOnly da As New SqlDataAdapter
  7. ReadOnly cmd As New SqlCommand
  8. ReadOnly ds As New DataSet : ReadOnly ds1 As New DataSet : ReadOnly ds2 As New DataSet : ReadOnly ds4 As New DataSet : ReadOnly ds5 As New DataSet : ReadOnly ds6 As New DataSet
  9. Dim dr As SqlDataReader
  10. Dim 新流水號 As String : ReadOnly 新流水號1 As String : Dim 新流水號3 As String : ReadOnly 新流水號4 As String : Dim 新流水號5 As String
  11. Dim DTP1 As String : Dim DTP2 As String : Dim DTP3 As String : ReadOnly DTP4 As String
  12. ReadOnly DTP5 As String : Dim 新項次 As String
  13. Dim NUM1 As Integer
  14. Dim 新增文件 As Boolean
  15. Private Sub Set_DGV1載入前設定()
  16. DataGridView1.DataSource = Nothing : ds.Clear()
  17. DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  18. DataGridView1.ColumnHeadersHeight = 25
  19. DataGridView1.AllowUserToAddRows = False
  20. DataGridView1.RowTemplate.Height = 50
  21. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  22. End Sub
  23. Private Sub Set_DGV1載入後設定()
  24. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds) : DataGridView1.DataSource = ds.Tables(0) : conn.Close() : Set_grid()
  25. End Sub
  26. Private Sub Set_清單()
  27. Set_DGV1載入前設定()
  28. If PA = "" Then
  29. SQL1 = "SELECT PAO, SO, 季節, 客戶, BUYER, 工廠, 型體號碼, 型體名稱, 總數量, ETD, ISSUE_DATE, FOB, ConstructionName, PS, 制單人, 制單時間, 版次, 訂單屬性
  30. FROM 預告訂單控制表 ORDER BY 季節, PAO DESC, 版次 DESC"
  31. Else
  32. SQL1 = "SELECT PAO, SO, 季節, 客戶, BUYER, 工廠, 型體號碼, 型體名稱, 總數量, ETD, ISSUE_DATE, FOB, ConstructionName, PS, 制單人, 制單時間, 版次, 訂單屬性 FROM 預告訂單控制表 " &
  33. "WHERE (SO LIKE N'%" & PA & "%') OR (季節 LIKE N'%" & PA & "%') OR (客戶 LIKE N'%" & PA & "%') OR (型體號碼 LIKE N'%" & PA & "%') OR (型體名稱 LIKE N'%" & PA & "%') " &
  34. "OR (ISSUE_DATE LIKE N'%" & PA & "%') OR (ETD LIKE N'%" & PA & "%') OR (FOB LIKE N'%" & PA & "%') OR (ConstructionName LIKE N'%" & PA & "%') OR (PS LIKE N'%" & PA & "%') " &
  35. "OR (制單人 LIKE N'%" & PA & "%') ORDER BY 季節, PAO DESC, 版次 DESC"
  36. End If
  37. Set_DGV1載入後設定()
  38. End Sub
  39. Private Sub Set_grid()
  40. If CheckBox1.Checked = False Then
  41. DataGridView1.Size = New Size(475, 925)
  42. DataGridView1.Columns(0).Width = 85 : DataGridView1.Columns(1).Width = 55 : DataGridView1.Columns(2).Width = 65 : DataGridView1.Columns(4).Width = 100 : DataGridView1.Columns(6).Width = 100
  43. DataGridView1.Columns(7).Visible = False
  44. Else
  45. DataGridView1.Size = New Size(745, 925)
  46. DataGridView1.Columns(0).Width = 85 : DataGridView1.Columns(1).Width = 55 : DataGridView1.Columns(2).Width = 65 : DataGridView1.Columns(4).Width = 170 : DataGridView1.Columns(6).Width = 150
  47. DataGridView1.Columns(7).Visible = True : DataGridView1.Columns(7).Width = 150
  48. End If
  49. DataGridView1.Columns(3).Visible = False : DataGridView1.Columns(5).Visible = False : DataGridView1.Columns(8).Visible = False
  50. DataGridView1.Columns(9).Visible = False : DataGridView1.Columns(10).Visible = False : DataGridView1.Columns(11).Visible = False : DataGridView1.Columns(12).Visible = False
  51. DataGridView1.Columns(13).Visible = False : DataGridView1.Columns(14).Visible = False : DataGridView1.Columns(15).Visible = False : DataGridView1.Columns(16).Width = 45
  52. DataGridView1.Columns(17).Visible = False
  53. End Sub
  54. Private Sub Set_DGV2載入前設定()
  55. DataGridView2.DataSource = Nothing : ds1.Clear()
  56. DataGridView2.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  57. DataGridView2.ColumnHeadersHeight = 25
  58. DataGridView2.AllowUserToAddRows = False
  59. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  60. End Sub
  61. Private Sub Set_DGV2載入後設定()
  62. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds1) : DataGridView2.DataSource = ds1.Tables(0) : conn.Close()
  63. Set_DGV2下拉式清單1() : Set_grid1()
  64. End Sub
  65. Private Sub Set_清單1()
  66. Set_DGV2載入前設定()
  67. SQL1 = "SELECT 項次, 顏色, 雙數, SPLS, BUYING AS [BUYING($)], SELLING, 版次, 流水號 FROM 預告訂單清單 WHERE (PAO LIKE N'" & TextBox1.Text & "' AND 版次 LIKE N'" & TextBox3.Text & "') ORDER BY 項次"
  68. 列印用SQL = TextBox1.Text : 列印用SQL2 = TextBox3.Text
  69. Set_DGV2載入後設定()
  70. End Sub
  71. Private Sub Set_grid1()
  72. DataGridView2.Columns(0).Width = 40 : DataGridView2.Columns(1).Visible = False : DataGridView2.Columns(2).Width = 160 : DataGridView2.Columns(3).Width = 72 : DataGridView2.Columns(4).Width = 71
  73. DataGridView2.Columns(5).Width = 72 : DataGridView2.Columns(6).Width = 71 : DataGridView2.Columns(7).Visible = False : DataGridView2.Columns(8).Visible = False
  74. DataGridView2.Columns(3).DefaultCellStyle.Format = "#,##0.0" : DataGridView2.Columns(5).DefaultCellStyle.Format = "#,##0.00"
  75. DataGridView2.Columns(4).DefaultCellStyle.Format = "#,##0.00" : DataGridView2.Columns(6).DefaultCellStyle.Format = "#,##0.00"
  76. DataGridView2.EditMode = DataGridViewEditMode.EditOnEnter
  77. End Sub
  78. Private Sub Set_DGV3載入前設定()
  79. DataGridView3.DataSource = Nothing : ds2.Clear()
  80. DataGridView3.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  81. DataGridView3.ColumnHeadersHeight = 25
  82. DataGridView3.AllowUserToAddRows = False
  83. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  84. End Sub
  85. Private Sub Set_DGV3載入後設定()
  86. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds2) : DataGridView3.DataSource = ds2.Tables(0) : conn.Close()
  87. Set_DGV2下拉式清單3() : Set_grid2()
  88. End Sub
  89. Private Sub Set_清單2()
  90. Set_DGV3載入前設定()
  91. SQL1 = "SELECT 預告訂單清單.項次, 預告訂單部件表.部件, 預告訂單部件表.材料名稱, 預告訂單部件表.材料說明 AS 顏色, 預告訂單部件表.廠商, 預告訂單部件表.備註, " &
  92. "預告訂單部件表.版次, 預告訂單部件表.流水號, 預告訂單部件表.項次 AS 排列 " &
  93. "FROM 預告訂單部件表 INNER JOIN 預告訂單清單 ON 預告訂單部件表.流水號 = 預告訂單清單.流水號 " &
  94. "WHERE (預告訂單部件表.PAO LIKE N'" & TextBox1.Text & "') AND (預告訂單部件表.版次 LIKE N'" & TextBox3.Text & "') ORDER BY 預告訂單部件表.流水號, 預告訂單部件表.項次, 預告訂單部件表.部件"
  95. Set_DGV3載入後設定()
  96. End Sub
  97. Private Sub Set_grid2()
  98. DataGridView3.Columns(0).Width = 40 : DataGridView3.Columns(1).Width = 200 : DataGridView3.Columns(2).Width = 300 : DataGridView3.Columns(3).Width = 171 : DataGridView3.Columns(4).Visible = False
  99. DataGridView3.Columns(5).Width = 100 : DataGridView3.Columns(6).Width = 532 : DataGridView3.Columns(7).Visible = False : DataGridView3.Columns(8).Visible = False
  100. DataGridView3.Columns(9).Width = 40
  101. DataGridView3.EditMode = DataGridViewEditMode.EditOnEnter
  102. End Sub
  103. Private Sub Set_DGV4載入前設定()
  104. DataGridView4.DataSource = Nothing : ds4.Clear()
  105. DataGridView4.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  106. DataGridView4.ColumnHeadersHeight = 25
  107. DataGridView4.AllowUserToAddRows = False
  108. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  109. End Sub
  110. Private Sub Set_DGV4載入後設定()
  111. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds4) : DataGridView4.DataSource = ds4.Tables(0) : conn.Close()
  112. End Sub
  113. Private Sub Set_清單3()
  114. Set_DGV4載入前設定()
  115. SQL1 = "SELECT 部件 FROM 預告訂單部件表 WHERE (PAO LIKE N'" & TextBox1.Text & "') AND (版次 LIKE N'" & TextBox3.Text & "') GROUP BY 部件"
  116. Set_DGV4載入後設定()
  117. End Sub
  118. Private Sub Set_DGV5載入前設定()
  119. DataGridView5.DataSource = Nothing : ds5.Clear()
  120. DataGridView5.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  121. DataGridView5.ColumnHeadersHeight = 25
  122. DataGridView5.AllowUserToAddRows = False
  123. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  124. End Sub
  125. Private Sub Set_DGV5載入後設定()
  126. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds5) : DataGridView5.DataSource = ds5.Tables(0) : conn.Close() : Set_grid3()
  127. End Sub
  128. Private Sub Set_清單4()
  129. Set_DGV5載入前設定()
  130. SQL1 = "SELECT 項次, 備註 FROM 預告訂單清單 WHERE (PAO LIKE N'" & TextBox1.Text & "' AND 版次 LIKE N'" & TextBox3.Text & "') ORDER BY 項次"
  131. Set_DGV5載入後設定()
  132. End Sub
  133. Private Sub Set_grid3()
  134. DataGridView5.Columns(0).Width = 40 : DataGridView5.Columns(1).Width = 1343
  135. DataGridView3.EditMode = DataGridViewEditMode.EditOnEnter
  136. End Sub
  137. Private Sub Set_DGV2下拉式清單3()
  138. If DataGridView3.Columns.Count.ToString = 32 Then
  139. DataGridView3.Columns.Remove("廠商")
  140. Else
  141. End If
  142. Dim Col As New DataGridViewComboBoxColumn With {
  143. .Width = 120,
  144. .DataPropertyName = "廠商"
  145. }
  146. conn.Close() : If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  147. SQL1 = "SELECT 廠商 FROM 供應商清單 ORDER BY 廠商"
  148. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  149. Col.Items.Clear()
  150. While (dr.Read()) : Col.Items.Add(dr("廠商")) : End While : conn.Close()
  151. Col.HeaderText = "廠商" : Col.Name = "廠商"
  152. DataGridView3.Columns.Insert(5, Col)
  153. End Sub
  154. Private Sub Set_DGV2下拉式清單1()
  155. If DataGridView2.Columns.Count.ToString = 32 Then
  156. DataGridView2.Columns.Remove("顏色")
  157. Else
  158. End If
  159. Dim Col As New DataGridViewComboBoxColumn With {
  160. .Width = 120,
  161. .DataPropertyName = "顏色"
  162. }
  163. conn.Close() : If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  164. SQL1 = "SELECT 顏色 FROM 顏色清單 ORDER BY 顏色"
  165. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  166. Col.Items.Clear()
  167. While (dr.Read()) : Col.Items.Add(dr("顏色")) : End While : conn.Close()
  168. Col.HeaderText = "顏色" : Col.Name = "顏色"
  169. DataGridView2.Columns.Insert(2, Col)
  170. End Sub
  171. Private Sub ComboBox1下拉表單資料載入()
  172. conn.Close()
  173. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  174. SQL1 = "SELECT FOB FROM 港口清單"
  175. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  176. ComboBox1.Items.Clear() : While (dr.Read()) : ComboBox1.Items.Add(dr("FOB")) : End While : conn.Close()
  177. End Sub
  178. Private Sub ComboBox2下拉表單資料載入()
  179. conn.Close()
  180. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  181. SQL1 = "SELECT CUST FROM MTTOOCUST清單 ORDER BY CUST"
  182. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  183. ComboBox2.Items.Clear() : While (dr.Read()) : ComboBox2.Items.Add(dr("CUST")) : End While : conn.Close()
  184. End Sub
  185. Private Sub ComboBox3下拉表單資料載入()
  186. conn.Close()
  187. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  188. SQL1 = "SELECT 客戶簡稱 FROM 客戶控制表 ORDER BY 客戶簡稱"
  189. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  190. ComboBox3.Items.Clear() : While (dr.Read()) : ComboBox3.Items.Add(dr("客戶簡稱")) : End While : conn.Close()
  191. End Sub
  192. Private Sub ComboBox4下拉表單資料載入()
  193. conn.Close()
  194. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  195. SQL1 = "SELECT 型體號碼 FROM 型體控制表 WHERE 客戶簡稱 LIKE N'" & ComboBox3.Text & "' ORDER BY 型體號碼"
  196. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  197. ComboBox4.Items.Clear() : While (dr.Read()) : ComboBox4.Items.Add(dr("型體號碼")) : End While : conn.Close()
  198. End Sub
  199. Private Sub ComboBox5下拉表單資料載入()
  200. conn.Close()
  201. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  202. SQL1 = "SELECT 型體名稱 FROM 型體控制表 WHERE 型體號碼 LIKE N'" & ComboBox4.Text & "' ORDER BY 型體名稱"
  203. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  204. ComboBox5.Items.Clear() : While (dr.Read()) : ComboBox5.Items.Add(dr("型體名稱")) : End While : conn.Close()
  205. End Sub
  206. Private Sub ComboBox6下拉表單資料載入()
  207. conn.Close()
  208. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  209. SQL1 = "SELECT 部件 FROM 部件清單 ORDER BY 部件"
  210. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  211. ComboBox6.Items.Clear() : While (dr.Read()) : ComboBox6.Items.Add(dr("部件")) : End While : conn.Close()
  212. End Sub
  213. Private Sub ComboBox7下拉表單資料載入()
  214. conn.Close()
  215. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  216. SQL1 = "SELECT SEASON FROM 季節清單 ORDER BY SEASON"
  217. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  218. ComboBox7.Items.Clear() : While (dr.Read()) : ComboBox7.Items.Add(dr("SEASON")) : End While : conn.Close()
  219. End Sub
  220. Private Sub ComboBox8下拉表單資料載入()
  221. conn.Close()
  222. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  223. SQL1 = "SELECT 工廠 FROM 工廠控制表 ORDER BY 工廠"
  224. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  225. ComboBox8.Items.Clear() : While (dr.Read()) : ComboBox8.Items.Add(dr("工廠")) : End While : conn.Close()
  226. End Sub
  227. Private Sub Set_日期格式轉換()
  228. DTP1 = DateTimePicker2.Text : DTP2 = DateTimePicker1.Text : DTP3 = Format(Today(), "yyyy/MM/dd") & "-" & Format(TimeOfDay(), "hh:mm:ss")
  229. If DTP1 = " " Then : DTP1 = "" : Else : DTP1 = Format(DateTimePicker2.Value, "yyyy/MM/dd") : End If
  230. If DTP2 = " " Then : DTP2 = "" : Else : DTP2 = Format(DateTimePicker1.Value, "yyyy/MM/dd") : End If
  231. End Sub
  232. Private Sub 預告訂單控制表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  233. Me.MdiParent = WINPROFIT_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  234. ComboBox1下拉表單資料載入() : ComboBox2下拉表單資料載入() : ComboBox3下拉表單資料載入() : ComboBox6下拉表單資料載入()
  235. ComboBox7下拉表單資料載入() : ComboBox8下拉表單資料載入()
  236. DateTimePicker1.Format = DateTimePickerFormat.Custom : DateTimePicker1.CustomFormat = " " : DateTimePicker2.Format = DateTimePickerFormat.Custom : DateTimePicker2.CustomFormat = " "
  237. TextBox1.Enabled = False : TextBox3.Enabled = False : TextBox2.Enabled = False : TextBox4.Enabled = False : TextBox17.Enabled = False : TextBox7.Enabled = False : TextBox5.Visible = False
  238. Button11.Enabled = False : Button6.Enabled = False : Button7.Enabled = False : Button8.Enabled = False : Button15.Enabled = False : Label62.Visible = False
  239. DataGridView4.Visible = False : ComboBox10.Visible = False
  240. ComboBox10.Text = Year(Today)
  241. Set_清單()
  242. End Sub
  243. Private Sub 樣品單控制表_Unload(sender As Object, e As EventArgs) Handles MyBase.Closing
  244. If Button11.Enabled = True And 新增文件 = True Then
  245. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  246. SQL1 = "DELETE FROM 預告訂單控制表 WHERE (PAO LIKE N'" & TextBox1.Text & "' AND 版次 LIKE N'" & TextBox3.Text & "')"
  247. cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : conn.Close()
  248. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  249. SQL1 = "DELETE FROM 預告訂單清單 WHERE (PAO LIKE N'" & TextBox1.Text & "' AND 版次 LIKE N'" & TextBox3.Text & "')"
  250. cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : conn.Close()
  251. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  252. SQL1 = "DELETE FROM 預告訂單部件表 WHERE (PAO LIKE N'" & TextBox1.Text & "' AND 版次 LIKE N'" & TextBox3.Text & "')"
  253. cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : conn.Close()
  254. End If
  255. End Sub
  256. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
  257. If Label62.Visible = True Then : Label62.Visible = False : Else : Label62.Visible = True : End If
  258. End Sub
  259. Private Sub DataGridView1_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles DataGridView1.RowPostPaint
  260. Dim linePen As New Pen(Color.Blue, 2)
  261. If e.RowIndex = DataGridView1.Rows.Count - 1 Then
  262. Exit Sub
  263. Else
  264. If DataGridView1(0, e.RowIndex).Value.ToString <> DataGridView1(0, e.RowIndex + 1).Value.ToString Then
  265. Dim startX As Integer = IIf(DataGridView1.RowHeadersVisible, DataGridView1.RowHeadersWidth, 0)
  266. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  267. Dim endX As Integer = startX + DataGridView1.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - DataGridView1.HorizontalScrollingOffset
  268. e.Graphics.DrawLine(linePen, startX, startY, endX, startY)
  269. Exit Sub
  270. End If
  271. End If
  272. End Sub
  273. Private Sub DataGridView3_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles DataGridView3.RowPostPaint
  274. Dim linePen As New Pen(Color.Blue, 2)
  275. If e.RowIndex = DataGridView3.Rows.Count - 1 Then
  276. Exit Sub
  277. Else
  278. If DataGridView3(0, e.RowIndex).Value.ToString <> DataGridView3(0, e.RowIndex + 1).Value.ToString Then
  279. Dim startX As Integer = IIf(DataGridView3.RowHeadersVisible, DataGridView3.RowHeadersWidth, 0)
  280. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  281. Dim endX As Integer = startX + DataGridView3.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - DataGridView3.HorizontalScrollingOffset
  282. e.Graphics.DrawLine(linePen, startX, startY, endX, startY)
  283. Exit Sub
  284. End If
  285. End If
  286. End Sub
  287. Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
  288. If e.RowIndex = -1 Then : Else
  289. If Button11.Enabled = False Then
  290. ComboBox1下拉表單資料載入() : ComboBox2下拉表單資料載入() : ComboBox3下拉表單資料載入() : ComboBox7下拉表單資料載入() : ComboBox8下拉表單資料載入()
  291. TextBox1.Text = DataGridView1.Rows(e.RowIndex).Cells("PAO").Value : TextBox7.Text = DataGridView1.Rows(e.RowIndex).Cells("SO").Value
  292. ComboBox7.Text = DataGridView1.Rows(e.RowIndex).Cells("季節").Value : ComboBox8.Text = DataGridView1.Rows(e.RowIndex).Cells("工廠").Value
  293. ComboBox2.Text = DataGridView1.Rows(e.RowIndex).Cells("客戶").Value : ComboBox3.Text = DataGridView1.Rows(e.RowIndex).Cells("BUYER").Value
  294. ComboBox4.Text = DataGridView1.Rows(e.RowIndex).Cells("型體號碼").Value : TextBox16.Text = DataGridView1.Rows(e.RowIndex).Cells("總數量").Value
  295. TextBox3.Text = DataGridView1.Rows(e.RowIndex).Cells("版次").Value : ComboBox5.Text = DataGridView1.Rows(e.RowIndex).Cells("型體名稱").Value
  296. ComboBox1.Text = DataGridView1.Rows(e.RowIndex).Cells("FOB").Value : TextBox6.Text = DataGridView1.Rows(e.RowIndex).Cells("ConstructionName").Value
  297. TextBox2.Text = DataGridView1.Rows(e.RowIndex).Cells("制單人").Value : DateTimePicker3.Value = Strings.Left(DataGridView1.Rows(e.RowIndex).Cells("制單時間").Value, 10)
  298. TextBox8.Text = DataGridView1.Rows(e.RowIndex).Cells("PS").Value
  299. If DataGridView1.Rows(e.RowIndex).Cells("訂單屬性").Value.ToString = "" Then
  300. ComboBox9.Text = "NA"
  301. Else
  302. ComboBox9.Text = DataGridView1.Rows(e.RowIndex).Cells("訂單屬性").Value
  303. End If
  304. DTP1 = DataGridView1.Rows(e.RowIndex).Cells("ISSUE_DATE").Value
  305. If DTP1 = "" Then : DateTimePicker2.Format = DateTimePickerFormat.Custom : DateTimePicker2.CustomFormat = " "
  306. Else : DateTimePicker2.Format = DateTimePickerFormat.Short : DateTimePicker2.Text = DTP1 : End If
  307. DTP2 = DataGridView1.Rows(e.RowIndex).Cells("ETD").Value
  308. If DTP2 = "" Then : DateTimePicker1.Format = DateTimePickerFormat.Custom : DateTimePicker1.CustomFormat = " "
  309. Else : DateTimePicker1.Format = DateTimePickerFormat.Short : DateTimePicker1.Text = DTP2 : End If
  310. Set_清單1() : Set_清單2() : Set_清單3() : Set_清單4()
  311. PictureBox1.Image = Nothing : conn.Close()
  312. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  313. SQL1 = "SELECT TOP(1) 圖片 FROM 鞋型圖片資料庫 " &
  314. "WHERE 客戶 LIKE N'" & DataGridView1.Rows(e.RowIndex).Cells("客戶").Value & "' AND 形體號 LIKE N'" & DataGridView1.Rows(e.RowIndex).Cells("型體號碼").Value &
  315. "' AND 形體名 LIKE N'" & DataGridView1.Rows(e.RowIndex).Cells("型體名稱").Value & "' AND 類別 LIKE N'設計圖'"
  316. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  317. If dr.Read() Then
  318. PictureBox1.Image = Nothing : conn.Close()
  319. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  320. SQL1 = "SELECT TOP(1) 圖片 FROM 鞋型圖片資料庫 " &
  321. "WHERE 客戶 LIKE N'" & DataGridView1.Rows(e.RowIndex).Cells("客戶").Value & "' AND 形體號 LIKE N'" & DataGridView1.Rows(e.RowIndex).Cells("型體號碼").Value &
  322. "' AND 形體名 LIKE N'" & DataGridView1.Rows(e.RowIndex).Cells("型體名稱").Value & "' AND 類別 LIKE N'設計圖'"
  323. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  324. While dr.Read() = True
  325. Dim unused As Byte() = New Byte(-1) {} : Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte())
  326. Dim oStream As New MemoryStream(bytes) : PictureBox1.Image = Bitmap.FromStream(oStream)
  327. End While
  328. conn.Close()
  329. Else
  330. PictureBox1.Image = Nothing : conn.Close()
  331. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  332. SQL1 = "SELECT TOP(1) 圖片 FROM 鞋型圖片資料庫 " &
  333. "WHERE 客戶 LIKE N'" & DataGridView1.Rows(e.RowIndex).Cells("客戶").Value & "' AND 形體號 LIKE N'" & DataGridView1.Rows(e.RowIndex).Cells("型體號碼").Value & "'"
  334. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  335. If dr.Read() Then
  336. PictureBox1.Image = Nothing : conn.Close()
  337. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  338. SQL1 = "SELECT TOP(1) 圖片 FROM 鞋型圖片資料庫 " &
  339. "WHERE 客戶 LIKE N'" & DataGridView1.Rows(e.RowIndex).Cells("客戶").Value & "' AND 形體號 LIKE N'" & DataGridView1.Rows(e.RowIndex).Cells("型體號碼").Value & "'"
  340. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  341. While dr.Read() = True
  342. Dim unused1 As Byte() = New Byte(-1) {} : Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte())
  343. Dim oStream As New MemoryStream(bytes) : PictureBox1.Image = Bitmap.FromStream(oStream)
  344. End While
  345. conn.Close()
  346. Else
  347. PictureBox1.Image = Nothing : conn.Close()
  348. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  349. SQL1 = "SELECT 圖片 FROM 鞋樣素描圖控制表 WHERE 型體編號 LIKE N'" & DataGridView1.Rows(e.RowIndex).Cells("型體號碼").Value & "'"
  350. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  351. If dr.Read() Then
  352. PictureBox1.Image = Nothing : conn.Close()
  353. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  354. SQL1 = "SELECT 圖片 FROM 鞋樣素描圖控制表 WHERE 型體編號 LIKE N'" & DataGridView1.Rows(e.RowIndex).Cells("型體號碼").Value & "'"
  355. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  356. While dr.Read() = True
  357. Dim unused2 As Byte() = New Byte(-1) {} : Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte())
  358. Dim oStream As New MemoryStream(bytes) : PictureBox1.Image = Bitmap.FromStream(oStream)
  359. End While
  360. conn.Close()
  361. Else
  362. conn.Close()
  363. End If
  364. End If
  365. End If : PictureBox1.SizeMode = 4
  366. End If
  367. TextBox16.Text = Format(Val(TextBox16.Text), "###0.0")
  368. End If
  369. End Sub
  370. Private Sub DataGridView2_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView2.CellClick
  371. If e.RowIndex = -1 Then : Else
  372. TextBox4.Text = DataGridView2.Rows(e.RowIndex).Cells("項次").Value : TextBox5.Text = DataGridView2.Rows(e.RowIndex).Cells("流水號").Value
  373. PictureBox1.Image = Nothing : conn.Close()
  374. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  375. SQL1 = "SELECT TOP(1) 圖片 FROM 鞋型圖片資料庫 " &
  376. "WHERE 客戶 LIKE N'" & ComboBox2.Text & "' AND 形體號 LIKE N'" & ComboBox4.Text &
  377. "' AND 形體名 LIKE N'" & ComboBox5.Text & "' AND 顏色 LIKE N'" & DataGridView2.Rows(e.RowIndex).Cells("顏色").Value & "'"
  378. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  379. If dr.Read() Then
  380. PictureBox1.Image = Nothing : conn.Close()
  381. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  382. SQL1 = "SELECT TOP(1) 圖片 FROM 鞋型圖片資料庫 " &
  383. "WHERE 客戶 LIKE N'" & ComboBox2.Text & "' AND 形體號 LIKE N'" & ComboBox4.Text &
  384. "' AND 形體名 LIKE N'" & ComboBox5.Text & "' AND 顏色 LIKE N'" & DataGridView2.Rows(e.RowIndex).Cells("顏色").Value & "'"
  385. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  386. While dr.Read() = True
  387. Dim unused As Byte() = New Byte(-1) {} : Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte())
  388. Dim oStream As New MemoryStream(bytes) : PictureBox1.Image = Bitmap.FromStream(oStream)
  389. End While
  390. conn.Close()
  391. Else
  392. conn.Close()
  393. End If : PictureBox1.SizeMode = 4
  394. TextBox16.Text = "0"
  395. For i As Integer = 0 To DataGridView2.Rows.Count - 1
  396. TextBox16.Text = Val(TextBox16.Text) + DataGridView2.Rows(i).Cells("雙數").Value
  397. Next
  398. End If
  399. End Sub
  400. Private Sub DataGridView3_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView3.CellClick
  401. If e.RowIndex = -1 Then : Else
  402. TextBox17.Text = DataGridView3(1, e.RowIndex).Value.ToString
  403. End If
  404. End Sub
  405. Private Sub ComboBox3_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox3.SelectedIndexChanged
  406. ComboBox4下拉表單資料載入()
  407. End Sub
  408. Private Sub ComboBox4_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox4.SelectedIndexChanged
  409. ComboBox5下拉表單資料載入()
  410. End Sub
  411. Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.Click
  412. Set_grid()
  413. End Sub
  414. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
  415. 清單修改.Close() : 季節清單修改 = True : 清單修改.ShowDialog() : ComboBox7下拉表單資料載入() : 季節清單修改 = False
  416. End Sub
  417. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
  418. 清單修改.Close() : 港口清單修改 = True : 清單修改.ShowDialog() : ComboBox1下拉表單資料載入() : 港口清單修改 = False
  419. End Sub
  420. Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Button14.Click
  421. 部件清單控制表.Close() : 部件清單修改 = True : 部件清單控制表.ShowDialog() : ComboBox6下拉表單資料載入() : 部件清單修改 = False
  422. End Sub
  423. Private Sub Button17_Click(sender As Object, e As EventArgs) Handles Button17.Click
  424. PA = "" : 供應商管理_製鞋樣品.Show() : 供應商管理_製鞋樣品.BringToFront()
  425. End Sub
  426. Private Sub Button18_Click(sender As Object, e As EventArgs) Handles Button18.Click
  427. 清單修改.Close() : 顏色清單修改 = True : 清單修改.ShowDialog() : Set_清單1() : 顏色清單修改 = False
  428. End Sub
  429. Private Sub Button22_Click(sender As Object, e As EventArgs) Handles Button22.Click
  430. FACTORY_資料管理.Show() : FACTORY_資料管理.BringToFront() : ComboBox8下拉表單資料載入()
  431. End Sub
  432. Private Sub Button28_Click(sender As Object, e As EventArgs) Handles Button28.Click
  433. 清單修改.Close() : 客戶清單修改 = True : 清單修改.ShowDialog() : ComboBox2下拉表單資料載入() : 客戶清單修改 = False
  434. End Sub
  435. Private Sub Button13_Click(sender As Object, e As EventArgs) Handles Button13.Click
  436. DateTimePicker2.Format = DateTimePickerFormat.Custom : DateTimePicker2.CustomFormat = " "
  437. End Sub
  438. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
  439. DateTimePicker1.Format = DateTimePickerFormat.Custom : DateTimePicker1.CustomFormat = " "
  440. End Sub
  441. Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
  442. PA = InputBox("請輸入要查詢的關鍵字") : Set_清單() : PA = ""
  443. End Sub
  444. Private Sub Button32_Click(sender As Object, e As EventArgs) Handles Button32.Click
  445. PA = "" : Set_清單()
  446. End Sub
  447. Private Sub 新增準備1()
  448. Dim NUM1 As Integer
  449. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  450. SQL1 = "SELECT TOP(1) PAO FROM 預告訂單控制表 WHERE PAO LIKE N'%" & Strings.Right(ComboBox10.Text, 2) & "' ORDER BY PAO DESC"
  451. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  452. If dr.Read() Then : 新流水號 = dr("PAO") : Else : 新流水號 = "MT00000-" & Strings.Right(ComboBox10.Text, 2) : End If : conn.Close()
  453. NUM1 = Double.Parse(Strings.Mid(新流水號, 3, 5)) + 1
  454. If NUM1 < 10 Then : 新流水號 = "MT" & "0000" & NUM1 & "-" & Strings.Right(ComboBox10.Text, 2)
  455. ElseIf NUM1 > 9 And NUM1 < 100 Then : 新流水號 = "MT" & "000" & NUM1 & "-" & Strings.Right(ComboBox10.Text, 2)
  456. ElseIf NUM1 > 99 And NUM1 < 1000 Then : 新流水號 = "MT" & "00" & NUM1 & "-" & Strings.Right(ComboBox10.Text, 2)
  457. ElseIf NUM1 > 999 And NUM1 < 10000 Then : 新流水號 = "MT" & "0" & NUM1 & "-" & Strings.Right(ComboBox10.Text, 2)
  458. ElseIf NUM1 > 9999 Then : 新流水號 = "MT" & NUM1 & "-" & Strings.Right(ComboBox10.Text, 2)
  459. End If
  460. TextBox1.Text = 新流水號
  461. End Sub
  462. Private Sub 新增準備2()
  463. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  464. SQL1 = "INSERT INTO 預告訂單控制表 (PAO, SO, 季節, 客戶, BUYER, 工廠, 型體號碼, 型體名稱, 總數量, ETD, ISSUE_DATE, FOB, ConstructionName, PS, 制單人, 制單時間, 版次, 訂單屬性) " &
  465. "VALUES (N'" & TextBox1.Text & "', N'" & TextBox7.Text & "', N'" & ComboBox7.Text & "', N'" & ComboBox2.Text & "', N'" & ComboBox3.Text & "', N'" & ComboBox8.Text & "', N'" & ComboBox4.Text &
  466. "', N'" & ComboBox5.Text & "', N'" & TextBox16.Text & "', N'" & DTP2 & "', N'" & DTP1 & "', N'" & ComboBox1.Text & "', N'" & TextBox6.Text & "', N'" & TextBox8.Text & "', N'" & gUserName &
  467. "', N'" & DTP3 & "', N'V01', N'" & ComboBox9.Text & "')"
  468. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  469. 新流水號2()
  470. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  471. SQL1 = "INSERT INTO 預告訂單清單 (PAO, 項次, 顏色, 雙數, SPLS, BUYING, SELLING, 流水號, 版次, 備註) " &
  472. "VALUES (N'" & TextBox1.Text & "', N'01', N'', N'0', N'0', N'0', N'0', N'" & 新流水號5 & "', N'" & TextBox3.Text & "', N'')"
  473. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  474. Set_清單1() : Set_清單4()
  475. MsgBox("資料新增準備完成")
  476. End Sub
  477. Private Sub 新流水號2()
  478. Dim NUM1 As Integer
  479. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  480. SQL1 = "SELECT TOP(1) 流水號 FROM 預告訂單清單 ORDER BY 流水號 DESC"
  481. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  482. If dr.Read() Then : 新流水號5 = dr("流水號") : Else : 新流水號5 = "SY0000000000" : End If : conn.Close()
  483. NUM1 = Double.Parse(Strings.Right(新流水號5, 10)) + 1
  484. If NUM1 < 10 Then : 新流水號5 = "SY" & "000000000" & NUM1
  485. ElseIf NUM1 > 9 And NUM1 < 100 Then : 新流水號5 = "SY" & "00000000" & NUM1
  486. ElseIf NUM1 > 99 And NUM1 < 1000 Then : 新流水號5 = "SY" & "0000000" & NUM1
  487. ElseIf NUM1 > 999 And NUM1 < 10000 Then : 新流水號5 = "SY" & "000000" & NUM1
  488. ElseIf NUM1 > 9999 And NUM1 < 100000 Then : 新流水號5 = "SY" & "00000" & NUM1
  489. ElseIf NUM1 > 99999 And NUM1 < 1000000 Then : 新流水號5 = "SY" & "0000" & NUM1
  490. ElseIf NUM1 > 999999 And NUM1 < 10000000 Then : 新流水號5 = "SY" & "000" & NUM1
  491. ElseIf NUM1 > 9999999 And NUM1 < 100000000 Then : 新流水號5 = "SY" & "00" & NUM1
  492. ElseIf NUM1 > 99999999 And NUM1 < 1000000000 Then : 新流水號5 = "SY" & "0" & NUM1
  493. ElseIf NUM1 > 999999999 Then : 新流水號5 = "SY" & NUM1
  494. End If
  495. End Sub
  496. Private Sub Button29_Click(sender As Object, e As EventArgs) Handles Button29.Click
  497. Dim aa1 As MsgBoxResult
  498. aa1 = MsgBox("確定要使用--一般新增--生成一張空白的預告訂單嗎?", MsgBoxStyle.OkCancel)
  499. If aa1 = MsgBoxResult.Ok Then
  500. 新增文件 = True : Timer1.Enabled = True
  501. Button29.Enabled = False : Button5.Enabled = False : Button12.Enabled = False : Button16.Enabled = False
  502. Button11.Enabled = True : Button6.Enabled = True : Button7.Enabled = True : Button8.Enabled = True : Button15.Enabled = True
  503. TextBox3.Text = "V01" : TextBox6.Text = "" : TextBox8.Text = ""
  504. 新增準備1()
  505. DateTimePicker1.Format = DateTimePickerFormat.Custom : DateTimePicker1.CustomFormat = " " : DateTimePicker2.Format = DateTimePickerFormat.Custom : DateTimePicker2.CustomFormat = " "
  506. ComboBox1下拉表單資料載入() : ComboBox2下拉表單資料載入() : ComboBox3下拉表單資料載入() : ComboBox4下拉表單資料載入()
  507. ComboBox5下拉表單資料載入() : ComboBox6下拉表單資料載入() : ComboBox7下拉表單資料載入() : ComboBox8下拉表單資料載入()
  508. TextBox2.Text = gUserName : TextBox4.Text = "" : TextBox5.Text = "" : TextBox16.Text = "0" : TextBox17.Text = "" : TextBox7.Text = ""
  509. DataGridView2.DataSource = Nothing : ds1.Clear() : DataGridView3.DataSource = Nothing : ds2.Clear() : DataGridView4.DataSource = Nothing : ds4.Clear()
  510. Set_日期格式轉換()
  511. 新增準備2() : Set_清單()
  512. End If
  513. End Sub
  514. Private Sub 新增準備6()
  515. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  516. SQL1 = "INSERT INTO 預告訂單控制表 (PAO, SO, 季節, 客戶, BUYER, 工廠, 型體號碼, 型體名稱, 總數量, ETD, ISSUE_DATE, FOB, ConstructionName, PS, 制單人, 制單時間, 版次, 訂單屬性) " &
  517. "VALUES (N'" & TextBox1.Text & "', N'" & TextBox7.Text & "', N'" & ComboBox7.Text & "', N'" & ComboBox2.Text & "', N'" & ComboBox3.Text & "', N'" & ComboBox8.Text & "', N'" & ComboBox4.Text &
  518. "', N'" & ComboBox5.Text & "', N'" & TextBox16.Text & "', N'" & DTP2 & "', N'" & DTP1 & "', N'" & ComboBox1.Text & "', N'" & TextBox6.Text & "', N'" & TextBox8.Text & "', N'" & gUserName &
  519. "', N'" & DTP3 & "', N'" & TextBox3.Text & "', N'" & ComboBox9.Text & "')"
  520. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  521. For i As Integer = 0 To DataGridView2.Rows.Count - 1
  522. 資料數 = DataGridView2.Rows.Count : MyModule1.進度條()
  523. 新流水號2()
  524. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  525. SQL1 = "INSERT INTO 預告訂單清單 (PAO, 項次, 顏色, 雙數, SPLS, BUYING, SELLING, 流水號, 版次, 備註) " &
  526. "VALUES (N'" & TextBox1.Text & "', N'" & DataGridView2.Rows(i).Cells("項次").Value & "', N'" & DataGridView2.Rows(i).Cells("顏色").Value & "', N'" & DataGridView2.Rows(i).Cells("雙數").Value &
  527. "', N'" & DataGridView2.Rows(i).Cells("SPLS").Value & "', N'" & DataGridView2.Rows(i).Cells("BUYING($)").Value & "', N'" & DataGridView2.Rows(i).Cells("SELLING").Value &
  528. "', N'" & 新流水號5 & "', N'" & TextBox3.Text & "', N'')"
  529. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  530. Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  531. Set_清單1() : Set_清單4()
  532. For i As Integer = 0 To DataGridView3.Rows.Count - 1
  533. 資料數 = DataGridView3.Rows.Count : MyModule1.進度條()
  534. For ii As Integer = 0 To DataGridView2.Rows.Count - 1
  535. If DataGridView3.Rows(i).Cells("項次").Value = DataGridView2.Rows(ii).Cells("項次").Value Then
  536. PA = DataGridView2.Rows(ii).Cells("流水號").Value
  537. End If
  538. Next
  539. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  540. SQL1 = "INSERT INTO 預告訂單部件表 (PAO, 部件, 材料名稱, 材料說明, 備註, 廠商, 版次, 流水號) VALUES (N'" & TextBox1.Text & "', N'" & DataGridView3.Rows(i).Cells("部件").Value &
  541. "', N'" & DataGridView3.Rows(i).Cells("材料名稱").Value & "', N'" & DataGridView3.Rows(i).Cells("顏色").Value & "', N'" & DataGridView3.Rows(i).Cells("備註").Value &
  542. "', N'" & DataGridView3.Rows(i).Cells("廠商").Value & "', N'" & TextBox3.Text & "', N'" & PA & "')"
  543. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  544. Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  545. Set_清單2() : Set_清單3()
  546. MsgBox("資料新增準備完成") : PA = ""
  547. End Sub
  548. Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
  549. Dim aa1 As MsgBoxResult
  550. aa1 = MsgBox("確定要使用--複製新增--將選中的預告訂單資料複製成另一張預告訂單嗎?", MsgBoxStyle.OkCancel)
  551. If aa1 = MsgBoxResult.Ok Then
  552. If TextBox1.Text = "" Then
  553. MsgBox("複製新增需要選擇被複製的單據")
  554. Else
  555. 新增文件 = True : Timer1.Enabled = True
  556. Button29.Enabled = False : Button5.Enabled = False : Button12.Enabled = False : Button16.Enabled = False
  557. Button11.Enabled = True : Button6.Enabled = True : Button7.Enabled = True : Button8.Enabled = True : Button15.Enabled = True
  558. TextBox3.Text = "V01"
  559. Set_日期格式轉換()
  560. 新增準備1() : 新增準備6() : Set_清單()
  561. End If
  562. End If
  563. End Sub
  564. Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click
  565. If TextBox1.Text = "" Then
  566. MsgBox("沒有選擇要修改的樣品單")
  567. Else
  568. 新增文件 = False : Timer1.Enabled = True
  569. Button29.Enabled = False : Button5.Enabled = False : Button12.Enabled = False : Button16.Enabled = False
  570. Button11.Enabled = True : Button6.Enabled = True : Button7.Enabled = True : Button8.Enabled = True : Button15.Enabled = True
  571. End If
  572. End Sub
  573. Private Sub Button16_Click(sender As Object, e As EventArgs) Handles Button16.Click
  574. Dim aa1 As MsgBoxResult
  575. aa1 = MsgBox("確定要使用--REVISED--將選中的預告訂單改版成下一個版本嗎?", MsgBoxStyle.OkCancel)
  576. If aa1 = MsgBoxResult.Ok Then
  577. If TextBox1.Text = "" Then
  578. MsgBox("REVISED需要選擇前版的單據")
  579. Else
  580. 新增文件 = True : Timer1.Enabled = True
  581. Button29.Enabled = False : Button5.Enabled = False : Button12.Enabled = False : Button16.Enabled = False
  582. Button11.Enabled = True : Button6.Enabled = True : Button7.Enabled = True : Button8.Enabled = True : Button15.Enabled = True
  583. Dim NUM1 As Integer
  584. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  585. SQL1 = "SELECT TOP (1) 版次 FROM 預告訂單控制表 WHERE (PAO LIKE N'" & TextBox1.Text & "') ORDER BY 版次 DESC"
  586. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  587. If dr.Read() Then : 新流水號3 = dr("版次") : Else : 新流水號3 = "V00" : End If : conn.Close()
  588. NUM1 = Double.Parse(Strings.Right(新流水號3, 2)) + 1
  589. If NUM1 < 10 Then : 新流水號3 = "V" & "0" & NUM1
  590. ElseIf NUM1 > 9 Then : 新流水號3 = "V" & NUM1
  591. End If
  592. TextBox3.Text = 新流水號3
  593. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  594. SQL1 = "SELECT 版次 FROM 預告訂單控制表 WHERE (PAO LIKE N'" & TextBox1.Text & "' AND 版次 LIKE N'" & TextBox3.Text & "') ORDER BY 版次 DESC"
  595. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  596. If dr.Read() Then
  597. MsgBox("該單據已有 " & TextBox3.Text & " 版本,REVISED需要選擇最後的版本,請重新選擇。")
  598. 新增文件 = False : Timer1.Enabled = False : Label62.Visible = False
  599. Button29.Enabled = True : Button5.Enabled = True : Button12.Enabled = True : Button16.Enabled = True
  600. Button11.Enabled = False : Button6.Enabled = False : Button7.Enabled = False : Button8.Enabled = False : Button15.Enabled = False
  601. conn.Close()
  602. Else
  603. conn.Close()
  604. Set_日期格式轉換() : 新增準備6() : Set_清單()
  605. End If
  606. End If
  607. End If
  608. End Sub
  609. Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click
  610. If ComboBox4.Text = "" Or ComboBox5.Text = "" Or TextBox16.Text = "" Or ComboBox1.Text = "" Or ComboBox2.Text = "" Or ComboBox3.Text = "" Or ComboBox7.Text = "" Then
  611. MsgBox("紅字區資料不可空白,請仔細檢查。")
  612. Else
  613. Set_日期格式轉換()
  614. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  615. SQL1 = "UPDATE 預告訂單控制表 SET SO = N'" & TextBox7.Text & "',季節 = N'" & ComboBox7.Text & "', 客戶 = N'" & ComboBox2.Text & "', 型體號碼 = N'" & ComboBox4.Text &
  616. "', 型體名稱 = N'" & ComboBox5.Text &
  617. "', FOB = N'" & ComboBox1.Text & "', BUYER = N'" & ComboBox3.Text & "', ISSUE_DATE = N'" & DTP1 & "', ETD = N'" & DTP2 & "', 總數量 = N'" & TextBox16.Text &
  618. "', 工廠 = N'" & ComboBox8.Text & "', ConstructionName = N'" & TextBox6.Text & "', PS = N'" & TextBox8.Text & "', 訂單屬性 = N'" & ComboBox9.Text & "'
  619. WHERE PAO LIKE N'" & TextBox1.Text & "' AND 版次 LIKE N'" & TextBox3.Text & "'"
  620. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  621. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  622. SQL1 = "UPDATE 訂單控制表 SET 型體號碼 = N'" & ComboBox4.Text & "', GOODBOX = N'" & ComboBox5.Text & "' WHERE 訂單種類 LIKE N'" & TextBox1.Text & "-" & TextBox3.Text & "'"
  623. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  624. 新增準備4_1() : 新增準備4_2()
  625. 新增文件 = False : Timer1.Enabled = False : Label62.Visible = False
  626. Button29.Enabled = True : Button5.Enabled = True : Button12.Enabled = True : Button16.Enabled = True
  627. Button11.Enabled = False : Button6.Enabled = False : Button7.Enabled = False : Button8.Enabled = False : Button15.Enabled = False
  628. MsgBox("存檔完成") : Set_清單()
  629. End If
  630. End Sub
  631. Private Sub Button10_Click(sender As Object, e As EventArgs) Handles Button10.Click
  632. If TextBox1.Text = "" Then
  633. MsgBox("沒有選擇要刪除的資料")
  634. Else
  635. Dim aa As MsgBoxResult
  636. aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel)
  637. If aa = MsgBoxResult.Ok Then
  638. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  639. SQL1 = "DELETE FROM 預告訂單控制表 WHERE (PAO LIKE N'" & TextBox1.Text & "' AND 版次 LIKE N'" & TextBox3.Text & "')"
  640. cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : conn.Close()
  641. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  642. SQL1 = "DELETE FROM 預告訂單清單 WHERE (PAO LIKE N'" & TextBox1.Text & "' AND 版次 LIKE N'" & TextBox3.Text & "')"
  643. cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : conn.Close()
  644. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  645. SQL1 = "DELETE FROM 預告訂單部件表 WHERE (PAO LIKE N'" & TextBox1.Text & "' AND 版次 LIKE N'" & TextBox3.Text & "')"
  646. cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : conn.Close()
  647. MsgBox("刪除完成") : Set_清單() : DataGridView2.DataSource = Nothing : ds1.Clear() : DataGridView3.DataSource = Nothing : ds2.Clear()
  648. End If
  649. End If
  650. End Sub
  651. Private Sub 新增準備4_1()
  652. For i As Integer = 0 To DataGridView2.Rows.Count - 1
  653. 資料數 = DataGridView2.Rows.Count : MyModule1.進度條()
  654. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  655. SQL1 = "UPDATE 預告訂單清單 SET 顏色 = N'" & DataGridView2.Rows(i).Cells("顏色").Value & "',雙數 = N'" & DataGridView2.Rows(i).Cells("雙數").Value &
  656. "',SPLS = N'" & DataGridView2.Rows(i).Cells("SPLS").Value & "',BUYING = N'" & DataGridView2.Rows(i).Cells("BUYING($)").Value & "',SELLING = N'" & DataGridView2.Rows(i).Cells("SELLING").Value &
  657. "' WHERE (PAO LIKE N'" & TextBox1.Text & "' AND 項次 LIKE N'" & DataGridView2.Rows(i).Cells("項次").Value & "' AND 版次 LIKE N'" & DataGridView2.Rows(i).Cells("版次").Value & "')"
  658. cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  659. Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  660. End Sub
  661. Private Sub 新增準備4_2()
  662. For i As Integer = 0 To DataGridView3.Rows.Count - 1
  663. 資料數 = DataGridView3.Rows.Count : MyModule1.進度條()
  664. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  665. SQL1 = "UPDATE 預告訂單部件表 SET 材料名稱 = N'" & DataGridView3.Rows(i).Cells("材料名稱").Value & "', 材料說明 = N'" & DataGridView3.Rows(i).Cells("顏色").Value &
  666. "', 備註 = N'" & DataGridView3.Rows(i).Cells("備註").Value & "', 廠商 = N'" & DataGridView3.Rows(i).Cells("廠商").Value & "', 項次 = N'" & DataGridView3.Rows(i).Cells("排列").Value & "' " &
  667. "WHERE (PAO LIKE N'" & TextBox1.Text & "' AND 流水號 LIKE N'" & DataGridView3.Rows(i).Cells("流水號").Value & "' AND 版次 LIKE N'" & TextBox3.Text &
  668. "' AND 部件 LIKE N'" & DataGridView3.Rows(i).Cells("部件").Value & "')"
  669. cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  670. Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  671. End Sub
  672. Private Sub 新增準備3()
  673. NUM1 = Double.Parse(新項次) + 1
  674. If NUM1 < 10 Then : 新項次 = "0" & NUM1
  675. ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = NUM1
  676. End If
  677. End Sub
  678. Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
  679. 新增準備4_1() : 新增準備4_2()
  680. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  681. SQL1 = "SELECT TOP(1) 項次 FROM 預告訂單清單 WHERE PAO LIKE N'" & TextBox1.Text & "' AND (版次 LIKE N'" & TextBox3.Text & "') ORDER BY 項次 DESC"
  682. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  683. If dr.Read() Then : 新項次 = dr("項次") : Else : 新項次 = "00" : End If : conn.Close()
  684. 新增準備3()
  685. 新流水號2()
  686. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  687. SQL1 = "INSERT INTO 預告訂單清單 (PAO, 項次, 顏色, 雙數, SPLS, BUYING, SELLING, 流水號, 版次, 備註) " &
  688. "VALUES (N'" & TextBox1.Text & "', N'" & 新項次 & "', N'', N'0', N'0', N'0', N'0', N'" & 新流水號5 & "', N'" & TextBox3.Text & "', N'')"
  689. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  690. Set_清單3()
  691. For i As Integer = 0 To DataGridView4.Rows.Count - 1
  692. 資料數 = DataGridView4.Rows.Count : MyModule1.進度條()
  693. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  694. SQL1 = "INSERT INTO 預告訂單部件表 (PAO, 項次, 部件, 材料名稱, 材料說明, 備註, 廠商, 版次, 流水號) VALUES (N'" & TextBox1.Text & "', N'', N'" & DataGridView4.Rows(i).Cells("部件").Value &
  695. "', N'', N'', N'', N'', N'" & TextBox3.Text & "', N'" & 新流水號5 & "')"
  696. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  697. Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  698. Set_清單1() : Set_清單2() : Set_清單4()
  699. End Sub
  700. Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
  701. If TextBox4.Text = "" Then
  702. MsgBox("未選擇需要刪除的資料")
  703. Else
  704. 新增準備4_1() : 新增準備4_2()
  705. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  706. SQL1 = "DELETE FROM 預告訂單清單 WHERE (PAO LIKE N'" & TextBox1.Text & "' AND 項次 LIKE N'" & TextBox4.Text & "' AND (版次 LIKE N'" & TextBox3.Text & "'))"
  707. cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : conn.Close()
  708. Set_清單1()
  709. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  710. SQL1 = "DELETE FROM 預告訂單部件表 WHERE (PAO LIKE N'" & TextBox1.Text & "' AND 流水號 LIKE N'" & TextBox5.Text & "' AND (版次 LIKE N'" & TextBox3.Text & "'))"
  711. cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : conn.Close()
  712. Set_清單1()
  713. Dim NUM1 As Integer = 0
  714. For i As Integer = 0 To DataGridView2.Rows.Count - 1
  715. NUM1 += 1 : If NUM1 < 10 Then : 新項次 = "0" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = NUM1 : End If
  716. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  717. SQL1 = "UPDATE 預告訂單清單 SET 項次 = N'" & 新項次 & "' " &
  718. "WHERE (PAO LIKE N'" & TextBox1.Text & "' AND 項次 LIKE N'" & DataGridView2.Rows(i).Cells("項次").Value & "' AND 版次 LIKE N'" & DataGridView2.Rows(i).Cells("版次").Value & "')"
  719. cmd.CommandText = SQL1 : cmd.ExecuteNonQuery()
  720. conn.Close()
  721. Next
  722. Set_清單1() : Set_清單2() : Set_清單4() : TextBox4.Text = "" : TextBox5.Text = ""
  723. End If
  724. End Sub
  725. Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
  726. If ComboBox6.Text = "" Then
  727. MsgBox("未選擇需要新增的部件")
  728. Else
  729. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  730. SQL1 = "SELECT 部件 FROM 預告訂單部件表 WHERE (PAO LIKE N'" & TextBox1.Text & "' AND 版次 LIKE N'" & TextBox3.Text & "' AND 部件 LIKE N'" & ComboBox6.Text & "') GROUP BY 部件"
  731. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  732. If dr.Read() Then
  733. MsgBox("該部件已新增,請確認內容。")
  734. conn.Close()
  735. Else
  736. conn.Close()
  737. 新增準備4_2()
  738. For i As Integer = 0 To DataGridView2.Rows.Count - 1
  739. 資料數 = DataGridView2.Rows.Count : MyModule1.進度條()
  740. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  741. SQL1 = "INSERT INTO 預告訂單部件表 (PAO, 部件, 材料名稱, 材料說明, 備註, 廠商, 版次, 流水號) VALUES (N'" & TextBox1.Text & "', N'" & ComboBox6.Text &
  742. "', N'', N'', N'', N'', N'" & TextBox3.Text & "', N'" & DataGridView2.Rows(i).Cells("流水號").Value & "')"
  743. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  744. Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  745. Set_清單2() : Set_清單3()
  746. End If
  747. End If
  748. End Sub
  749. Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click
  750. If TextBox17.Text = "" Then
  751. MsgBox("未選擇需要刪除的資料")
  752. Else
  753. 新增準備4_2()
  754. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  755. SQL1 = "DELETE FROM 預告訂單部件表 WHERE (PAO LIKE N'" & TextBox1.Text & "' AND 部件 LIKE N'" & TextBox17.Text & "' AND 版次 LIKE N'" & TextBox3.Text & "')"
  756. cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : conn.Close()
  757. Set_清單2() : Set_清單3() : TextBox17.Text = ""
  758. End If
  759. End Sub
  760. Private Sub Button21_Click(sender As Object, e As EventArgs) Handles Button21.Click
  761. 新增準備4_2() : Set_清單2()
  762. End Sub
  763. Private Sub Button19_Click(sender As Object, e As EventArgs) Handles Button19.Click
  764. If 列印用SQL = "" Then
  765. MsgBox("沒有選擇要列印的樣品單")
  766. Else
  767. 列印_預告訂單.ShowDialog() : 列印用SQL = "" : 列印用SQL2 = ""
  768. End If
  769. End Sub
  770. Private Sub TextBox16_TextChanged(sender As Object, e As EventArgs) Handles TextBox16.Click
  771. TextBox16.Text = "0"
  772. For i As Integer = 0 To DataGridView2.Rows.Count - 1
  773. TextBox16.Text = Val(TextBox16.Text) + DataGridView2.Rows(i).Cells("雙數").Value
  774. Next
  775. End Sub
  776. Private Sub DateTimePicker2_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker2.ValueChanged
  777. DateTimePicker2.Format = DateTimePickerFormat.Short
  778. End Sub
  779. Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged
  780. DateTimePicker1.Format = DateTimePickerFormat.Short
  781. End Sub
  782. End Class