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

樣品單控制表.vb 49KB

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