Option Strict Off Imports System.IO Public Class 量產訂單控制表 Private ReadOnly ds1, ds3 As New DataSet Dim GHJK As String Dim 已超出 As Boolean Dim aa As MsgBoxResult Private Sub Set_清單3() 控制表_dgv.DataSource = Nothing : ds3.Clear() 控制表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 控制表_dgv.ColumnHeadersHeight = 25 控制表_dgv.AllowUserToAddRows = False 控制表_dgv.RowTemplate.Height = 35 SQL_控制表清單() da.Fill(ds3) : 控制表_dgv.DataSource = ds3.Tables(0) : conn.Close() : Set_grid4() End Sub Private Sub Set_控制表_dgv_插入勾選控件清單() Dim Col As New DataGridViewCheckBoxColumn With { .FillWeight = 40, .DataPropertyName = "選擇" } Col.HeaderText = "選擇" : Col.Name = "選擇" 控制表_dgv.Columns.Insert(0, Col) End Sub Private Sub Set_grid4() If 控制表_dgv.Columns.Count.ToString > 63 Then 控制表_dgv.Columns.Remove("選擇") End If Set_控制表_dgv_插入勾選控件清單() 控制表_dgv.Columns(0).FillWeight = 40 : 控制表_dgv.Columns(1).FillWeight = 140 : 控制表_dgv.Columns(2).FillWeight = 80 : 控制表_dgv.Columns(3).FillWeight = 140 控制表_dgv.Columns(4).FillWeight = 130 : 控制表_dgv.Columns(5).FillWeight = 140 : 控制表_dgv.Columns(6).FillWeight = 90 : 控制表_dgv.Columns(7).FillWeight = 60 控制表_dgv.Columns(8).FillWeight = 90 : 控制表_dgv.Columns(9).FillWeight = 100 : 控制表_dgv.Columns(10).FillWeight = 100 : 控制表_dgv.Columns(11).FillWeight = 100 控制表_dgv.Columns(12).FillWeight = 90 : 控制表_dgv.Columns(13).FillWeight = 90 : 控制表_dgv.Columns(14).FillWeight = 270 : 控制表_dgv.Columns(15).FillWeight = 90 控制表_dgv.Columns(16).FillWeight = 120 : 控制表_dgv.Columns(17).FillWeight = 140 : 控制表_dgv.Columns(18).FillWeight = 115 : 控制表_dgv.Columns(19).FillWeight = 50 控制表_dgv.Columns(20).FillWeight = 60 : 控制表_dgv.Columns(21).FillWeight = 495 : 控制表_dgv.Columns(22).FillWeight = 120 : 控制表_dgv.Columns(23).FillWeight = 120 控制表_dgv.Columns(24).FillWeight = 113 : 控制表_dgv.Columns(25).FillWeight = 113 : 控制表_dgv.Columns(26).FillWeight = 113 : 控制表_dgv.Columns(27).FillWeight = 114 控制表_dgv.Columns(28).FillWeight = 114 : 控制表_dgv.Columns(29).FillWeight = 114 : 控制表_dgv.Columns(30).FillWeight = 114 : 控制表_dgv.Columns(31).FillWeight = 120 控制表_dgv.Columns(32).FillWeight = 120 : 控制表_dgv.Columns(33).FillWeight = 120 : 控制表_dgv.Columns(34).FillWeight = 120 : 控制表_dgv.Columns(35).FillWeight = 120 控制表_dgv.Columns(36).FillWeight = 195 : 控制表_dgv.Columns(37).FillWeight = 123 : 控制表_dgv.Columns(38).FillWeight = 123 : 控制表_dgv.Columns(39).FillWeight = 123 控制表_dgv.Columns(40).FillWeight = 60 : 控制表_dgv.Columns(41).FillWeight = 123 : 控制表_dgv.Columns(42).FillWeight = 123 : 控制表_dgv.Columns("驗報圖庫").Visible = False 控制表_dgv.Columns("HTS").FillWeight = 60 : 控制表_dgv.Columns("DUTY").FillWeight = 60 控制表_dgv.Columns(0).ReadOnly = True '795 If 第一頁_bt.Enabled = False And 第二頁_bt.Enabled = True And 第三頁_bt.Enabled = True And 第四頁_bt.Enabled = True And 第五頁_bt.Enabled = True Then For i As Integer = 9 To 15 : 控制表_dgv.Columns(i).Visible = True : Next For i As Integer = 20 To 60 : 控制表_dgv.Columns(i).Visible = False : Next 控制表_dgv.Columns(18).Visible = True : 控制表_dgv.Columns(15).Visible = False ElseIf 第一頁_bt.Enabled = True And 第二頁_bt.Enabled = False And 第三頁_bt.Enabled = True And 第四頁_bt.Enabled = True And 第五頁_bt.Enabled = True Then For i As Integer = 9 To 16 : 控制表_dgv.Columns(i).Visible = False : Next For i As Integer = 20 To 23 : 控制表_dgv.Columns(i).Visible = True : Next For i As Integer = 24 To 60 : 控制表_dgv.Columns(i).Visible = False : Next 控制表_dgv.Columns(18).Visible = False ElseIf 第一頁_bt.Enabled = True And 第二頁_bt.Enabled = True And 第三頁_bt.Enabled = False And 第四頁_bt.Enabled = True And 第五頁_bt.Enabled = True Then For i As Integer = 9 To 16 : 控制表_dgv.Columns(i).Visible = False : Next For i As Integer = 20 To 23 : 控制表_dgv.Columns(i).Visible = False : Next For i As Integer = 24 To 30 : 控制表_dgv.Columns(i).Visible = True : Next For i As Integer = 31 To 60 : 控制表_dgv.Columns(i).Visible = False : Next 控制表_dgv.Columns(18).Visible = False ElseIf 第一頁_bt.Enabled = True And 第二頁_bt.Enabled = True And 第三頁_bt.Enabled = True And 第四頁_bt.Enabled = False And 第五頁_bt.Enabled = True Then For i As Integer = 9 To 16 : 控制表_dgv.Columns(i).Visible = False : Next For i As Integer = 20 To 30 : 控制表_dgv.Columns(i).Visible = False : Next For i As Integer = 31 To 36 : 控制表_dgv.Columns(i).Visible = True : Next For i As Integer = 37 To 60 : 控制表_dgv.Columns(i).Visible = False : Next 控制表_dgv.Columns(18).Visible = False ElseIf 第一頁_bt.Enabled = True And 第二頁_bt.Enabled = True And 第三頁_bt.Enabled = True And 第四頁_bt.Enabled = True And 第五頁_bt.Enabled = False Then For i As Integer = 9 To 15 : 控制表_dgv.Columns(i).Visible = False : Next For i As Integer = 20 To 36 : 控制表_dgv.Columns(i).Visible = False : Next For i As Integer = 37 To 42 : 控制表_dgv.Columns(i).Visible = True : Next For i As Integer = 43 To 60 : 控制表_dgv.Columns(i).Visible = False : Next 控制表_dgv.Columns(17).Visible = False : 控制表_dgv.Columns(15).Visible = True End If 控制表_dgv.Columns(8).DefaultCellStyle.Format = "#,##0" : 控制表_dgv.Columns(12).DefaultCellStyle.Format = "#,##0.00" : 控制表_dgv.Columns(13).DefaultCellStyle.Format = "#,##0.00" 控制表_dgv.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 控制表_dgv.Columns(13).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight 控制表_dgv.Columns(12).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight 控制表_dgv.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight : 控制表_dgv.Columns(13).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight 控制表_dgv.Columns(12).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight L總雙數_tb.Text = "0" : Cost總雙數_tb.Text = "0" : 合總雙數_tb.Text = "0" : 合總銷售_tb.Text = "0" : L總銷售_tb.Text = "0" : Cost總銷售_tb.Text = "0" For i As Integer = 0 To 控制表_dgv.Rows.Count - 1 If 控制表_dgv.Rows(i).Cells("訂單屬性").Value.ToString = "LANDED BRANDED" Then L總雙數_tb.Text = Val(L總雙數_tb.Text) + 控制表_dgv.Rows(i).Cells("訂單數量").Value L總銷售_tb.Text = Val(L總銷售_tb.Text) + 控制表_dgv.Rows(i).Cells("總金額").Value Else Cost總雙數_tb.Text = Val(Cost總雙數_tb.Text) + 控制表_dgv.Rows(i).Cells("訂單數量").Value Cost總銷售_tb.Text = Val(Cost總銷售_tb.Text) + 控制表_dgv.Rows(i).Cells("總金額").Value End If 控制表_dgv("選擇", i).Value = False Next 合總雙數_tb.Text = Val(L總雙數_tb.Text) + Val(Cost總雙數_tb.Text) : 合總銷售_tb.Text = Val(L總銷售_tb.Text) + Val(Cost總銷售_tb.Text) 合總銷售_tb.Text = Format(Val(合總銷售_tb.Text), "#,##0") : L總銷售_tb.Text = Format(Val(L總銷售_tb.Text), "#,##0") : Cost總銷售_tb.Text = Format(Val(Cost總銷售_tb.Text), "#,##0") L總雙數_tb.Text = Format(Val(L總雙數_tb.Text), "#,##0") : Cost總雙數_tb.Text = Format(Val(Cost總雙數_tb.Text), "#,##0") : 合總雙數_tb.Text = Format(Val(合總雙數_tb.Text), "#,##0") If DGV位置2.Value >= 控制表_dgv.Rows.Count And 控制表_dgv.Rows.Count > 0 Then : DGV位置2.Value = 控制表_dgv.Rows.Count - 1 : End If If DGV位置2.Value > 0 Then : 控制表_dgv.CurrentCell = 控制表_dgv.Rows(DGV位置2.Value).Cells(1) : 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 表單2_dgv.Visible = False : 可出貨數量_tb.Enabled = False : 第一頁_bt.Enabled = False : 批量出貨_bt.Enabled = False Set_清單3() SQL_刪除貨款匯入出款明細表() : conn.Close() End Sub Private Sub DataGridView3_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 控制表_dgv.CellClick If e.RowIndex = -1 Then : Else : DGV位置2.Value = e.RowIndex If 啟用批量出貨_ch.Checked = True Then If 控制表_dgv.Rows(e.RowIndex).Cells("驗貨報告圖片").Value.ToString <> "" Then If 控制表_dgv("選擇", e.RowIndex).Value = True Then 控制表_dgv("選擇", e.RowIndex).Value = False Else 控制表_dgv("選擇", e.RowIndex).Value = True End If For i As Integer = 0 To 控制表_dgv.Rows.Count - 1 If 控制表_dgv("選擇", i).Value = True Then 控制表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGreen Else 控制表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.White End If Next End If Else If e.RowIndex = -1 Then : Else 訂單流水號_tb.Text = 控制表_dgv.Rows(e.RowIndex).Cells("訂單流水號").Value 資料流水號_tb.Text = 控制表_dgv.Rows(e.RowIndex).Cells("資料流水號").Value 可出貨數量_tb.Text = 控制表_dgv.Rows(e.RowIndex).Cells("訂單數量").Value - 控制表_dgv.Rows(e.RowIndex).Cells("出貨數量").Value 可出貨數量_tb.Text = Format(Val(可出貨數量_tb.Text), "###0") If 控制表_dgv.Rows(e.RowIndex).Cells("明細建檔").Value = True Then : 開啟訂單明細表_bt.Enabled = True : Else : 開啟訂單明細表_bt.Enabled = False : End If PictureBox1.Image = Nothing PA7 = 控制表_dgv.Rows(e.RowIndex).Cells("BUYER").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 If 控制表_dgv.Rows(e.RowIndex).Cells("驗報圖庫").Value.ToString <> "" Then PA1 = 控制表_dgv.Rows(e.RowIndex).Cells("驗報圖庫").Value.ToString : PA2 = 控制表_dgv.Rows(e.RowIndex).Cells("驗貨報告圖片").Value.ToString SQL_驗貨報告() : PictureBox2.Image = Nothing 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) : PictureBox2.Image = Bitmap.FromStream(oStream) End While conn.Close() : PictureBox2.SizeMode = 4 驗貨報告 = 控制表_dgv.Rows(e.RowIndex).Cells("驗貨報告圖片").Value.ToString : 圖片庫 = 控制表_dgv.Rows(e.RowIndex).Cells("驗報圖庫").Value.ToString Else PictureBox2.Image = Nothing End If End If End If End If End Sub Private Sub 控制表_dgv_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(1, e.RowIndex).Value.ToString <> 控制表_dgv(1, 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 CheckBox10_CheckedChanged(sender As Object, e As EventArgs) Handles 拆單出貨_ch.Click If 拆單出貨_ch.Checked = True Then : 拆單出貨_ch.Checked = True : 整單出貨_ch.Checked = False : Else : 拆單出貨_ch.Checked = False : 整單出貨_ch.Checked = True : End If End Sub Private Sub CheckBox11_CheckedChanged(sender As Object, e As EventArgs) Handles 整單出貨_ch.Click If 整單出貨_ch.Checked = True Then : 整單出貨_ch.Checked = True : 拆單出貨_ch.Checked = False : Else : 整單出貨_ch.Checked = False : 拆單出貨_ch.Checked = True : End If End Sub Private Sub CheckBox24_CheckedChanged(sender As Object, e As EventArgs) Handles 整張訂單CXL_ch.Click If 整張訂單CXL_ch.Checked = True Then : 整張訂單CXL_ch.Checked = True : 單筆資料CXL_ch.Checked = False : Else : 整張訂單CXL_ch.Checked = False : 單筆資料CXL_ch.Checked = True : End If End Sub Private Sub CheckBox25_CheckedChanged(sender As Object, e As EventArgs) Handles 單筆資料CXL_ch.Click If 單筆資料CXL_ch.Checked = True Then : 整張訂單CXL_ch.Checked = False : 單筆資料CXL_ch.Checked = True : Else : 整張訂單CXL_ch.Checked = True : 單筆資料CXL_ch.Checked = False : End If End Sub Private Sub Button30_Click(sender As Object, e As EventArgs) Handles 開啟訂單明細表_bt.Click If 訂單流水號_tb.Text = "" Then MsgBox("請先選擇訂單資料") Else PA = 訂單流水號_tb.Text 量產訂單明細表.Show() : 量產訂單明細表.WindowState = 2 End If End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 刪除訂單_bt.Click If 訂單流水號_tb.Text = "" Then MsgBox("未選擇需要刪除的資料") Else aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel) If aa = MsgBoxResult.Ok Then SQL_刪除訂單明細表抬頭() : conn.Close() SQL_刪除訂單控制表1() : conn.Close() SQL_刪除訂單明細表1() : conn.Close() MsgBox("刪除完成") End If End If PA = "" Set_清單3() End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 關鍵字查詢_bt.Click PA = InputBox("請輸入要查詢的關鍵字") : Set_清單3() : PA = "" End Sub Private Sub Button38_Click(sender As Object, e As EventArgs) Handles CXL訂單_bt.Click aa = MsgBox("確定要CXL訂單?", MsgBoxStyle.OkCancel) If aa = MsgBoxResult.Ok Then If 資料流水號_tb.Text = "" Or 訂單流水號_tb.Text = "" Then MsgBox("沒有正確選擇要修改的資料") Else SQL_更改訂單控制表1() : conn.Close() End If End If Set_清單3() End Sub Private Sub DateTimePicker30_ValueChanged(sender As Object, e As EventArgs) Handles 時間_dtp.MouseDown 時間_dtp.Format = DateTimePickerFormat.Short End Sub Private Sub Button27_Click(sender As Object, e As EventArgs) Handles 清空_bt.Click 時間_dtp.Format = DateTimePickerFormat.Custom : 時間_dtp.CustomFormat = " " End Sub Private Sub Button15_Click(sender As Object, e As EventArgs) Handles 確定出貨_bt.Click aa = MsgBox("確定要將此產品訂單移到出貨?", MsgBoxStyle.OkCancel) If aa = MsgBoxResult.Ok Then If 時間_dtp.Format = DateTimePickerFormat.Custom Then : MsgBox("ACTUAL ex-fty不能空白") Else Dim EDR As Integer If 拆單出貨_ch.Checked = True Then If 出貨數量_tb.Text = "" Or IsNumeric(出貨數量_tb.Text) = False Then MsgBox("出貨數量不可為空白或非數字型態") Else 表單2_dgv.DataSource = Nothing : ds1.Clear() 表單2_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 表單2_dgv.ColumnHeadersHeight = 25 表單2_dgv.AllowUserToAddRows = False SQL_次清單() : da.Fill(ds1) : 表單2_dgv.DataSource = ds1.Tables(0) : conn.Close() For i As Integer = 0 To 表單2_dgv.Rows.Count - 1 GHJK = 表單2_dgv.Rows(i).Cells("驗貨報告圖片").Value If GHJK = "" Then MsgBox("驗貨報告不齊全,請重新確認。") Set_清單3() : 出貨數量_tb.Text = "" : 資料流水號_tb.Text = "" : 訂單流水號_tb.Text = "" Exit Sub End If Next If 表單2_dgv.Rows(0).Cells("出貨數量").Value >= 表單2_dgv.Rows(0).Cells("訂單數量").Value Then MsgBox("系統有誤,請通知系統管理員處理。") Exit Sub End If SQL_新增貨款流水號() If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("貨款流水號").ToString, 8)) : Else : EDR = 0 : End If conn.Close() EDR += 1 If EDR < 10 Then : ESTR = "PG" & "0000000" & EDR ElseIf EDR > 9 And EDR < 100 Then : ESTR = "PG" & "000000" & EDR ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "PG" & "00000" & EDR ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "PG" & "0000" & EDR ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "PG" & "000" & EDR ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "PG" & "00" & EDR ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "PG" & "0" & EDR ElseIf EDR > 9999999 Then : ESTR = "PG" & EDR End If PA2 = 表單2_dgv.Rows(0).Cells("資料流水號").Value : PA3 = 表單2_dgv.Rows(0).Cells("訂單流水號").Value PA4 = 表單2_dgv.Rows(0).Cells("年份季度").Value : PA5 = 表單2_dgv.Rows(0).Cells("客戶訂單號").Value PA6 = 表單2_dgv.Rows(0).Cells("型體名稱").Value : PA7 = 表單2_dgv.Rows(0).Cells("顏色").Value PA8 = 表單2_dgv.Rows(0).Cells("楦型").Value : PA9 = 表單2_dgv.Rows(0).Cells("訂單數量").Value SQL_新增貨款匯入出款明細表() : conn.Close() EDRW = 表單2_dgv.Rows(0).Cells("出貨數量").Value + Double.Parse(出貨數量_tb.Text) SQL_更改訂單控制表3() : conn.Close() End If Else 表單2_dgv.DataSource = Nothing : ds1.Clear() 表單2_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 表單2_dgv.ColumnHeadersHeight = 25 表單2_dgv.AllowUserToAddRows = False SQL_次清單() : da.Fill(ds1) : 表單2_dgv.DataSource = ds1.Tables(0) : conn.Close() For i As Integer = 0 To 表單2_dgv.Rows.Count - 1 GHJK = 表單2_dgv.Rows(i).Cells("驗貨報告圖片").Value If GHJK = "" Then MsgBox("驗貨報告不齊全,請重新確認。") Set_清單3() : 出貨數量_tb.Text = "" : 資料流水號_tb.Text = "" : 訂單流水號_tb.Text = "" Exit Sub End If Next SQL_貨款流水號() If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("貨款流水號").ToString, 8)) : Else : EDR = 0 : End If conn.Close() For i As Integer = 0 To 表單2_dgv.Rows.Count - 1 EDR += 1 If EDR < 10 Then : ESTR = "PG" & "0000000" & EDR ElseIf EDR > 9 And EDR < 100 Then : ESTR = "PG" & "000000" & EDR ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "PG" & "00000" & EDR ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "PG" & "0000" & EDR ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "PG" & "000" & EDR ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "PG" & "00" & EDR ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "PG" & "0" & EDR ElseIf EDR > 9999999 Then : ESTR = "PG" & EDR End If If 表單2_dgv.Rows(i).Cells("出貨數量").Value = 0 Then EDRW = 表單2_dgv.Rows(i).Cells("訂單數量").Value Else EDRW = 表單2_dgv.Rows(i).Cells("訂單數量").Value - 表單2_dgv.Rows(i).Cells("出貨數量").Value End If PA10 = 表單2_dgv.Rows(i).Cells("資料流水號").Value : PA11 = 表單2_dgv.Rows(i).Cells("訂單流水號").Value PA12 = 表單2_dgv.Rows(i).Cells("年份季度").Value : PA13 = 表單2_dgv.Rows(i).Cells("客戶訂單號").Value PA14 = 表單2_dgv.Rows(i).Cells("型體名稱").Value : PA15 = 表單2_dgv.Rows(i).Cells("顏色").Value PA16 = 表單2_dgv.Rows(i).Cells("楦型").Value : PA17 = 表單2_dgv.Rows(i).Cells("訂單數量").Value SQL_新增貨款匯入出款明細表2() : conn.Close() Next i SQL_修改訂單控制表1() : conn.Close() End If MsgBox("出貨資料作業完成") End If End If Set_清單3() : 出貨數量_tb.Text = "" : 資料流水號_tb.Text = "" End Sub Private Sub Button25_Click(sender As Object, e As EventArgs) Handles 順時鐘90度旋轉_bt.Click PictureBox2.Image.RotateFlip(RotateFlipType.Rotate90FlipNone) : PictureBox2.Refresh() : PictureBox2.SizeMode = 4 End Sub Private Sub Button24_Click(sender As Object, e As EventArgs) Handles 逆時鐘90度旋轉_bt.Click PictureBox2.Image.RotateFlip(RotateFlipType.Rotate270FlipNone) : PictureBox2.Refresh() : PictureBox2.SizeMode = 4 End Sub Private Sub Button23_Click(sender As Object, e As EventArgs) Handles 水平翻轉_bt.Click PictureBox2.Image.RotateFlip(RotateFlipType.Rotate180FlipY) : PictureBox2.Refresh() : PictureBox2.SizeMode = 4 End Sub Private Sub Button21_Click(sender As Object, e As EventArgs) Handles 垂直翻轉_bt.Click PictureBox2.Image.RotateFlip(RotateFlipType.Rotate180FlipX) : PictureBox2.Refresh() : PictureBox2.SizeMode = 4 End Sub Private Sub Button20_Click(sender As Object, e As EventArgs) Handles 驗貨報告大圖_bt.Click 驗貨報告大圖.ShowDialog() End Sub Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles 出貨數量_tb.TextChanged If Val(出貨數量_tb.Text) > Val(可出貨數量_tb.Text) Then MsgBox("出貨數量不可大於可出貨數量") : 出貨數量_tb.Text = "0" End If End Sub Private Sub ComboBox10_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 訂單屬性_cb.SelectedIndexChanged PA = 訂單屬性_cb.Text : Set_清單3() : PA = "" End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles 第一頁_bt.Click 第一頁_bt.Enabled = False : 第二頁_bt.Enabled = True : 第三頁_bt.Enabled = True : 第四頁_bt.Enabled = True : 第五頁_bt.Enabled = True Set_grid4() End Sub Private Sub Button34_Click(sender As Object, e As EventArgs) Handles 第二頁_bt.Click 第一頁_bt.Enabled = True : 第二頁_bt.Enabled = False : 第三頁_bt.Enabled = True : 第四頁_bt.Enabled = True : 第五頁_bt.Enabled = True Set_grid4() End Sub Private Sub Button35_Click(sender As Object, e As EventArgs) Handles 第三頁_bt.Click 第一頁_bt.Enabled = True : 第二頁_bt.Enabled = True : 第三頁_bt.Enabled = False : 第四頁_bt.Enabled = True : 第五頁_bt.Enabled = True Set_grid4() End Sub Private Sub Button4_Click(sender As Object, e As EventArgs) Handles 第四頁_bt.Click 第一頁_bt.Enabled = True : 第二頁_bt.Enabled = True : 第三頁_bt.Enabled = True : 第四頁_bt.Enabled = False : 第五頁_bt.Enabled = True Set_grid4() End Sub Private Sub Button6_Click(sender As Object, e As EventArgs) Handles 第五頁_bt.Click 第一頁_bt.Enabled = True : 第二頁_bt.Enabled = True : 第三頁_bt.Enabled = True : 第四頁_bt.Enabled = True : 第五頁_bt.Enabled = False Set_grid4() End Sub Private Sub Button5_Click(sender As Object, e As EventArgs) Handles 列印_bt.Click 列印_量產訂單控制表.ShowDialog() End Sub Private Sub 啟用批量出貨_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 啟用批量出貨_ch.Click If 啟用批量出貨_ch.Checked = False Then 批量出貨_bt.Enabled = False Else 批量出貨_bt.Enabled = True End If End Sub Private Sub 批量出貨_bt_Click(sender As Object, e As EventArgs) Handles 批量出貨_bt.Click aa = MsgBox("執行批量出貨之前需要在訂單控制表清單中先勾選要出貨的資料,請確定你已完成出貨資料選擇?", MsgBoxStyle.OkCancel) If aa = MsgBoxResult.Ok Then Dim EDR, SD As Integer For I As Integer = 0 To 控制表_dgv.Rows.Count - 1 資料數 = 控制表_dgv.Rows.Count : MyModule1.進度條() If 控制表_dgv("選擇", I).Value = True And 控制表_dgv("驗貨報告圖片", I).Value.ToString <> "" Then SQL_貨款流水號() If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("貨款流水號").ToString, 8)) : Else : EDR = 0 : End If conn.Close() EDR += 1 If EDR < 10 Then : ESTR = "PG" & "0000000" & EDR ElseIf EDR > 9 And EDR < 100 Then : ESTR = "PG" & "000000" & EDR ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "PG" & "00000" & EDR ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "PG" & "0000" & EDR ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "PG" & "000" & EDR ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "PG" & "00" & EDR ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "PG" & "0" & EDR ElseIf EDR > 9999999 Then : ESTR = "PG" & EDR End If PA18 = 控制表_dgv.Rows(I).Cells("資料流水號").Value : PA19 = 控制表_dgv.Rows(I).Cells("訂單流水號").Value PA20 = 控制表_dgv.Rows(I).Cells("年份季度").Value : PA21 = 控制表_dgv.Rows(I).Cells("客戶訂單號").Value PA22 = 控制表_dgv.Rows(I).Cells("型體名稱").Value : PA23 = 控制表_dgv.Rows(I).Cells("顏色").Value PA24 = 控制表_dgv.Rows(I).Cells("楦型").Value : PA25 = 控制表_dgv.Rows(I).Cells("訂單數量").Value PA26 = 控制表_dgv.Rows(I).Cells("訂單數量").Value SQL_新增貨款匯入出款明細表3() : conn.Close() PA27 = 控制表_dgv.Rows(I).Cells("訂單數量").Value : PA28 = 控制表_dgv.Rows(I).Cells("資料流水號").Value SQL_更改訂單控制表2() : conn.Close() SD += 1 End If Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0 MsgBox("一共出貨 " & SD & " 筆資料!!") Set_清單3() : 啟用批量出貨_ch.Checked = False : 批量出貨_bt.Enabled = False End If End Sub Private Sub 控制表_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 控制表_dgv.MouseUp If 控制表_dgv.SelectedCells.Count = 1 Then 已超出 = False End If If 控制表_dgv.SelectedCells.Count > 0 Then '設定滑鼠點擊DGV時候的範圍,超出範圍時有可能不是數字所以不計算 If 控制表_dgv.SelectedCells(0).ColumnIndex = 8 Or 控制表_dgv.SelectedCells(0).ColumnIndex = 13 Or 控制表_dgv.SelectedCells(0).ColumnIndex = 39 Then If 已超出 = False Then Dim x As Double = 0 For i As Integer = 0 To 控制表_dgv.SelectedCells.Count - 1 '流水帳_dgv.SelectedCells.Item(i).ColumnIndex + 8 是因為該DGV顯示項與計算像剛好差8格,使用時要注意可直接計算的不需要加數字。 x += Val(控制表_dgv.Rows(控制表_dgv.SelectedCells.Item(i).RowIndex).Cells(控制表_dgv.SelectedCells.Item(i).ColumnIndex).Value) Next i '將計算好的資料放置到指定的控件中 加總_tb.Text = Strings.Format(x, "#,##0") WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(x, "#,##0.00") Else 加總_tb.Text = Strings.Format(0, "#,##0") WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0.00") End If Else 已超出 = True 加總_tb.Text = Strings.Format(0, "#,##0") WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0.00") End If End If End Sub End Class