Option Strict Off Imports System.IO Public Class 樣品單控制表 Private ReadOnly ds, ds1, ds2, ds4, ds5, ds6 As New DataSet Dim 新流水號, 新流水號3 As String Dim NUM1 As Integer Dim 新增文件, 已超出 As Boolean Private Sub Set_清單() 樣品單_dgv.DataSource = Nothing : ds.Clear() 樣品單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 樣品單_dgv.ColumnHeadersHeight = 25 樣品單_dgv.AllowUserToAddRows = False 樣品單_dgv.RowTemplate.Height = 50 SQL_樣品單() da.Fill(ds) : 樣品單_dgv.DataSource = ds.Tables(0) : conn.Close() : Set_grid() End Sub Private Sub Set_grid() Dim YY As Integer = 樣品單_dgv.Size.Height If 清單伸展_ch.Checked = False Then 樣品單_dgv.Size = New Size(475, YY) 樣品單_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 Else 樣品單_dgv.Size = New Size(660, YY) 樣品單_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 End If 樣品單_dgv.Columns(5).Visible = False : 樣品單_dgv.Columns(6).Visible = False : 樣品單_dgv.Columns(7).Visible = False : 樣品單_dgv.Columns(8).Visible = False 樣品單_dgv.Columns(9).Visible = False : 樣品單_dgv.Columns(10).Visible = False : 樣品單_dgv.Columns(11).Visible = False : 樣品單_dgv.Columns(12).Width = 45 樣品單_dgv.Columns(13).Visible = False : 樣品單_dgv.Columns(14).Visible = False : 樣品單_dgv.Columns(15).Visible = False : 樣品單_dgv.Columns(16).Visible = False 樣品單_dgv.Columns(17).Visible = False : 樣品單_dgv.Columns(18).Visible = False End Sub Private Sub Set_清單1() 明細2_dgv.DataSource = Nothing : ds1.Clear() 明細2_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 明細2_dgv.ColumnHeadersHeight = 25 明細2_dgv.AllowUserToAddRows = False 列印用SQL = SO_tb.Text : 列印用SQL2 = 版次_tb.Text SQL_樣品清單() da.Fill(ds1) : 明細2_dgv.DataSource = ds1.Tables(0) : conn.Close() Set_DGV2下拉式清單1() 明細2_dgv.Columns(0).FillWeight = 40 : 明細2_dgv.Columns(1).Visible = False : 明細2_dgv.Columns(2).FillWeight = 160 : 明細2_dgv.Columns(3).FillWeight = 73 明細2_dgv.Columns(4).FillWeight = 73 : 明細2_dgv.Columns(5).FillWeight = 50 : 明細2_dgv.Columns(6).FillWeight = 45 : 明細2_dgv.Columns(7).FillWeight = 45 明細2_dgv.Columns(8).Visible = False : 明細2_dgv.Columns(9).Visible = False 明細2_dgv.Columns(5).DefaultCellStyle.Format = "#,##0.0" 明細2_dgv.EditMode = DataGridViewEditMode.EditOnEnter End Sub Private Sub Set_清單2() 明細3_dgv.DataSource = Nothing : ds2.Clear() 明細3_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 明細3_dgv.ColumnHeadersHeight = 25 明細3_dgv.AllowUserToAddRows = False SQL_樣品訂單清單2() da.Fill(ds2) : 明細3_dgv.DataSource = ds2.Tables(0) : conn.Close() Set_DGV2下拉式清單3() 明細3_dgv.Columns(0).Width = 40 : 明細3_dgv.Columns(1).Width = 200 : 明細3_dgv.Columns(2).Width = 300 : 明細3_dgv.Columns(3).Width = 171 明細3_dgv.Columns(4).Visible = False : 明細3_dgv.Columns(5).Width = 100 : 明細3_dgv.Columns(6).Width = 532 : 明細3_dgv.Columns(7).Visible = False 明細3_dgv.Columns(8).Visible = False : 明細3_dgv.Columns(9).Width = 40 明細3_dgv.EditMode = DataGridViewEditMode.EditOnEnter 選擇清單中_tb.Text = 明細3_dgv.Rows.Count For i As Integer = 0 To 明細3_dgv.Rows.Count - 1 If IsDBNull(明細3_dgv.Rows(i).Cells("排列").Value) Then 明細3_dgv.Rows(i).Cells("排列").Value = "" End If Next End Sub Private Sub Set_清單3() 明細5_dgv.DataSource = Nothing : ds4.Clear() 明細5_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 明細5_dgv.ColumnHeadersHeight = 25 明細5_dgv.AllowUserToAddRows = False SQL_樣品訂單清單3() da.Fill(ds4) : 明細5_dgv.DataSource = ds4.Tables(0) : conn.Close() End Sub Private Sub Set_清單4() 明細4_dgv.DataSource = Nothing : ds5.Clear() 明細4_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 明細4_dgv.ColumnHeadersHeight = 25 明細4_dgv.AllowUserToAddRows = False SQL_樣品訂單清單4() da.Fill(ds5) : 明細4_dgv.DataSource = ds5.Tables(0) : conn.Close() 明細4_dgv.Columns(0).FillWeight = 40 : 明細4_dgv.Columns(1).FillWeight = 1343 明細4_dgv.EditMode = DataGridViewEditMode.EditOnEnter End Sub Private Sub ComboBox1下拉表單資料載入() SQL_國家清單() COUNTRY1_cb.Items.Clear() : While (dr.Read()) : COUNTRY1_cb.Items.Add(dr("國家")) : End While : conn.Close() End Sub Private Sub ComboBox2下拉表單資料載入() SQL_客戶控制表清單() CUST_cb.Items.Clear() : While (dr.Read()) : CUST_cb.Items.Add(dr("客戶簡稱")) : End While : conn.Close() End Sub Private Sub ComboBox3下拉表單資料載入() SQL_PURPOSE清單() PURPOSE_cb.Items.Clear() : While (dr.Read()) : PURPOSE_cb.Items.Add(dr("狀態")) : End While : conn.Close() End Sub Private Sub ComboBox4下拉表單資料載入() SQL_型體控制表清單() STYLE_cb.Items.Clear() : While (dr.Read()) : STYLE_cb.Items.Add(dr("型體號碼")) : End While : conn.Close() End Sub Private Sub ComboBox5下拉表單資料載入() SQL_型體控制表清單1() STYLEname_cb.Items.Clear() : While (dr.Read()) : STYLEname_cb.Items.Add(dr("型體名稱")) : End While : conn.Close() End Sub Private Sub ComboBox6下拉表單資料載入() SQL_部件清單1() 新增1_cb.Items.Clear() : While (dr.Read()) : 新增1_cb.Items.Add(dr("部件")) : End While : conn.Close() End Sub Private Sub ComboBox7下拉表單資料載入() SQL_季節清單() SEASON_cb.Items.Clear() : While (dr.Read()) : SEASON_cb.Items.Add(dr("SEASON")) : End While : conn.Close() End Sub Private Sub ComboBox8下拉表單資料載入() SQL_工廠控制表() FACTORY_tb.Items.Clear() : While (dr.Read()) : FACTORY_tb.Items.Add(dr("工廠")) : End While : conn.Close() End Sub Private Sub ComboBox9下拉表單資料載入() SQL_港口清單() COUNTRY_cb.Items.Clear() : While (dr.Read()) : COUNTRY_cb.Items.Add(dr("FOB")) : End While : conn.Close() End Sub Private Sub ComboBox12下拉表單資料載入() SQL_供應商清單1() 供應商_cb.Items.Clear() : While (dr.Read()) : 供應商_cb.Items.Add(dr("廠商")) : End While : conn.Close() End Sub Private Sub ComboBox13下拉表單資料載入() SQL_供應商清單2() 供應商2_cb.Items.Clear() : While (dr.Read()) : 供應商2_cb.Items.Add(dr("規格") & " / " & dr("名稱")) : End While : conn.Close() End Sub Private Sub ComboBox14下拉表單資料載入() SQL_供應商清單3() 供應商3_cb.Items.Clear() : While (dr.Read()) : 供應商3_cb.Items.Add(dr("顏色")) : End While : conn.Close() End Sub Private Sub ComboBox15下拉表單資料載入() SQL_底台() 中皮_cb.Items.Clear() : While (dr.Read()) : 中皮_cb.Items.Add(dr("底台")) : End While : conn.Close() End Sub Private Sub ComboBox16下拉表單資料載入() SQL_中底() 中底_cb.Items.Clear() : While (dr.Read()) : 中底_cb.Items.Add(dr("中底")) : End While : conn.Close() End Sub Private Sub ComboBox17下拉表單資料載入() SQL_楦頭編號() 楦頭編號_cb.Items.Clear() : While (dr.Read()) : 楦頭編號_cb.Items.Add(dr("楦頭編號")) : End While : conn.Close() End Sub Private Sub ComboBox19下拉表單資料載入() SQL_模具開發控制表1() 模具編號_cb.Items.Clear() : While (dr.Read()) : 模具編號_cb.Items.Add(dr("模具編號")) : End While : conn.Close() End Sub Private Sub ComboBox18下拉表單資料載入() SQL_供應商清單4() 廠商類別_cb.Items.Clear() : While (dr.Read()) : 廠商類別_cb.Items.Add(dr("類別")) : End While : conn.Close() End Sub Private Sub ComboBox19_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 模具編號_cb.TextChanged SQL_模具開發控制表2() If dr.Read() Then TextBox12.Text = dr("CN") End If : conn.Close() : dr.Close() End Sub Private Sub Set_DGV2下拉式清單1() If 明細2_dgv.Columns.Count.ToString = 32 Then 明細2_dgv.Columns.Remove("顏色") Else End If Dim Col As New DataGridViewComboBoxColumn With { .Width = 120, .DataPropertyName = "顏色" } SQL_下拉清單顏色() Col.Items.Clear() While (dr.Read()) : Col.Items.Add(dr("顏色")) : End While : conn.Close() Col.HeaderText = "顏色" : Col.Name = "顏色" 明細2_dgv.Columns.Insert(2, Col) End Sub Private Sub Set_DGV2下拉式清單3() If 明細3_dgv.Columns.Count.ToString = 32 Then 明細3_dgv.Columns.Remove("廠商") Else End If Dim Col As New DataGridViewComboBoxColumn With { .Width = 120, .DataPropertyName = "廠商" } SQL_下拉廠商() Col.Items.Clear() While (dr.Read()) : Col.Items.Add(dr("廠商")) : End While : conn.Close() Col.HeaderText = "廠商" : Col.Name = "廠商" 明細3_dgv.Columns.Insert(5, Col) End Sub Private Sub Set_日期格式轉換() DTP1 = ISSUE_dtp.Text : DTP2 = ETD_dtp.Text : DTP3 = Format(Today(), "yyyy/MM/dd") & "-" & Format(TimeOfDay(), "hh:mm:ss") DTP4 = ETD1_dtp.Text : DTP5 = ISSUE1_dtp.Text If DTP1 = " " Then : DTP1 = "" : Else : DTP1 = Format(ISSUE_dtp.Value, "yyyy/MM/dd") : End If If DTP2 = " " Then : DTP2 = "" : Else : DTP2 = Format(ETD_dtp.Value, "yyyy/MM/dd") : End If If DTP4 = " " Then : DTP4 = "" : Else : DTP4 = Format(ETD1_dtp.Value, "yyyy/MM/dd") : End If If DTP5 = " " Then : DTP5 = "" : Else : DTP5 = Format(ISSUE1_dtp.Value, "yyyy/MM/dd") : End If End Sub Private Sub 樣品單控制表_Load(sender As Object, e As EventArgs) Handles MyBase.Load WINPROFIT_ERP_SYS.WindowState = 2 : Me.MdiParent = WINPROFIT_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True ComboBox1下拉表單資料載入() : ComboBox2下拉表單資料載入() : ComboBox3下拉表單資料載入() : ComboBox6下拉表單資料載入() : ComboBox16下拉表單資料載入() : ComboBox17下拉表單資料載入() ComboBox7下拉表單資料載入() : ComboBox8下拉表單資料載入() : ComboBox9下拉表單資料載入() : ComboBox15下拉表單資料載入() : ComboBox18下拉表單資料載入() : ComboBox19下拉表單資料載入() ETD_dtp.Format = DateTimePickerFormat.Custom : ETD_dtp.CustomFormat = " " : ISSUE_dtp.Format = DateTimePickerFormat.Custom : ISSUE_dtp.CustomFormat = " " SO_tb.Enabled = False : 版次_tb.Enabled = False : 制表人_tb.Enabled = False : 選擇第_tb.Enabled = False : 選擇_tb.Enabled = False : 項_tb.Visible = False 存檔_bt.Enabled = False : 新增_bt.Enabled = False : 新增1_bt.Enabled = False : 刪除_bt.Enabled = False : 刪除1_bt.Enabled = False : 資料尚未存檔_lb.Visible = False 明細5_dgv.Visible = False : 明細6_dgv.Visible = False : ComboBox10.Visible = False : GroupBox1.Visible = False : 樣品訂單轉制預告訂單_bt.Visible = False ComboBox10.Text = Year(Today) Set_清單() If CC(23) = False Then : 一般新增_bt.Enabled = False : 複製新增_bt.Enabled = False : 修改模式_bt.Enabled = False : REVISED_bt.Enabled = False : End If If CC(24) = False Then : 刪除3_bt.Enabled = False : End If 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 End Sub Private Sub 樣品單控制表_Unload(sender As Object, e As EventArgs) Handles MyBase.Closing If 存檔_bt.Enabled = True And 新增文件 = True Then SQL_刪除樣品訂單控制表() : conn.Close() SQL_刪除樣品訂單清單() : conn.Close() SQL_刪除樣品訂單部件表1() : conn.Close() End If End Sub Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick If 資料尚未存檔_lb.Visible = True Then : 資料尚未存檔_lb.Visible = False : Else : 資料尚未存檔_lb.Visible = True : End If End Sub Private Sub DataGridView1_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 樣品單_dgv.RowPostPaint Dim linePen As New Pen(Color.Blue, 2) If e.RowIndex = 樣品單_dgv.Rows.Count - 1 Then Exit Sub Else If 樣品單_dgv(0, e.RowIndex).Value.ToString <> 樣品單_dgv(0, e.RowIndex + 1).Value.ToString Then Dim startX As Integer = IIf(樣品單_dgv.RowHeadersVisible, 樣品單_dgv.RowHeadersWidth, 0) Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1 Dim endX As Integer = startX + 樣品單_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 樣品單_dgv.HorizontalScrollingOffset e.Graphics.DrawLine(linePen, startX, startY, endX, startY) Exit Sub End If End If End Sub Private Sub DataGridView3_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 明細3_dgv.RowPostPaint Dim linePen As New Pen(Color.Blue, 2) If e.RowIndex = 明細3_dgv.Rows.Count - 1 Then Exit Sub Else If 明細3_dgv(0, e.RowIndex).Value.ToString <> 明細3_dgv(0, e.RowIndex + 1).Value.ToString Then Dim startX As Integer = IIf(明細3_dgv.RowHeadersVisible, 明細3_dgv.RowHeadersWidth, 0) Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1 Dim endX As Integer = startX + 明細3_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 明細3_dgv.HorizontalScrollingOffset e.Graphics.DrawLine(linePen, startX, startY, endX, startY) Exit Sub End If End If End Sub Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 樣品單_dgv.CellClick If e.RowIndex = -1 Then : Else If 存檔_bt.Enabled = False Then 中皮1_tb.Text = "" : 中皮2_tb.Text = "" : 中底_tb.Text = "" : TextBox12.Text = "" ComboBox1下拉表單資料載入() : ComboBox2下拉表單資料載入() : ComboBox3下拉表單資料載入() : ComboBox7下拉表單資料載入() ComboBox8下拉表單資料載入() : ComboBox15下拉表單資料載入() : ComboBox16下拉表單資料載入() : ComboBox17下拉表單資料載入() : ComboBox19下拉表單資料載入() 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 : 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 PURPOSE_cb.Text = 樣品單_dgv(6, e.RowIndex).Value.ToString : QTY_tb.Text = 樣品單_dgv(9, e.RowIndex).Value.ToString 制表日期_dtp.Value = 樣品單_dgv(11, e.RowIndex).Value.ToString : 版次_tb.Text = 樣品單_dgv(12, e.RowIndex).Value.ToString 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 : 中皮_cb.Text = 樣品單_dgv(15, e.RowIndex).Value.ToString 中底_cb.Text = 樣品單_dgv(16, e.RowIndex).Value.ToString : 模具編號_cb.Text = 樣品單_dgv(18, e.RowIndex).Value.ToString DTP1 = 樣品單_dgv(7, e.RowIndex).Value.ToString : 制表人_tb.Text = 樣品單_dgv(10, e.RowIndex).Value.ToString If DTP1 = "" Then : ISSUE_dtp.Format = DateTimePickerFormat.Custom : ISSUE_dtp.CustomFormat = " " Else : ISSUE_dtp.Format = DateTimePickerFormat.Short : ISSUE_dtp.Text = DTP1 : End If DTP2 = 樣品單_dgv(8, e.RowIndex).Value.ToString If DTP2 = "" Then : ETD_dtp.Format = DateTimePickerFormat.Custom : ETD_dtp.CustomFormat = " " Else : ETD_dtp.Format = DateTimePickerFormat.Short : ETD_dtp.Text = DTP2 : End If Set_清單1() : Set_清單2() : Set_清單3() : Set_清單4() : PictureBox1.Image = Nothing PA7 = 樣品單_dgv.Rows(e.RowIndex).Cells("客戶").Value : PA8 = 樣品單_dgv.Rows(e.RowIndex).Cells("型體號碼").Value PA9 = 樣品單_dgv.Rows(e.RowIndex).Cells("型體名稱").Value : SQL_第一筆圖片() If dr.Read() Then : PictureBox1.Image = Nothing : SQL_第一筆圖片() While dr.Read() = True Dim unused As Byte() = New Byte(-1) {} : Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte()) Dim oStream As New MemoryStream(bytes) : PictureBox1.Image = Bitmap.FromStream(oStream) End While : conn.Close() Else : PictureBox1.Image = Nothing : SQL_第一筆圖片1() If dr.Read() Then : PictureBox1.Image = Nothing : SQL_第一筆圖片1() While dr.Read() = True Dim unused1 As Byte() = New Byte(-1) {} : Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte()) Dim oStream As New MemoryStream(bytes) : PictureBox1.Image = Bitmap.FromStream(oStream) End While : conn.Close() Else : SQL_圖片() : PictureBox1.Image = Nothing If dr.Read() Then : PictureBox1.Image = Nothing : SQL_圖片() While dr.Read() = True Dim unused2 As Byte() = New Byte(-1) {} : Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte()) Dim oStream As New MemoryStream(bytes) : PictureBox1.Image = Bitmap.FromStream(oStream) End While : conn.Close() : Else : conn.Close() End If End If End If : PictureBox1.SizeMode = 4 End If : QTY_tb.Text = Format(Val(QTY_tb.Text), "###0.0") End If End Sub Private Sub DataGridView2_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 明細2_dgv.CellClick If e.RowIndex = -1 Then : Else 選擇第_tb.Text = 明細2_dgv(0, e.RowIndex).Value.ToString : 項_tb.Text = 明細2_dgv(8, e.RowIndex).Value.ToString QTY_tb.Text = "0" For i As Integer = 0 To 明細2_dgv.Rows.Count - 1 QTY_tb.Text = Val(QTY_tb.Text) + 明細2_dgv.Rows(i).Cells("數量").Value Next End If End Sub Private Sub DataGridView3_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 明細3_dgv.CellClick If e.RowIndex = -1 Then : Else 選擇_tb.Text = 明細3_dgv(1, e.RowIndex).Value.ToString 筆資料中的_tb.Text = e.RowIndex + 1 End If End Sub Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CUST_cb.SelectedIndexChanged ComboBox4下拉表單資料載入() End Sub Private Sub STYLE_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles STYLE_cb.SelectedIndexChanged ComboBox5下拉表單資料載入() End Sub Private Sub 查詢_bt_Click(sender As Object, e As EventArgs) Handles 查詢_bt.Click Dim 原來的 As String = STYLE_cb.Text For I As Integer = 0 To 3000 : PPBB(I) = "" : Next For I As Integer = 0 To STYLE_cb.Items.Count - 1 : PPBB(I) = STYLE_cb.Items(I).ToString : NN1 = I : Next 下拉清單_1.ShowDialog() : If PPAA = "" Then : STYLE_cb.Text = 原來的 : Else : STYLE_cb.Text = PPAA : End If If 原來的 = STYLE_cb.Text Then : Else : ComboBox5下拉表單資料載入() : End If End Sub Private Sub DateTimePicker2_ValueChanged(sender As Object, e As EventArgs) Handles ISSUE_dtp.MouseDown ISSUE_dtp.Format = DateTimePickerFormat.Short End Sub Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles ETD_dtp.MouseDown ETD_dtp.Format = DateTimePickerFormat.Short End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 新增SEASON清單_bt.Click 清單修改.Close() : 季節清單修改 = True : 清單修改.ShowDialog() : ComboBox7下拉表單資料載入() : 季節清單修改 = False End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles 新增COUNTRY清單_bt.Click 清單修改.Close() : 國家清單修改 = True : 清單修改.ShowDialog() : ComboBox1下拉表單資料載入() : 國家清單修改 = False End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 新增PURPOSE清單_bt.Click 清單修改.Close() : PURPOSE清單修改 = True : 清單修改.ShowDialog() : ComboBox3下拉表單資料載入() : PURPOSE清單修改 = False End Sub Private Sub Button14_Click(sender As Object, e As EventArgs) Handles 新增部件清單_bt.Click 部件清單控制表.Close() : 部件清單修改 = True : 部件清單控制表.ShowDialog() : ComboBox6下拉表單資料載入() : 部件清單修改 = False End Sub Private Sub Button17_Click(sender As Object, e As EventArgs) Handles 新增供應商清單_bt.Click PA = "" : 供應商管理_製鞋樣品.Show() : 供應商管理_製鞋樣品.BringToFront() End Sub Private Sub Button18_Click(sender As Object, e As EventArgs) Handles 新增顏色清單_bt.Click 清單修改.Close() : 顏色清單修改 = True : 清單修改.ShowDialog() : Set_清單1() : 顏色清單修改 = False End Sub Private Sub Button22_Click(sender As Object, e As EventArgs) Handles 新增工廠清單_bt.Click FACTORY_資料管理.Show() : FACTORY_資料管理.BringToFront() : ComboBox8下拉表單資料載入() End Sub Private Sub Button28_Click(sender As Object, e As EventArgs) Handles 新增客戶清單_bt.Click 清單修改.Close() : 客戶清單修改 = True : 清單修改.ShowDialog() : ComboBox2下拉表單資料載入() : 客戶清單修改 = False End Sub Private Sub Button13_Click(sender As Object, e As EventArgs) Handles 清空_bt.Click ISSUE_dtp.Format = DateTimePickerFormat.Custom : ISSUE_dtp.CustomFormat = " " End Sub Private Sub Button4_Click(sender As Object, e As EventArgs) Handles 清空1_bt.Click ETD_dtp.Format = DateTimePickerFormat.Custom : ETD_dtp.CustomFormat = " " End Sub Private Sub Button25_Click(sender As Object, e As EventArgs) Handles 清空2_bt.Click ISSUE1_dtp.Format = DateTimePickerFormat.Custom : ISSUE1_dtp.CustomFormat = " " End Sub Private Sub Button24_Click(sender As Object, e As EventArgs) Handles 清空3_bt.Click ETD1_dtp.Format = DateTimePickerFormat.Custom : ETD1_dtp.CustomFormat = " " End Sub Private Sub 新增準備3() NUM1 = Double.Parse(新項次) + 1 If NUM1 < 10 Then : 新項次 = "0" & NUM1 ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = NUM1 End If End Sub Private Sub 新增準備4_1() For i As Integer = 0 To 明細2_dgv.Rows.Count - 1 資料數 = 明細2_dgv.Rows.Count : MyModule1.進度條() PA = 明細2_dgv.Rows(i).Cells("顏色").Value.ToString : PA1 = 明細2_dgv.Rows(i).Cells("架號").Value.ToString PA2 = 明細2_dgv.Rows(i).Cells("數量").Value.ToString : PA3 = 明細2_dgv.Rows(i).Cells("SIZE").Value.ToString PA4 = 明細2_dgv.Rows(i).Cells("KEEP").Value.ToString : PA5 = 明細2_dgv.Rows(i).Cells("借出者").Value.ToString PA6 = 明細4_dgv.Rows(i).Cells("備註").Value.ToString : PA10 = 明細2_dgv.Rows(i).Cells("項次").Value.ToString PA11 = 明細2_dgv.Rows(i).Cells("版次").Value.ToString SQL_修改樣品訂單清單() : conn.Close() Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0 End Sub Private Sub 新增準備4_2() For i As Integer = 0 To 明細3_dgv.Rows.Count - 1 資料數 = 明細3_dgv.Rows.Count : MyModule1.進度條() PA = 明細3_dgv.Rows(i).Cells("材料名稱").Value.ToString : PA1 = 明細3_dgv.Rows(i).Cells("顏色").Value.ToString PA2 = 明細3_dgv.Rows(i).Cells("備註").Value.ToString : PA3 = 明細3_dgv.Rows(i).Cells("廠商").Value.ToString PA4 = 明細3_dgv.Rows(i).Cells("排列").Value.ToString : PA5 = 明細3_dgv.Rows(i).Cells("流水號").Value.ToString PA6 = 明細3_dgv.Rows(i).Cells("部件").Value.ToString SQL_修改樣品訂單部件表() : conn.Close() Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0 End Sub Private Sub 新流水號2() Dim NUM1 As Integer SQL_最後一筆流水號2() If dr.Read() Then : 新流水號1 = dr("流水號") : Else : 新流水號1 = "SR0000000000" : End If : conn.Close() NUM1 = Double.Parse(Strings.Right(新流水號1, 10)) + 1 If NUM1 < 10 Then : 新流水號1 = "SR" & "000000000" & NUM1 ElseIf NUM1 > 9 And NUM1 < 100 Then : 新流水號1 = "SR" & "00000000" & NUM1 ElseIf NUM1 > 99 And NUM1 < 1000 Then : 新流水號1 = "SR" & "0000000" & NUM1 ElseIf NUM1 > 999 And NUM1 < 10000 Then : 新流水號1 = "SR" & "000000" & NUM1 ElseIf NUM1 > 9999 And NUM1 < 100000 Then : 新流水號1 = "SR" & "00000" & NUM1 ElseIf NUM1 > 99999 And NUM1 < 1000000 Then : 新流水號1 = "SR" & "0000" & NUM1 ElseIf NUM1 > 999999 And NUM1 < 10000000 Then : 新流水號1 = "SR" & "000" & NUM1 ElseIf NUM1 > 9999999 And NUM1 < 100000000 Then : 新流水號1 = "SR" & "00" & NUM1 ElseIf NUM1 > 99999999 And NUM1 < 1000000000 Then : 新流水號1 = "SR" & "0" & NUM1 ElseIf NUM1 > 999999999 Then : 新流水號1 = "SR" & NUM1 End If End Sub Private Sub 新增1_bt_Click(sender As Object, e As EventArgs) Handles 新增1_bt.Click 新增準備4_1() : 新增準備4_2() SQL_最後一筆項次() If dr.Read() Then : 新項次 = dr("項次") : Else : 新項次 = "00" : End If : conn.Close() 新增準備3() : 新流水號2() SQL_新增樣品訂單清單() : conn.Close() Set_清單3() For i As Integer = 0 To 明細5_dgv.Rows.Count - 1 資料數 = 明細5_dgv.Rows.Count : MyModule1.進度條() PA = 明細5_dgv.Rows(i).Cells("部件").Value SQL_新增樣品訂單部件表() : conn.Close() Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0 Set_清單1() : Set_清單2() : Set_清單4() End Sub Private Sub Button8_Click(sender As Object, e As EventArgs) Handles 刪除_bt.Click If 選擇第_tb.Text = "" And 項_tb.Text = "" Then MsgBox("未選擇需要刪除的資料") Else 新增準備4_1() : 新增準備4_2() SQL_刪除樣品訂單清單1() : conn.Close() Set_清單1() SQL_刪除樣品訂單部件表2() : conn.Close() Set_清單1() Dim NUM1 As Integer = 0 For i As Integer = 0 To 明細2_dgv.Rows.Count - 1 NUM1 += 1 : If NUM1 < 10 Then : 新項次 = "0" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = NUM1 : End If PA2 = 明細2_dgv.Rows(i).Cells("項次").Value : PA3 = 明細2_dgv.Rows(i).Cells("版次").Value SQL_修改樣品訂單清單1() : conn.Close() Next Set_清單1() : Set_清單2() : Set_清單4() : 選擇第_tb.Text = "" : 項_tb.Text = "" End If End Sub Private Sub 新增_bt_Click(sender As Object, e As EventArgs) Handles 新增_bt.Click If 新增1_cb.Text = "" Then MsgBox("未選擇需要新增的部件") Else SQL_查詢部件() If dr.Read() Then MsgBox("該部件已新增,請確認內容。") conn.Close() Else conn.Close() 新增準備4_2() For i As Integer = 0 To 明細2_dgv.Rows.Count - 1 資料數 = 明細2_dgv.Rows.Count : MyModule1.進度條() PA = 明細2_dgv.Rows(i).Cells("流水號").Value SQL_新增樣品訂單部件表3() : conn.Close() Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0 Set_清單2() : Set_清單3() End If End If End Sub Private Sub Button15_Click(sender As Object, e As EventArgs) Handles 刪除1_bt.Click If 選擇_tb.Text = "" Then MsgBox("未選擇需要刪除的資料") Else 新增準備4_2() SQL_刪除樣品訂單部件表3() : conn.Close() Set_清單2() : Set_清單3() : 選擇_tb.Text = "" End If End Sub Private Sub 新增準備1() Dim NUM1 As Integer SQL_最後一筆SO號() If dr.Read() Then : 新流水號 = dr("SO") : Else : 新流水號 = "S00000" : End If : conn.Close() NUM1 = Double.Parse(Strings.Right(新流水號, 5)) + 1 If NUM1 < 10 Then : 新流水號 = "S" & "0000" & NUM1 ElseIf NUM1 > 9 And NUM1 < 100 Then : 新流水號 = "S" & "000" & NUM1 ElseIf NUM1 > 99 And NUM1 < 1000 Then : 新流水號 = "S" & "00" & NUM1 ElseIf NUM1 > 999 And NUM1 < 10000 Then : 新流水號 = "S" & "0" & NUM1 ElseIf NUM1 > 9999 Then : 新流水號 = "S" & NUM1 End If SO_tb.Text = 新流水號 End Sub Private Sub 新增準備2() SQL_新增樣品訂單控制表() : conn.Close() 新流水號2() SQL_新增樣品訂單清單3() : conn.Close() Set_清單1() : Set_清單4() MsgBox("資料新增準備完成") End Sub Private Sub Button29_Click(sender As Object, e As EventArgs) Handles 一般新增_bt.Click Dim aa1 As MsgBoxResult aa1 = MsgBox("確定要使用--一般新增--生成一張空白的樣品單嗎?", MsgBoxStyle.OkCancel) If aa1 = MsgBoxResult.Ok Then 新增文件 = True : Timer1.Enabled = True 一般新增_bt.Enabled = False : 複製新增_bt.Enabled = False : 修改模式_bt.Enabled = False : REVISED_bt.Enabled = False 存檔_bt.Enabled = True : 新增_bt.Enabled = True : 新增1_bt.Enabled = True : 刪除_bt.Enabled = True : 刪除1_bt.Enabled = True 版次_tb.Text = "V01" 新增準備1() ETD_dtp.Format = DateTimePickerFormat.Custom : ETD_dtp.CustomFormat = " " : ISSUE_dtp.Format = DateTimePickerFormat.Custom : ISSUE_dtp.CustomFormat = " " ComboBox1下拉表單資料載入() : ComboBox2下拉表單資料載入() : ComboBox3下拉表單資料載入() : ComboBox4下拉表單資料載入() : ComboBox19下拉表單資料載入() ComboBox5下拉表單資料載入() : ComboBox6下拉表單資料載入() : ComboBox7下拉表單資料載入() : ComboBox8下拉表單資料載入() : ComboBox15下拉表單資料載入() 制表人_tb.Text = gUserName : 選擇第_tb.Text = "" : 項_tb.Text = "" : QTY_tb.Text = "0" : 選擇_tb.Text = "" : 中皮1_tb.Text = "" : 中皮2_tb.Text = "" 明細2_dgv.DataSource = Nothing : ds1.Clear() : 明細3_dgv.DataSource = Nothing : ds2.Clear() : 明細5_dgv.DataSource = Nothing : ds4.Clear() Set_日期格式轉換() 新增準備2() : Set_清單() End If End Sub Private Sub 新增準備6() SQL_新增樣品訂單控制表() : conn.Close() For i As Integer = 0 To 明細2_dgv.Rows.Count - 1 資料數 = 明細2_dgv.Rows.Count : MyModule1.進度條() 新流水號2() PA6 = 明細2_dgv.Rows(i).Cells("項次").Value : PA1 = 明細2_dgv.Rows(i).Cells("架號").Value : PA2 = 明細2_dgv.Rows(i).Cells("數量").Value PA3 = 明細2_dgv.Rows(i).Cells("SIZE").Value : PA4 = 明細2_dgv.Rows(i).Cells("KEEP").Value : PA5 = 明細2_dgv.Rows(i).Cells("顏色").Value SQL_新增樣品訂單清單1() : conn.Close() Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0 Set_清單1() : Set_清單4() For i As Integer = 0 To 明細3_dgv.Rows.Count - 1 資料數 = 明細3_dgv.Rows.Count : MyModule1.進度條() For ii As Integer = 0 To 明細2_dgv.Rows.Count - 1 If 明細3_dgv.Rows(i).Cells("項次").Value = 明細2_dgv.Rows(ii).Cells("項次").Value Then PA = 明細2_dgv.Rows(ii).Cells("流水號").Value End If Next PA7 = 明細3_dgv.Rows(i).Cells("部件").Value : PA8 = 明細3_dgv.Rows(i).Cells("材料名稱").Value : PA11 = 明細3_dgv.Rows(i).Cells("廠商").Value PA9 = 明細3_dgv.Rows(i).Cells("顏色").Value : PA10 = 明細3_dgv.Rows(i).Cells("備註").Value SQL_新增樣品訂單部件表1() : conn.Close() Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0 Set_清單2() : Set_清單3() MsgBox("資料新增準備完成") : PA = "" End Sub Private Sub Button5_Click(sender As Object, e As EventArgs) Handles 複製新增_bt.Click Dim aa1 As MsgBoxResult aa1 = MsgBox("確定要使用--複製新增--將選中的樣品單資料複製成另一張樣品單嗎?", MsgBoxStyle.OkCancel) If aa1 = MsgBoxResult.Ok Then If SO_tb.Text = "" Then MsgBox("複製新增需要選擇被複製的單據") Else 新增文件 = True : Timer1.Enabled = True 一般新增_bt.Enabled = False : 複製新增_bt.Enabled = False : 修改模式_bt.Enabled = False : REVISED_bt.Enabled = False 存檔_bt.Enabled = True : 新增_bt.Enabled = True : 新增1_bt.Enabled = True : 刪除_bt.Enabled = True : 刪除1_bt.Enabled = True 版次_tb.Text = "V01" Set_日期格式轉換() 新增準備1() : 新增準備6() : Set_清單() End If End If End Sub Private Sub Button12_Click(sender As Object, e As EventArgs) Handles 修改模式_bt.Click If SO_tb.Text = "" Then MsgBox("沒有選擇要修改的樣品單") Else If 制表人_tb.Text = gUserName Or gUserName = "李協叡" Then 新增文件 = False : Timer1.Enabled = True 一般新增_bt.Enabled = False : 複製新增_bt.Enabled = False : 修改模式_bt.Enabled = False : REVISED_bt.Enabled = False 存檔_bt.Enabled = True : 新增_bt.Enabled = True : 新增1_bt.Enabled = True : 刪除_bt.Enabled = True : 刪除1_bt.Enabled = True Else Dim result As DialogResult = MessageBox.Show("你所選擇的樣品單並不是你所建立的,你確定要進行編輯嗎?", "請選擇", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If result = DialogResult.Yes Then PA11 = InputBox("請輸入大寫 [YES],並按下確認來開啟單據編輯模式!!") If PA11 = "YES" Then 新增文件 = False : Timer1.Enabled = True 一般新增_bt.Enabled = False : 複製新增_bt.Enabled = False : 修改模式_bt.Enabled = False : REVISED_bt.Enabled = False 存檔_bt.Enabled = True : 新增_bt.Enabled = True : 新增1_bt.Enabled = True : 刪除_bt.Enabled = True : 刪除1_bt.Enabled = True End If End If End If End If End Sub Private Sub Button16_Click(sender As Object, e As EventArgs) Handles REVISED_bt.Click If SO_tb.Text = "" Then MsgBox("沒有選擇要修改的樣品單") Else If 制表人_tb.Text = gUserName Or gUserName = "李協叡" Then Dim aa1 As MsgBoxResult aa1 = MsgBox("確定要使用--REVISED--將選中的樣品單改版成下一個版本嗎?", MsgBoxStyle.OkCancel) If aa1 = MsgBoxResult.Ok Then 新增文件 = True : Timer1.Enabled = True 一般新增_bt.Enabled = False : 複製新增_bt.Enabled = False : 修改模式_bt.Enabled = False : REVISED_bt.Enabled = False 存檔_bt.Enabled = True : 新增_bt.Enabled = True : 新增1_bt.Enabled = True : 刪除_bt.Enabled = True : 刪除1_bt.Enabled = True Dim NUM1 As Integer SQL_查詢最後一筆版次() If dr.Read() Then : 新流水號3 = dr("版次") : Else : 新流水號3 = "V00" : End If : conn.Close() NUM1 = Double.Parse(Strings.Right(新流水號3, 2)) + 1 If NUM1 < 10 Then : 新流水號3 = "V" & "0" & NUM1 ElseIf NUM1 > 9 Then : 新流水號3 = "V" & NUM1 End If 版次_tb.Text = 新流水號3 SQL_版本更新() If dr.Read() Then MsgBox("該單據已有 " & 版次_tb.Text & " 版本,REVISED需要選擇最後的版本,請重新選擇。") 新增文件 = False : Timer1.Enabled = False : 資料尚未存檔_lb.Visible = False 一般新增_bt.Enabled = True : 複製新增_bt.Enabled = True : 修改模式_bt.Enabled = True : REVISED_bt.Enabled = True 存檔_bt.Enabled = False : 新增_bt.Enabled = False : 新增1_bt.Enabled = False : 刪除_bt.Enabled = False : 刪除1_bt.Enabled = False conn.Close() Else conn.Close() Set_日期格式轉換() : 新增準備6() : Set_清單() End If End If Else Dim result As DialogResult = MessageBox.Show("你所選擇的樣品單並不是你所建立的,你確定要進行編輯嗎?", "請選擇", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If result = DialogResult.Yes Then PA11 = InputBox("請輸入大寫 [YES],並按下確認來開啟單據編輯模式!!") If PA11 = "YES" Then Dim aa1 As MsgBoxResult aa1 = MsgBox("確定要使用--REVISED--將選中的樣品單改版成下一個版本嗎?", MsgBoxStyle.OkCancel) If aa1 = MsgBoxResult.Ok Then 新增文件 = True : Timer1.Enabled = True 一般新增_bt.Enabled = False : 複製新增_bt.Enabled = False : 修改模式_bt.Enabled = False : REVISED_bt.Enabled = False 存檔_bt.Enabled = True : 新增_bt.Enabled = True : 新增1_bt.Enabled = True : 刪除_bt.Enabled = True : 刪除1_bt.Enabled = True Dim NUM1 As Integer SQL_查詢最後一筆版次() If dr.Read() Then : 新流水號3 = dr("版次") : Else : 新流水號3 = "V00" : End If : conn.Close() NUM1 = Double.Parse(Strings.Right(新流水號3, 2)) + 1 If NUM1 < 10 Then : 新流水號3 = "V" & "0" & NUM1 ElseIf NUM1 > 9 Then : 新流水號3 = "V" & NUM1 End If 版次_tb.Text = 新流水號3 SQL_版本更新() If dr.Read() Then MsgBox("該單據已有 " & 版次_tb.Text & " 版本,REVISED需要選擇最後的版本,請重新選擇。") 新增文件 = False : Timer1.Enabled = False : 資料尚未存檔_lb.Visible = False 一般新增_bt.Enabled = True : 複製新增_bt.Enabled = True : 修改模式_bt.Enabled = True : REVISED_bt.Enabled = True 存檔_bt.Enabled = False : 新增_bt.Enabled = False : 新增1_bt.Enabled = False : 刪除_bt.Enabled = False : 刪除1_bt.Enabled = False conn.Close() Else conn.Close() Set_日期格式轉換() : 新增準備6() : Set_清單() End If End If End If End If End If End If End Sub Private Sub Button11_Click(sender As Object, e As EventArgs) Handles 存檔_bt.Click 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 MsgBox("紅字區資料不可空白,請仔細檢查。") Else Set_日期格式轉換() SQL_更改樣品訂單控制表() : conn.Close() 新增準備4_1() : 新增準備4_2() 新增文件 = False : Timer1.Enabled = False : 資料尚未存檔_lb.Visible = False 一般新增_bt.Enabled = True : 複製新增_bt.Enabled = True : 修改模式_bt.Enabled = True : REVISED_bt.Enabled = True 存檔_bt.Enabled = False : 新增_bt.Enabled = False : 新增1_bt.Enabled = False : 刪除_bt.Enabled = False : 刪除1_bt.Enabled = False MsgBox("存檔完成") : 返回_bt.PerformClick() End If End Sub Private Sub Button10_Click(sender As Object, e As EventArgs) Handles 刪除3_bt.Click If SO_tb.Text = "" Then MsgBox("沒有選擇要刪除的資料") Else Dim aa As MsgBoxResult aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel) If aa = MsgBoxResult.Ok Then SQL_刪除樣品訂單控制表() : conn.Close() SQL_刪除樣品訂單部件表1() : conn.Close() MsgBox("刪除完成") : Set_清單() : 明細2_dgv.DataSource = Nothing : ds1.Clear() : 明細3_dgv.DataSource = Nothing : ds2.Clear() 新增文件 = False : Timer1.Enabled = False : 資料尚未存檔_lb.Visible = False 一般新增_bt.Enabled = True : 複製新增_bt.Enabled = True : 修改模式_bt.Enabled = True : REVISED_bt.Enabled = True 存檔_bt.Enabled = False : 新增_bt.Enabled = False : 新增1_bt.Enabled = False : 刪除_bt.Enabled = False : 刪除1_bt.Enabled = False 返回_bt.PerformClick() End If End If End Sub Private Sub Button21_Click(sender As Object, e As EventArgs) Handles 重新排序_bt.Click 新增準備4_2() : Set_清單2() End Sub Private Sub Button19_Click(sender As Object, e As EventArgs) Handles 列印單_bt.Click If 列印用SQL = "" Then MsgBox("沒有選擇要列印的樣品單") Else 列印_樣品單_NEW.ShowDialog() : 列印用SQL = "" : 列印用SQL2 = "" End If End Sub Private Sub Button20_Click(sender As Object, e As EventArgs) Handles 列印_bt.Click If 列印用SQL = "" Then MsgBox("沒有選擇要列印的樣品單") Else 列印_樣品貼標.ShowDialog() : 列印用SQL = "" : 列印用SQL2 = "" End If End Sub Private Sub 轉預告單準備1() Dim NUM1 As Integer SQL_最後一筆PAO() If dr.Read() Then : 新流水號4 = dr("PAO") : Else : 新流水號4 = "MT00000-" & Strings.Right(ComboBox10.Text, 2) : End If : conn.Close() NUM1 = Double.Parse(Strings.Mid(新流水號4, 3, 5)) + 1 If NUM1 < 10 Then : 新流水號4 = "MT" & "0000" & NUM1 & "-" & Strings.Right(ComboBox10.Text, 2) ElseIf NUM1 > 9 And NUM1 < 100 Then : 新流水號4 = "MT" & "000" & NUM1 & "-" & Strings.Right(ComboBox10.Text, 2) ElseIf NUM1 > 99 And NUM1 < 1000 Then : 新流水號4 = "MT" & "00" & NUM1 & "-" & Strings.Right(ComboBox10.Text, 2) ElseIf NUM1 > 999 And NUM1 < 10000 Then : 新流水號4 = "MT" & "0" & NUM1 & "-" & Strings.Right(ComboBox10.Text, 2) ElseIf NUM1 > 9999 Then : 新流水號4 = "MT" & NUM1 & "-" & Strings.Right(ComboBox10.Text, 2) End If End Sub Private Sub 轉預告單準備2() Dim NUM1 As Integer SQL_最後一筆流水號() If dr.Read() Then : 新流水號5 = dr("流水號") : Else : 新流水號5 = "SY0000000000" : End If : conn.Close() NUM1 = Double.Parse(Strings.Right(新流水號5, 10)) + 1 If NUM1 < 10 Then : 新流水號5 = "SY" & "000000000" & NUM1 ElseIf NUM1 > 9 And NUM1 < 100 Then : 新流水號5 = "SY" & "00000000" & NUM1 ElseIf NUM1 > 99 And NUM1 < 1000 Then : 新流水號5 = "SY" & "0000000" & NUM1 ElseIf NUM1 > 999 And NUM1 < 10000 Then : 新流水號5 = "SY" & "000000" & NUM1 ElseIf NUM1 > 9999 And NUM1 < 100000 Then : 新流水號5 = "SY" & "00000" & NUM1 ElseIf NUM1 > 99999 And NUM1 < 1000000 Then : 新流水號5 = "SY" & "0000" & NUM1 ElseIf NUM1 > 999999 And NUM1 < 10000000 Then : 新流水號5 = "SY" & "000" & NUM1 ElseIf NUM1 > 9999999 And NUM1 < 100000000 Then : 新流水號5 = "SY" & "00" & NUM1 ElseIf NUM1 > 99999999 And NUM1 < 1000000000 Then : 新流水號5 = "SY" & "0" & NUM1 ElseIf NUM1 > 999999999 Then : 新流水號5 = "SY" & NUM1 End If End Sub Private Sub Set_DGV6載入前設定() 明細6_dgv.DataSource = Nothing : ds6.Clear() 明細6_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 明細6_dgv.ColumnHeadersHeight = 25 明細6_dgv.AllowUserToAddRows = False End Sub Private Sub Set_DGV6載入後設定() da.Fill(ds6) : 明細6_dgv.DataSource = ds6.Tables(0) : conn.Close() End Sub Private Sub Set_清單5() Set_DGV6載入前設定() SQL_預告訂單清單() Set_DGV6載入後設定() End Sub Private Sub Button23_Click(sender As Object, e As EventArgs) Handles 樣品訂單轉制預告訂單_bt.Click GroupBox1.Visible = True End Sub Private Sub Button26_Click(sender As Object, e As EventArgs) Handles 確定轉制訂單_bt.Click 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 MsgBox("紅字區資料不可空白,請仔細檢查,確定所選擇的樣品單資料正確。") Else 轉預告單準備1() Set_日期格式轉換() SQL_新增預告訂單控制表() : conn.Close() For i As Integer = 0 To 明細2_dgv.Rows.Count - 1 資料數 = 明細2_dgv.Rows.Count : MyModule1.進度條() 轉預告單準備2() PA = 明細2_dgv.Rows(i).Cells("項次").Value : PA1 = 明細2_dgv.Rows(i).Cells("顏色").Value SQL_新增預告訂單清單() : conn.Close() Set_清單5() For t As Integer = 0 To 明細3_dgv.Rows.Count - 1 If 明細3_dgv.Rows(t).Cells("項次").Value = 明細2_dgv.Rows(i).Cells("項次").Value Then For ii As Integer = 0 To 明細6_dgv.Rows.Count - 1 If 明細6_dgv.Rows(ii).Cells("項次").Value = 明細2_dgv.Rows(i).Cells("項次").Value Then '-----------------KEY 是SQL_新增預告訂單部件表()----------------------------------------------------------------- PA = 明細6_dgv.Rows(ii).Cells("流水號").Value : PA1 = 明細3_dgv.Rows(t).Cells("部件").Value PA2 = 明細3_dgv.Rows(t).Cells("材料名稱").Value : PA3 = 明細3_dgv.Rows(t).Cells("顏色").Value PA4 = 明細3_dgv.Rows(t).Cells("備註").Value : PA5 = 明細3_dgv.Rows(t).Cells("廠商").Value '--------------------------------------------------------------------------------------------------- SQL_新增預告訂單部件表() conn.Close() End If Next End If Next Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0 MsgBox("單據轉制完成。") End If GroupBox1.Visible = False End Sub Private Sub Button27_Click(sender As Object, e As EventArgs) Handles 取消_bt.Click GroupBox1.Visible = False End Sub Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles 清單伸展_ch.Click Set_grid() End Sub Private Sub Button9_Click(sender As Object, e As EventArgs) Handles 搜尋_bt.Click PA = InputBox("請輸入要查詢的關鍵字") : Set_清單() : PA = "" End Sub Private Sub Button32_Click(sender As Object, e As EventArgs) Handles 返回_bt.Click PA = "" : Set_清單() End Sub Private Sub TextBox16_TextChanged(sender As Object, e As EventArgs) Handles QTY_tb.Click QTY_tb.Text = "0" For i As Integer = 0 To 明細2_dgv.Rows.Count - 1 QTY_tb.Text = Val(QTY_tb.Text) + 明細2_dgv.Rows(i).Cells("數量").Value Next End Sub Private Sub ComboBox11_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 新增_cb.SelectedIndexChanged ComboBox6下拉表單資料載入() End Sub Private Sub Button30_Click(sender As Object, e As EventArgs) Handles 指定資料寫入_bt.Click If 筆資料中的_tb.Text = "" Then MsgBox("資料寫入前須先選擇清單中的哪一筆") Else 明細3_dgv.Rows(Val(筆資料中的_tb.Text) - 1).Cells("廠商").Value = 供應商_cb.Text 明細3_dgv.Rows(Val(筆資料中的_tb.Text) - 1).Cells("材料名稱").Value = 供應商2_cb.Text 明細3_dgv.Rows(Val(筆資料中的_tb.Text) - 1).Cells("顏色").Value = 供應商3_cb.Text End If End Sub Private Sub ComboBox12_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 供應商_cb.SelectedIndexChanged ComboBox13下拉表單資料載入() : ComboBox14下拉表單資料載入() End Sub Private Sub ComboBox15_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 中皮_cb.SelectedIndexChanged SQL_中皮下拉選單() If dr.Read() Then : 中皮1_tb.Text = dr("中皮") : 中皮2_tb.Text = dr("結構") : End If : conn.Close() End Sub Private Sub ComboBox16_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 中底_cb.SelectedIndexChanged SQL_做法() If dr.Read() Then : 中底_tb.Text = dr("做法") : End If : conn.Close() End Sub Private Sub ComboBox18_SelectedIndexChanged_1(sender As Object, e As EventArgs) Handles 廠商類別_cb.SelectedIndexChanged ComboBox12下拉表單資料載入() End Sub Private Sub 明細2_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 明細2_dgv.MouseUp If 明細2_dgv.SelectedCells.Count = 1 Then 已超出 = False End If If 明細2_dgv.SelectedCells.Count > 0 Then '設定滑鼠點擊DGV時候的範圍,超出範圍時有可能不是數字所以不計算 If 明細2_dgv.SelectedCells(0).ColumnIndex = 5 Then If 已超出 = False Then Dim x As Double = 0 For i As Integer = 0 To 明細2_dgv.SelectedCells.Count - 1 '明細2_dgv.SelectedCells.Item(i).ColumnIndex + 8 是因為該DGV顯示項與計算像剛好差8格,使用時要注意可直接計算的不需要加數字。 x += Val(明細2_dgv.Rows(明細2_dgv.SelectedCells.Item(i).RowIndex).Cells(明細2_dgv.SelectedCells.Item(i).ColumnIndex).Value) Next i '將計算好的資料放置到指定的控件中 WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(x, "#,##0") Else WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0") End If Else 已超出 = True WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0") End If End If End Sub End Class