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 53KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838
  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
  254. CUST_cb.Text = 樣品單_dgv(2, e.RowIndex).Value.ToString : STYLE_cb.Text = 樣品單_dgv(3, e.RowIndex).Value.ToString
  255. STYLEname_cb.Text = 樣品單_dgv(4, e.RowIndex).Value.ToString : COUNTRY1_cb.Text = 樣品單_dgv(5, e.RowIndex).Value.ToString
  256. PURPOSE_cb.Text = 樣品單_dgv(6, e.RowIndex).Value.ToString : QTY_tb.Text = 樣品單_dgv(9, e.RowIndex).Value.ToString
  257. 制表日期_dtp.Value = 樣品單_dgv(11, e.RowIndex).Value.ToString : 版次_tb.Text = 樣品單_dgv(12, e.RowIndex).Value.ToString
  258. FACTORY_tb.Text = 樣品單_dgv(13, e.RowIndex).Value.ToString : REQBY_tb.Text = 樣品單_dgv(14, e.RowIndex).Value.ToString
  259. 楦頭編號_cb.Text = 樣品單_dgv(17, e.RowIndex).Value.ToString : 中皮_cb.Text = 樣品單_dgv(15, e.RowIndex).Value.ToString
  260. 中底_cb.Text = 樣品單_dgv(16, e.RowIndex).Value.ToString : 模具編號_cb.Text = 樣品單_dgv(18, e.RowIndex).Value.ToString
  261. DTP1 = 樣品單_dgv(7, e.RowIndex).Value.ToString : 制表人_tb.Text = 樣品單_dgv(10, e.RowIndex).Value.ToString
  262. If DTP1 = "" Then : ISSUE_dtp.Format = DateTimePickerFormat.Custom : ISSUE_dtp.CustomFormat = " "
  263. Else : ISSUE_dtp.Format = DateTimePickerFormat.Short : ISSUE_dtp.Text = DTP1 : End If
  264. DTP2 = 樣品單_dgv(8, e.RowIndex).Value.ToString
  265. If DTP2 = "" Then : ETD_dtp.Format = DateTimePickerFormat.Custom : ETD_dtp.CustomFormat = " "
  266. Else : ETD_dtp.Format = DateTimePickerFormat.Short : ETD_dtp.Text = DTP2 : End If
  267. Set_清單1() : Set_清單2() : Set_清單3() : Set_清單4() : PictureBox1.Image = Nothing
  268. PA7 = 樣品單_dgv.Rows(e.RowIndex).Cells("客戶").Value : PA8 = 樣品單_dgv.Rows(e.RowIndex).Cells("型體號碼").Value
  269. PA9 = 樣品單_dgv.Rows(e.RowIndex).Cells("型體名稱").Value : SQL_第一筆圖片()
  270. If dr.Read() Then : PictureBox1.Image = Nothing : SQL_第一筆圖片()
  271. While dr.Read() = True
  272. Dim unused As Byte() = New Byte(-1) {} : Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte())
  273. Dim oStream As New MemoryStream(bytes) : PictureBox1.Image = Bitmap.FromStream(oStream)
  274. End While : conn.Close()
  275. Else : PictureBox1.Image = Nothing : SQL_第一筆圖片1()
  276. If dr.Read() Then : PictureBox1.Image = Nothing : SQL_第一筆圖片1()
  277. While dr.Read() = True
  278. Dim unused1 As Byte() = New Byte(-1) {} : Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte())
  279. Dim oStream As New MemoryStream(bytes) : PictureBox1.Image = Bitmap.FromStream(oStream)
  280. End While : conn.Close()
  281. Else : SQL_圖片() : PictureBox1.Image = Nothing
  282. If dr.Read() Then : PictureBox1.Image = Nothing : SQL_圖片()
  283. While dr.Read() = True
  284. Dim unused2 As Byte() = New Byte(-1) {} : Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte())
  285. Dim oStream As New MemoryStream(bytes) : PictureBox1.Image = Bitmap.FromStream(oStream)
  286. End While : conn.Close() : Else : conn.Close()
  287. End If
  288. End If
  289. End If : PictureBox1.SizeMode = 4
  290. End If : QTY_tb.Text = Format(Val(QTY_tb.Text), "###0.0")
  291. End If
  292. End Sub
  293. Private Sub DataGridView2_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 明細2_dgv.CellClick
  294. If e.RowIndex = -1 Then : Else
  295. 選擇第_tb.Text = 明細2_dgv(0, e.RowIndex).Value.ToString : 項_tb.Text = 明細2_dgv(8, e.RowIndex).Value.ToString
  296. QTY_tb.Text = "0"
  297. For i As Integer = 0 To 明細2_dgv.Rows.Count - 1
  298. QTY_tb.Text = Val(QTY_tb.Text) + 明細2_dgv.Rows(i).Cells("數量").Value
  299. Next
  300. End If
  301. End Sub
  302. Private Sub DataGridView3_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 明細3_dgv.CellClick
  303. If e.RowIndex = -1 Then : Else
  304. 選擇_tb.Text = 明細3_dgv(1, e.RowIndex).Value.ToString
  305. 筆資料中的_tb.Text = e.RowIndex + 1
  306. End If
  307. End Sub
  308. Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CUST_cb.SelectedIndexChanged
  309. ComboBox4下拉表單資料載入()
  310. End Sub
  311. Private Sub STYLE_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles STYLE_cb.SelectedIndexChanged
  312. ComboBox5下拉表單資料載入()
  313. End Sub
  314. Private Sub 查詢_bt_Click(sender As Object, e As EventArgs) Handles 查詢_bt.Click
  315. Dim 原來的 As String = STYLE_cb.Text
  316. For I As Integer = 0 To 3000 : PPBB(I) = "" : Next
  317. For I As Integer = 0 To STYLE_cb.Items.Count - 1 : PPBB(I) = STYLE_cb.Items(I).ToString : NN1 = I : Next
  318. 下拉清單_1.ShowDialog() : If PPAA = "" Then : STYLE_cb.Text = 原來的 : Else : STYLE_cb.Text = PPAA : End If
  319. If 原來的 = STYLE_cb.Text Then : Else : ComboBox5下拉表單資料載入() : End If
  320. End Sub
  321. Private Sub DateTimePicker2_ValueChanged(sender As Object, e As EventArgs) Handles ISSUE_dtp.MouseDown
  322. ISSUE_dtp.Format = DateTimePickerFormat.Short
  323. End Sub
  324. Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles ETD_dtp.MouseDown
  325. ETD_dtp.Format = DateTimePickerFormat.Short
  326. End Sub
  327. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 新增SEASON清單_bt.Click
  328. 清單修改.Close() : 季節清單修改 = True : 清單修改.ShowDialog() : ComboBox7下拉表單資料載入() : 季節清單修改 = False
  329. End Sub
  330. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles 新增COUNTRY清單_bt.Click
  331. 清單修改.Close() : 國家清單修改 = True : 清單修改.ShowDialog() : ComboBox1下拉表單資料載入() : 國家清單修改 = False
  332. End Sub
  333. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 新增PURPOSE清單_bt.Click
  334. 清單修改.Close() : PURPOSE清單修改 = True : 清單修改.ShowDialog() : ComboBox3下拉表單資料載入() : PURPOSE清單修改 = False
  335. End Sub
  336. Private Sub Button14_Click(sender As Object, e As EventArgs) Handles 新增部件清單_bt.Click
  337. 部件清單控制表.Close() : 部件清單修改 = True : 部件清單控制表.ShowDialog() : ComboBox6下拉表單資料載入() : 部件清單修改 = False
  338. End Sub
  339. Private Sub Button17_Click(sender As Object, e As EventArgs) Handles 新增供應商清單_bt.Click
  340. PA = "" : 供應商管理_製鞋樣品.Show() : 供應商管理_製鞋樣品.BringToFront()
  341. End Sub
  342. Private Sub Button18_Click(sender As Object, e As EventArgs) Handles 新增顏色清單_bt.Click
  343. 清單修改.Close() : 顏色清單修改 = True : 清單修改.ShowDialog() : Set_清單1() : 顏色清單修改 = False
  344. End Sub
  345. Private Sub Button22_Click(sender As Object, e As EventArgs) Handles 新增工廠清單_bt.Click
  346. FACTORY_資料管理.Show() : FACTORY_資料管理.BringToFront() : ComboBox8下拉表單資料載入()
  347. End Sub
  348. Private Sub Button28_Click(sender As Object, e As EventArgs) Handles 新增客戶清單_bt.Click
  349. 清單修改.Close() : 客戶清單修改 = True : 清單修改.ShowDialog() : ComboBox2下拉表單資料載入() : 客戶清單修改 = False
  350. End Sub
  351. Private Sub Button13_Click(sender As Object, e As EventArgs) Handles 清空_bt.Click
  352. ISSUE_dtp.Format = DateTimePickerFormat.Custom : ISSUE_dtp.CustomFormat = " "
  353. End Sub
  354. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles 清空1_bt.Click
  355. ETD_dtp.Format = DateTimePickerFormat.Custom : ETD_dtp.CustomFormat = " "
  356. End Sub
  357. Private Sub Button25_Click(sender As Object, e As EventArgs) Handles 清空2_bt.Click
  358. ISSUE1_dtp.Format = DateTimePickerFormat.Custom : ISSUE1_dtp.CustomFormat = " "
  359. End Sub
  360. Private Sub Button24_Click(sender As Object, e As EventArgs) Handles 清空3_bt.Click
  361. ETD1_dtp.Format = DateTimePickerFormat.Custom : ETD1_dtp.CustomFormat = " "
  362. End Sub
  363. Private Sub 新增準備3()
  364. NUM1 = Double.Parse(新項次) + 1
  365. If NUM1 < 10 Then : 新項次 = "0" & NUM1
  366. ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = NUM1
  367. End If
  368. End Sub
  369. Private Sub 新增準備4_1()
  370. For i As Integer = 0 To 明細2_dgv.Rows.Count - 1
  371. 資料數 = 明細2_dgv.Rows.Count : MyModule1.進度條()
  372. PA = 明細2_dgv.Rows(i).Cells("顏色").Value.ToString : PA1 = 明細2_dgv.Rows(i).Cells("架號").Value.ToString
  373. PA2 = 明細2_dgv.Rows(i).Cells("數量").Value.ToString : PA3 = 明細2_dgv.Rows(i).Cells("SIZE").Value.ToString
  374. PA4 = 明細2_dgv.Rows(i).Cells("KEEP").Value.ToString : PA5 = 明細2_dgv.Rows(i).Cells("借出者").Value.ToString
  375. PA6 = 明細4_dgv.Rows(i).Cells("備註").Value.ToString : PA10 = 明細2_dgv.Rows(i).Cells("項次").Value.ToString
  376. PA11 = 明細2_dgv.Rows(i).Cells("版次").Value.ToString
  377. SQL_修改樣品訂單清單() : conn.Close()
  378. Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  379. End Sub
  380. Private Sub 新增準備4_2()
  381. For i As Integer = 0 To 明細3_dgv.Rows.Count - 1
  382. 資料數 = 明細3_dgv.Rows.Count : MyModule1.進度條()
  383. PA = 明細3_dgv.Rows(i).Cells("材料名稱").Value.ToString : PA1 = 明細3_dgv.Rows(i).Cells("顏色").Value.ToString
  384. PA2 = 明細3_dgv.Rows(i).Cells("備註").Value.ToString : PA3 = 明細3_dgv.Rows(i).Cells("廠商").Value.ToString
  385. PA4 = 明細3_dgv.Rows(i).Cells("排列").Value.ToString : PA5 = 明細3_dgv.Rows(i).Cells("流水號").Value.ToString
  386. PA6 = 明細3_dgv.Rows(i).Cells("部件").Value.ToString
  387. SQL_修改樣品訂單部件表() : conn.Close()
  388. Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  389. End Sub
  390. Private Sub 新流水號2()
  391. Dim NUM1 As Integer
  392. SQL_最後一筆流水號2()
  393. If dr.Read() Then : 新流水號1 = dr("流水號") : Else : 新流水號1 = "SR0000000000" : End If : conn.Close()
  394. NUM1 = Double.Parse(Strings.Right(新流水號1, 10)) + 1
  395. If NUM1 < 10 Then : 新流水號1 = "SR" & "000000000" & NUM1
  396. ElseIf NUM1 > 9 And NUM1 < 100 Then : 新流水號1 = "SR" & "00000000" & NUM1
  397. ElseIf NUM1 > 99 And NUM1 < 1000 Then : 新流水號1 = "SR" & "0000000" & NUM1
  398. ElseIf NUM1 > 999 And NUM1 < 10000 Then : 新流水號1 = "SR" & "000000" & NUM1
  399. ElseIf NUM1 > 9999 And NUM1 < 100000 Then : 新流水號1 = "SR" & "00000" & NUM1
  400. ElseIf NUM1 > 99999 And NUM1 < 1000000 Then : 新流水號1 = "SR" & "0000" & NUM1
  401. ElseIf NUM1 > 999999 And NUM1 < 10000000 Then : 新流水號1 = "SR" & "000" & NUM1
  402. ElseIf NUM1 > 9999999 And NUM1 < 100000000 Then : 新流水號1 = "SR" & "00" & NUM1
  403. ElseIf NUM1 > 99999999 And NUM1 < 1000000000 Then : 新流水號1 = "SR" & "0" & NUM1
  404. ElseIf NUM1 > 999999999 Then : 新流水號1 = "SR" & NUM1
  405. End If
  406. End Sub
  407. Private Sub 新增1_bt_Click(sender As Object, e As EventArgs) Handles 新增1_bt.Click
  408. 新增準備4_1() : 新增準備4_2()
  409. SQL_最後一筆項次()
  410. If dr.Read() Then : 新項次 = dr("項次") : Else : 新項次 = "00" : End If : conn.Close()
  411. 新增準備3() : 新流水號2()
  412. SQL_新增樣品訂單清單() : conn.Close()
  413. Set_清單3()
  414. For i As Integer = 0 To 明細5_dgv.Rows.Count - 1
  415. 資料數 = 明細5_dgv.Rows.Count : MyModule1.進度條()
  416. PA = 明細5_dgv.Rows(i).Cells("部件").Value
  417. SQL_新增樣品訂單部件表() : conn.Close()
  418. Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  419. Set_清單1() : Set_清單2() : Set_清單4()
  420. End Sub
  421. Private Sub Button8_Click(sender As Object, e As EventArgs) Handles 刪除_bt.Click
  422. If 選擇第_tb.Text = "" And 項_tb.Text = "" Then
  423. MsgBox("未選擇需要刪除的資料")
  424. Else
  425. 新增準備4_1() : 新增準備4_2()
  426. SQL_刪除樣品訂單清單1() : conn.Close()
  427. Set_清單1()
  428. SQL_刪除樣品訂單部件表2() : conn.Close()
  429. Set_清單1()
  430. Dim NUM1 As Integer = 0
  431. For i As Integer = 0 To 明細2_dgv.Rows.Count - 1
  432. NUM1 += 1 : If NUM1 < 10 Then : 新項次 = "0" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = NUM1 : End If
  433. PA2 = 明細2_dgv.Rows(i).Cells("項次").Value : PA3 = 明細2_dgv.Rows(i).Cells("版次").Value
  434. SQL_修改樣品訂單清單1() : conn.Close()
  435. Next
  436. Set_清單1() : Set_清單2() : Set_清單4() : 選擇第_tb.Text = "" : 項_tb.Text = ""
  437. End If
  438. End Sub
  439. Private Sub 新增_bt_Click(sender As Object, e As EventArgs) Handles 新增_bt.Click
  440. If 新增1_cb.Text = "" Then
  441. MsgBox("未選擇需要新增的部件")
  442. Else
  443. SQL_查詢部件()
  444. If dr.Read() Then
  445. MsgBox("該部件已新增,請確認內容。")
  446. conn.Close()
  447. Else
  448. conn.Close()
  449. 新增準備4_2()
  450. For i As Integer = 0 To 明細2_dgv.Rows.Count - 1
  451. 資料數 = 明細2_dgv.Rows.Count : MyModule1.進度條()
  452. PA = 明細2_dgv.Rows(i).Cells("流水號").Value
  453. SQL_新增樣品訂單部件表3() : conn.Close()
  454. Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  455. Set_清單2() : Set_清單3()
  456. End If
  457. End If
  458. End Sub
  459. Private Sub Button15_Click(sender As Object, e As EventArgs) Handles 刪除1_bt.Click
  460. If 選擇_tb.Text = "" Then
  461. MsgBox("未選擇需要刪除的資料")
  462. Else
  463. 新增準備4_2()
  464. SQL_刪除樣品訂單部件表3() : conn.Close()
  465. Set_清單2() : Set_清單3() : 選擇_tb.Text = ""
  466. End If
  467. End Sub
  468. Private Sub 新增準備1()
  469. Dim NUM1 As Integer
  470. SQL_最後一筆SO號()
  471. If dr.Read() Then : 新流水號 = dr("SO") : Else : 新流水號 = "S00000" : End If : conn.Close()
  472. NUM1 = Double.Parse(Strings.Right(新流水號, 5)) + 1
  473. If NUM1 < 10 Then : 新流水號 = "S" & "0000" & NUM1
  474. ElseIf NUM1 > 9 And NUM1 < 100 Then : 新流水號 = "S" & "000" & NUM1
  475. ElseIf NUM1 > 99 And NUM1 < 1000 Then : 新流水號 = "S" & "00" & NUM1
  476. ElseIf NUM1 > 999 And NUM1 < 10000 Then : 新流水號 = "S" & "0" & NUM1
  477. ElseIf NUM1 > 9999 Then : 新流水號 = "S" & NUM1
  478. End If
  479. SO_tb.Text = 新流水號
  480. End Sub
  481. Private Sub 新增準備2()
  482. SQL_新增樣品訂單控制表() : conn.Close()
  483. 新流水號2()
  484. SQL_新增樣品訂單清單3() : conn.Close()
  485. Set_清單1() : Set_清單4()
  486. MsgBox("資料新增準備完成")
  487. End Sub
  488. Private Sub Button29_Click(sender As Object, e As EventArgs) Handles 一般新增_bt.Click
  489. Dim aa1 As MsgBoxResult
  490. aa1 = MsgBox("確定要使用--一般新增--生成一張空白的樣品單嗎?", MsgBoxStyle.OkCancel)
  491. If aa1 = MsgBoxResult.Ok Then
  492. 新增文件 = True : Timer1.Enabled = True
  493. 一般新增_bt.Enabled = False : 複製新增_bt.Enabled = False : 修改模式_bt.Enabled = False : REVISED_bt.Enabled = False
  494. 存檔_bt.Enabled = True : 新增_bt.Enabled = True : 新增1_bt.Enabled = True : 刪除_bt.Enabled = True : 刪除1_bt.Enabled = True
  495. 版次_tb.Text = "V01"
  496. 新增準備1()
  497. ETD_dtp.Format = DateTimePickerFormat.Custom : ETD_dtp.CustomFormat = " " : ISSUE_dtp.Format = DateTimePickerFormat.Custom : ISSUE_dtp.CustomFormat = " "
  498. ComboBox1下拉表單資料載入() : ComboBox2下拉表單資料載入() : ComboBox3下拉表單資料載入() : ComboBox4下拉表單資料載入() : ComboBox19下拉表單資料載入()
  499. ComboBox5下拉表單資料載入() : ComboBox6下拉表單資料載入() : ComboBox7下拉表單資料載入() : ComboBox8下拉表單資料載入() : ComboBox15下拉表單資料載入()
  500. 制表人_tb.Text = gUserName : 選擇第_tb.Text = "" : 項_tb.Text = "" : QTY_tb.Text = "0" : 選擇_tb.Text = "" : 中皮1_tb.Text = "" : 中皮2_tb.Text = ""
  501. 明細2_dgv.DataSource = Nothing : ds1.Clear() : 明細3_dgv.DataSource = Nothing : ds2.Clear() : 明細5_dgv.DataSource = Nothing : ds4.Clear()
  502. Set_日期格式轉換()
  503. 新增準備2() : Set_清單()
  504. End If
  505. End Sub
  506. Private Sub 新增準備6()
  507. SQL_新增樣品訂單控制表() : conn.Close()
  508. For i As Integer = 0 To 明細2_dgv.Rows.Count - 1
  509. 資料數 = 明細2_dgv.Rows.Count : MyModule1.進度條()
  510. 新流水號2()
  511. PA6 = 明細2_dgv.Rows(i).Cells("項次").Value : PA1 = 明細2_dgv.Rows(i).Cells("架號").Value : PA2 = 明細2_dgv.Rows(i).Cells("數量").Value
  512. PA3 = 明細2_dgv.Rows(i).Cells("SIZE").Value : PA4 = 明細2_dgv.Rows(i).Cells("KEEP").Value : PA5 = 明細2_dgv.Rows(i).Cells("顏色").Value
  513. SQL_新增樣品訂單清單1() : conn.Close()
  514. Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  515. Set_清單1() : Set_清單4()
  516. For i As Integer = 0 To 明細3_dgv.Rows.Count - 1
  517. 資料數 = 明細3_dgv.Rows.Count : MyModule1.進度條()
  518. For ii As Integer = 0 To 明細2_dgv.Rows.Count - 1
  519. If 明細3_dgv.Rows(i).Cells("項次").Value = 明細2_dgv.Rows(ii).Cells("項次").Value Then
  520. PA = 明細2_dgv.Rows(ii).Cells("流水號").Value
  521. End If
  522. Next
  523. PA7 = 明細3_dgv.Rows(i).Cells("部件").Value : PA8 = 明細3_dgv.Rows(i).Cells("材料名稱").Value : PA11 = 明細3_dgv.Rows(i).Cells("廠商").Value
  524. PA9 = 明細3_dgv.Rows(i).Cells("顏色").Value : PA10 = 明細3_dgv.Rows(i).Cells("備註").Value
  525. SQL_新增樣品訂單部件表1() : conn.Close()
  526. Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  527. Set_清單2() : Set_清單3()
  528. MsgBox("資料新增準備完成") : PA = ""
  529. End Sub
  530. Private Sub Button5_Click(sender As Object, e As EventArgs) Handles 複製新增_bt.Click
  531. Dim aa1 As MsgBoxResult
  532. aa1 = MsgBox("確定要使用--複製新增--將選中的樣品單資料複製成另一張樣品單嗎?", MsgBoxStyle.OkCancel)
  533. If aa1 = MsgBoxResult.Ok Then
  534. If SO_tb.Text = "" Then
  535. MsgBox("複製新增需要選擇被複製的單據")
  536. Else
  537. 新增文件 = True : Timer1.Enabled = True
  538. 一般新增_bt.Enabled = False : 複製新增_bt.Enabled = False : 修改模式_bt.Enabled = False : REVISED_bt.Enabled = False
  539. 存檔_bt.Enabled = True : 新增_bt.Enabled = True : 新增1_bt.Enabled = True : 刪除_bt.Enabled = True : 刪除1_bt.Enabled = True
  540. 版次_tb.Text = "V01"
  541. Set_日期格式轉換()
  542. 新增準備1() : 新增準備6() : Set_清單()
  543. End If
  544. End If
  545. End Sub
  546. Private Sub Button12_Click(sender As Object, e As EventArgs) Handles 修改模式_bt.Click
  547. If SO_tb.Text = "" Then
  548. MsgBox("沒有選擇要修改的樣品單")
  549. Else
  550. If 制表人_tb.Text = gUserName Or gUserName = "李協叡" Then
  551. 新增文件 = False : Timer1.Enabled = True
  552. 一般新增_bt.Enabled = False : 複製新增_bt.Enabled = False : 修改模式_bt.Enabled = False : REVISED_bt.Enabled = False
  553. 存檔_bt.Enabled = True : 新增_bt.Enabled = True : 新增1_bt.Enabled = True : 刪除_bt.Enabled = True : 刪除1_bt.Enabled = True
  554. Else
  555. Dim result As DialogResult = MessageBox.Show("你所選擇的樣品單並不是你所建立的,你確定要進行編輯嗎?", "請選擇", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
  556. If result = DialogResult.Yes Then
  557. PA11 = InputBox("請輸入大寫 [YES],並按下確認來開啟單據編輯模式!!")
  558. If PA11 = "YES" Then
  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 If
  564. End If
  565. End If
  566. End Sub
  567. Private Sub Button16_Click(sender As Object, e As EventArgs) Handles REVISED_bt.Click
  568. If SO_tb.Text = "" Then
  569. MsgBox("沒有選擇要修改的樣品單")
  570. Else
  571. If 制表人_tb.Text = gUserName Or gUserName = "李協叡" Then
  572. Dim aa1 As MsgBoxResult
  573. aa1 = MsgBox("確定要使用--REVISED--將選中的樣品單改版成下一個版本嗎?", MsgBoxStyle.OkCancel)
  574. If aa1 = MsgBoxResult.Ok Then
  575. 新增文件 = True : Timer1.Enabled = True
  576. 一般新增_bt.Enabled = False : 複製新增_bt.Enabled = False : 修改模式_bt.Enabled = False : REVISED_bt.Enabled = False
  577. 存檔_bt.Enabled = True : 新增_bt.Enabled = True : 新增1_bt.Enabled = True : 刪除_bt.Enabled = True : 刪除1_bt.Enabled = True
  578. Dim NUM1 As Integer
  579. SQL_查詢最後一筆版次()
  580. If dr.Read() Then : 新流水號3 = dr("版次") : Else : 新流水號3 = "V00" : End If : conn.Close()
  581. NUM1 = Double.Parse(Strings.Right(新流水號3, 2)) + 1
  582. If NUM1 < 10 Then : 新流水號3 = "V" & "0" & NUM1
  583. ElseIf NUM1 > 9 Then : 新流水號3 = "V" & NUM1
  584. End If
  585. 版次_tb.Text = 新流水號3
  586. SQL_版本更新()
  587. If dr.Read() Then
  588. MsgBox("該單據已有 " & 版次_tb.Text & " 版本,REVISED需要選擇最後的版本,請重新選擇。")
  589. 新增文件 = False : Timer1.Enabled = False : 資料尚未存檔_lb.Visible = False
  590. 一般新增_bt.Enabled = True : 複製新增_bt.Enabled = True : 修改模式_bt.Enabled = True : REVISED_bt.Enabled = True
  591. 存檔_bt.Enabled = False : 新增_bt.Enabled = False : 新增1_bt.Enabled = False : 刪除_bt.Enabled = False : 刪除1_bt.Enabled = False
  592. conn.Close()
  593. Else
  594. conn.Close()
  595. Set_日期格式轉換() : 新增準備6() : Set_清單()
  596. End If
  597. End If
  598. Else
  599. Dim result As DialogResult = MessageBox.Show("你所選擇的樣品單並不是你所建立的,你確定要進行編輯嗎?", "請選擇", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
  600. If result = DialogResult.Yes Then
  601. PA11 = InputBox("請輸入大寫 [YES],並按下確認來開啟單據編輯模式!!")
  602. If PA11 = "YES" Then
  603. Dim aa1 As MsgBoxResult
  604. aa1 = MsgBox("確定要使用--REVISED--將選中的樣品單改版成下一個版本嗎?", MsgBoxStyle.OkCancel)
  605. If aa1 = MsgBoxResult.Ok Then
  606. 新增文件 = True : Timer1.Enabled = True
  607. 一般新增_bt.Enabled = False : 複製新增_bt.Enabled = False : 修改模式_bt.Enabled = False : REVISED_bt.Enabled = False
  608. 存檔_bt.Enabled = True : 新增_bt.Enabled = True : 新增1_bt.Enabled = True : 刪除_bt.Enabled = True : 刪除1_bt.Enabled = True
  609. Dim NUM1 As Integer
  610. SQL_查詢最後一筆版次()
  611. If dr.Read() Then : 新流水號3 = dr("版次") : Else : 新流水號3 = "V00" : End If : conn.Close()
  612. NUM1 = Double.Parse(Strings.Right(新流水號3, 2)) + 1
  613. If NUM1 < 10 Then : 新流水號3 = "V" & "0" & NUM1
  614. ElseIf NUM1 > 9 Then : 新流水號3 = "V" & NUM1
  615. End If
  616. 版次_tb.Text = 新流水號3
  617. SQL_版本更新()
  618. If dr.Read() Then
  619. MsgBox("該單據已有 " & 版次_tb.Text & " 版本,REVISED需要選擇最後的版本,請重新選擇。")
  620. 新增文件 = False : Timer1.Enabled = False : 資料尚未存檔_lb.Visible = False
  621. 一般新增_bt.Enabled = True : 複製新增_bt.Enabled = True : 修改模式_bt.Enabled = True : REVISED_bt.Enabled = True
  622. 存檔_bt.Enabled = False : 新增_bt.Enabled = False : 新增1_bt.Enabled = False : 刪除_bt.Enabled = False : 刪除1_bt.Enabled = False
  623. conn.Close()
  624. Else
  625. conn.Close()
  626. Set_日期格式轉換() : 新增準備6() : Set_清單()
  627. End If
  628. End If
  629. End If
  630. End If
  631. End If
  632. End If
  633. End Sub
  634. Private Sub Button11_Click(sender As Object, e As EventArgs) Handles 存檔_bt.Click
  635. 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
  636. MsgBox("紅字區資料不可空白,請仔細檢查。")
  637. Else
  638. Set_日期格式轉換()
  639. SQL_更改樣品訂單控制表() : conn.Close()
  640. 新增準備4_1() : 新增準備4_2()
  641. 新增文件 = False : Timer1.Enabled = False : 資料尚未存檔_lb.Visible = False
  642. 一般新增_bt.Enabled = True : 複製新增_bt.Enabled = True : 修改模式_bt.Enabled = True : REVISED_bt.Enabled = True
  643. 存檔_bt.Enabled = False : 新增_bt.Enabled = False : 新增1_bt.Enabled = False : 刪除_bt.Enabled = False : 刪除1_bt.Enabled = False
  644. MsgBox("存檔完成") : 返回_bt.PerformClick()
  645. End If
  646. End Sub
  647. Private Sub Button10_Click(sender As Object, e As EventArgs) Handles 刪除3_bt.Click
  648. If SO_tb.Text = "" Then
  649. MsgBox("沒有選擇要刪除的資料")
  650. Else
  651. Dim aa As MsgBoxResult
  652. aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel)
  653. If aa = MsgBoxResult.Ok Then
  654. SQL_刪除樣品訂單控制表() : conn.Close()
  655. SQL_刪除樣品訂單部件表1() : conn.Close()
  656. MsgBox("刪除完成") : Set_清單() : 明細2_dgv.DataSource = Nothing : ds1.Clear() : 明細3_dgv.DataSource = Nothing : ds2.Clear()
  657. 新增文件 = False : Timer1.Enabled = False : 資料尚未存檔_lb.Visible = False
  658. 一般新增_bt.Enabled = True : 複製新增_bt.Enabled = True : 修改模式_bt.Enabled = True : REVISED_bt.Enabled = True
  659. 存檔_bt.Enabled = False : 新增_bt.Enabled = False : 新增1_bt.Enabled = False : 刪除_bt.Enabled = False : 刪除1_bt.Enabled = False
  660. 返回_bt.PerformClick()
  661. End If
  662. End If
  663. End Sub
  664. Private Sub Button21_Click(sender As Object, e As EventArgs) Handles 重新排序_bt.Click
  665. 新增準備4_2() : Set_清單2()
  666. End Sub
  667. Private Sub Button19_Click(sender As Object, e As EventArgs) Handles 列印單_bt.Click
  668. If 列印用SQL = "" Then
  669. MsgBox("沒有選擇要列印的樣品單")
  670. Else
  671. 列印_樣品單_NEW.ShowDialog() : 列印用SQL = "" : 列印用SQL2 = ""
  672. End If
  673. End Sub
  674. Private Sub Button20_Click(sender As Object, e As EventArgs) Handles 列印_bt.Click
  675. If 列印用SQL = "" Then
  676. MsgBox("沒有選擇要列印的樣品單")
  677. Else
  678. 列印_樣品貼標.ShowDialog() : 列印用SQL = "" : 列印用SQL2 = ""
  679. End If
  680. End Sub
  681. Private Sub 轉預告單準備1()
  682. Dim NUM1 As Integer
  683. SQL_最後一筆PAO()
  684. If dr.Read() Then : 新流水號4 = dr("PAO") : Else : 新流水號4 = "MT00000-" & Strings.Right(ComboBox10.Text, 2) : End If : conn.Close()
  685. NUM1 = Double.Parse(Strings.Mid(新流水號4, 3, 5)) + 1
  686. If NUM1 < 10 Then : 新流水號4 = "MT" & "0000" & NUM1 & "-" & Strings.Right(ComboBox10.Text, 2)
  687. ElseIf NUM1 > 9 And NUM1 < 100 Then : 新流水號4 = "MT" & "000" & NUM1 & "-" & Strings.Right(ComboBox10.Text, 2)
  688. ElseIf NUM1 > 99 And NUM1 < 1000 Then : 新流水號4 = "MT" & "00" & NUM1 & "-" & Strings.Right(ComboBox10.Text, 2)
  689. ElseIf NUM1 > 999 And NUM1 < 10000 Then : 新流水號4 = "MT" & "0" & NUM1 & "-" & Strings.Right(ComboBox10.Text, 2)
  690. ElseIf NUM1 > 9999 Then : 新流水號4 = "MT" & NUM1 & "-" & Strings.Right(ComboBox10.Text, 2)
  691. End If
  692. End Sub
  693. Private Sub 轉預告單準備2()
  694. Dim NUM1 As Integer
  695. SQL_最後一筆流水號()
  696. If dr.Read() Then : 新流水號5 = dr("流水號") : Else : 新流水號5 = "SY0000000000" : End If : conn.Close()
  697. NUM1 = Double.Parse(Strings.Right(新流水號5, 10)) + 1
  698. If NUM1 < 10 Then : 新流水號5 = "SY" & "000000000" & NUM1
  699. ElseIf NUM1 > 9 And NUM1 < 100 Then : 新流水號5 = "SY" & "00000000" & NUM1
  700. ElseIf NUM1 > 99 And NUM1 < 1000 Then : 新流水號5 = "SY" & "0000000" & NUM1
  701. ElseIf NUM1 > 999 And NUM1 < 10000 Then : 新流水號5 = "SY" & "000000" & NUM1
  702. ElseIf NUM1 > 9999 And NUM1 < 100000 Then : 新流水號5 = "SY" & "00000" & NUM1
  703. ElseIf NUM1 > 99999 And NUM1 < 1000000 Then : 新流水號5 = "SY" & "0000" & NUM1
  704. ElseIf NUM1 > 999999 And NUM1 < 10000000 Then : 新流水號5 = "SY" & "000" & NUM1
  705. ElseIf NUM1 > 9999999 And NUM1 < 100000000 Then : 新流水號5 = "SY" & "00" & NUM1
  706. ElseIf NUM1 > 99999999 And NUM1 < 1000000000 Then : 新流水號5 = "SY" & "0" & NUM1
  707. ElseIf NUM1 > 999999999 Then : 新流水號5 = "SY" & NUM1
  708. End If
  709. End Sub
  710. Private Sub Set_DGV6載入前設定()
  711. 明細6_dgv.DataSource = Nothing : ds6.Clear()
  712. 明細6_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  713. 明細6_dgv.ColumnHeadersHeight = 25
  714. 明細6_dgv.AllowUserToAddRows = False
  715. End Sub
  716. Private Sub Set_DGV6載入後設定()
  717. da.Fill(ds6) : 明細6_dgv.DataSource = ds6.Tables(0) : conn.Close()
  718. End Sub
  719. Private Sub Set_清單5()
  720. Set_DGV6載入前設定()
  721. SQL_預告訂單清單()
  722. Set_DGV6載入後設定()
  723. End Sub
  724. Private Sub Button23_Click(sender As Object, e As EventArgs) Handles 樣品訂單轉制預告訂單_bt.Click
  725. GroupBox1.Visible = True
  726. End Sub
  727. Private Sub Button26_Click(sender As Object, e As EventArgs) Handles 確定轉制訂單_bt.Click
  728. 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
  729. MsgBox("紅字區資料不可空白,請仔細檢查,確定所選擇的樣品單資料正確。")
  730. Else
  731. 轉預告單準備1()
  732. Set_日期格式轉換()
  733. SQL_新增預告訂單控制表() : conn.Close()
  734. For i As Integer = 0 To 明細2_dgv.Rows.Count - 1
  735. 資料數 = 明細2_dgv.Rows.Count : MyModule1.進度條()
  736. 轉預告單準備2()
  737. PA = 明細2_dgv.Rows(i).Cells("項次").Value : PA1 = 明細2_dgv.Rows(i).Cells("顏色").Value
  738. SQL_新增預告訂單清單() : conn.Close()
  739. Set_清單5()
  740. For t As Integer = 0 To 明細3_dgv.Rows.Count - 1
  741. If 明細3_dgv.Rows(t).Cells("項次").Value = 明細2_dgv.Rows(i).Cells("項次").Value Then
  742. For ii As Integer = 0 To 明細6_dgv.Rows.Count - 1
  743. If 明細6_dgv.Rows(ii).Cells("項次").Value = 明細2_dgv.Rows(i).Cells("項次").Value Then
  744. '-----------------KEY 是SQL_新增預告訂單部件表()-----------------------------------------------------------------
  745. PA = 明細6_dgv.Rows(ii).Cells("流水號").Value : PA1 = 明細3_dgv.Rows(t).Cells("部件").Value
  746. PA2 = 明細3_dgv.Rows(t).Cells("材料名稱").Value : PA3 = 明細3_dgv.Rows(t).Cells("顏色").Value
  747. PA4 = 明細3_dgv.Rows(t).Cells("備註").Value : PA5 = 明細3_dgv.Rows(t).Cells("廠商").Value
  748. '---------------------------------------------------------------------------------------------------
  749. SQL_新增預告訂單部件表()
  750. conn.Close()
  751. End If
  752. Next
  753. End If
  754. Next
  755. Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  756. MsgBox("單據轉制完成。")
  757. End If
  758. GroupBox1.Visible = False
  759. End Sub
  760. Private Sub Button27_Click(sender As Object, e As EventArgs) Handles 取消_bt.Click
  761. GroupBox1.Visible = False
  762. End Sub
  763. Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles 清單伸展_ch.Click
  764. Set_grid()
  765. End Sub
  766. Private Sub Button9_Click(sender As Object, e As EventArgs) Handles 搜尋_bt.Click
  767. PA = InputBox("請輸入要查詢的關鍵字") : Set_清單() : PA = ""
  768. End Sub
  769. Private Sub Button32_Click(sender As Object, e As EventArgs) Handles 返回_bt.Click
  770. PA = "" : Set_清單()
  771. End Sub
  772. Private Sub TextBox16_TextChanged(sender As Object, e As EventArgs) Handles QTY_tb.Click
  773. QTY_tb.Text = "0"
  774. For i As Integer = 0 To 明細2_dgv.Rows.Count - 1
  775. QTY_tb.Text = Val(QTY_tb.Text) + 明細2_dgv.Rows(i).Cells("數量").Value
  776. Next
  777. End Sub
  778. Private Sub ComboBox11_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 新增_cb.SelectedIndexChanged
  779. ComboBox6下拉表單資料載入()
  780. End Sub
  781. Private Sub Button30_Click(sender As Object, e As EventArgs) Handles 指定資料寫入_bt.Click
  782. If 筆資料中的_tb.Text = "" Then
  783. MsgBox("資料寫入前須先選擇清單中的哪一筆")
  784. Else
  785. 明細3_dgv.Rows(Val(筆資料中的_tb.Text) - 1).Cells("廠商").Value = 供應商_cb.Text
  786. 明細3_dgv.Rows(Val(筆資料中的_tb.Text) - 1).Cells("材料名稱").Value = 供應商2_cb.Text
  787. 明細3_dgv.Rows(Val(筆資料中的_tb.Text) - 1).Cells("顏色").Value = 供應商3_cb.Text
  788. End If
  789. End Sub
  790. Private Sub ComboBox12_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 供應商_cb.SelectedIndexChanged
  791. ComboBox13下拉表單資料載入() : ComboBox14下拉表單資料載入()
  792. End Sub
  793. Private Sub ComboBox15_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 中皮_cb.SelectedIndexChanged
  794. SQL_中皮下拉選單()
  795. If dr.Read() Then : 中皮1_tb.Text = dr("中皮") : 中皮2_tb.Text = dr("結構") : End If : conn.Close()
  796. End Sub
  797. Private Sub ComboBox16_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 中底_cb.SelectedIndexChanged
  798. SQL_做法()
  799. If dr.Read() Then : 中底_tb.Text = dr("做法") : End If : conn.Close()
  800. End Sub
  801. Private Sub ComboBox18_SelectedIndexChanged_1(sender As Object, e As EventArgs) Handles 廠商類別_cb.SelectedIndexChanged
  802. ComboBox12下拉表單資料載入()
  803. End Sub
  804. Private Sub 明細2_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 明細2_dgv.MouseUp
  805. If 明細2_dgv.SelectedCells.Count = 1 Then
  806. 已超出 = False
  807. End If
  808. If 明細2_dgv.SelectedCells.Count > 0 Then
  809. '設定滑鼠點擊DGV時候的範圍,超出範圍時有可能不是數字所以不計算
  810. If 明細2_dgv.SelectedCells(0).ColumnIndex = 5 Then
  811. If 已超出 = False Then
  812. Dim x As Double = 0
  813. For i As Integer = 0 To 明細2_dgv.SelectedCells.Count - 1
  814. '明細2_dgv.SelectedCells.Item(i).ColumnIndex + 8 是因為該DGV顯示項與計算像剛好差8格,使用時要注意可直接計算的不需要加數字。
  815. x += Val(明細2_dgv.Rows(明細2_dgv.SelectedCells.Item(i).RowIndex).Cells(明細2_dgv.SelectedCells.Item(i).ColumnIndex).Value)
  816. Next i
  817. '將計算好的資料放置到指定的控件中
  818. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(x, "#,##0")
  819. Else
  820. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0")
  821. End If
  822. Else
  823. 已超出 = True
  824. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0")
  825. End If
  826. End If
  827. End Sub
  828. End Class