Option Strict Off Public Class 銷貨管理 ReadOnly ds, ds1, ds2 As New DataSet Private Sub DGV1讀取前設定() DataGridView1.DataSource = Nothing : ds.Clear() DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing DataGridView1.ColumnHeadersHeight = 25 DataGridView1.AllowUserToAddRows = False ConnOpen() End Sub Private Sub DGV1讀取後設定() CmdSet_For_DGV() : da.Fill(ds) : DataGridView1.DataSource = ds.Tables(0) : conn.Close() End Sub Private Sub DGV2讀取前設定() DataGridView2.DataSource = Nothing : ds1.Clear() DataGridView2.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing DataGridView2.ColumnHeadersHeight = 25 DataGridView2.AllowUserToAddRows = False ConnOpen() End Sub Private Sub DGV2讀取後設定() CmdSet_For_DGV() : da.Fill(ds1) : DataGridView2.DataSource = ds1.Tables(0) : conn.Close() End Sub Private Sub DGV3讀取前設定() DataGridView3.DataSource = Nothing : ds2.Clear() DataGridView3.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing DataGridView3.ColumnHeadersHeight = 25 DataGridView3.AllowUserToAddRows = False ConnOpen() End Sub Private Sub DGV3讀取後設定() CmdSet_For_DGV() : da.Fill(ds2) : DataGridView3.DataSource = ds2.Tables(0) : conn.Close() End Sub Private Sub 讀取庫存資料表() If PA = "" Then DGV1讀取前設定() SQL1 = "SELECT 零件進銷存報表.零件編號, 零件進銷存報表.進貨日期, 零件成本紀錄表.品牌, 零件成本紀錄表.供應商, 零件成本紀錄表.科目, 零件成本紀錄表.品名, 零件成本紀錄表.型號及備註, " & "零件成本紀錄表.進貨單價, SUM(CONVERT(FLOAT, 零件進銷存報表.進貨數量)) - SUM(CONVERT(FLOAT, 零件進銷存報表.出貨數量)) AS 庫存數量, 零件成本紀錄表.安全庫存, " & "CONVERT(FLOAT, 零件成本紀錄表.進貨單價) * (SUM(CONVERT(FLOAT, 零件進銷存報表.進貨數量)) - SUM(CONVERT(FLOAT, 零件進銷存報表.出貨數量))) AS 庫存成本, " & "CONVERT(FLOAT, 零件成本紀錄表.進貨單價) * (SUM(CONVERT(FLOAT, 零件進銷存報表.進貨數量)) - SUM(CONVERT(FLOAT, 零件進銷存報表.出貨數量))) * 零件進銷存報表.匯率 AS 台幣庫存成本, " & "零件進銷存報表.匯率 FROM 零件進銷存報表 INNER JOIN 零件成本紀錄表 ON 零件進銷存報表.零件編號 = 零件成本紀錄表.流水碼 WHERE (零件進銷存報表.進貨確認 = '1') " & "GROUP BY 零件進銷存報表.零件編號, 零件進銷存報表.進貨日期, 零件成本紀錄表.品牌, 零件成本紀錄表.品名, 零件成本紀錄表.型號及備註, 零件成本紀錄表.進貨單價, " & "零件成本紀錄表.安全庫存, 零件進銷存報表.匯率, 零件成本紀錄表.供應商, 零件成本紀錄表.科目 " & "HAVING (SUM(CONVERT(FLOAT, 零件進銷存報表.進貨數量)) - SUM(CONVERT(FLOAT, 零件進銷存報表.出貨數量)) <> 0) ORDER BY 零件進銷存報表.進貨日期 DESC" 列印用SQL1 = SQL1 : DGV1讀取後設定() Else DGV1讀取前設定() SQL1 = "SELECT 零件進銷存報表.零件編號, 零件進銷存報表.進貨日期, 零件成本紀錄表.品牌, 零件成本紀錄表.供應商, 零件成本紀錄表.科目, 零件成本紀錄表.品名, 零件成本紀錄表.型號及備註, " & "零件成本紀錄表.進貨單價, SUM(CONVERT(FLOAT, 零件進銷存報表.進貨數量)) - SUM(CONVERT(FLOAT, 零件進銷存報表.出貨數量)) AS 庫存數量, 零件成本紀錄表.安全庫存, " & "CONVERT(FLOAT, 零件成本紀錄表.進貨單價) * (SUM(CONVERT(FLOAT, 零件進銷存報表.進貨數量)) - SUM(CONVERT(FLOAT, 零件進銷存報表.出貨數量))) AS 庫存成本, " & "CONVERT(FLOAT, 零件成本紀錄表.進貨單價) * (SUM(CONVERT(FLOAT, 零件進銷存報表.進貨數量)) - SUM(CONVERT(FLOAT, 零件進銷存報表.出貨數量))) * 零件進銷存報表.匯率 AS 台幣庫存成本, " & "零件進銷存報表.匯率 FROM 零件進銷存報表 INNER JOIN 零件成本紀錄表 ON 零件進銷存報表.零件編號 = 零件成本紀錄表.流水碼 " & "WHERE (零件進銷存報表.進貨確認 = '1') AND (零件進銷存報表.零件編號 LIKE '%" & PA & "%') OR " & "(零件進銷存報表.進貨確認 = '1') AND (零件進銷存報表.進貨日期 LIKE '%" & PA & "%') OR " & "(零件進銷存報表.進貨確認 = '1') AND (零件成本紀錄表.品牌 LIKE '%" & PA & "%') OR " & "(零件進銷存報表.進貨確認 = '1') AND (零件成本紀錄表.品名 LIKE '%" & PA & "%') OR " & "(零件進銷存報表.進貨確認 = '1') AND (零件成本紀錄表.型號及備註 LIKE '%" & PA & "%') OR " & "(零件進銷存報表.進貨確認 = '1') AND (零件成本紀錄表.進貨單價 LIKE '%" & PA & "%') OR " & "(零件進銷存報表.進貨確認 = '1') AND (零件成本紀錄表.供應商 LIKE '%" & PA & "%') OR " & "(零件進銷存報表.進貨確認 = '1') AND (零件成本紀錄表.科目 LIKE '%" & PA & "%') OR " & "(零件進銷存報表.進貨確認 = '1') AND (零件成本紀錄表.型號及備註 LIKE '%" & PA & "%') " & "GROUP BY 零件進銷存報表.零件編號, 零件進銷存報表.進貨日期, 零件成本紀錄表.品牌, 零件成本紀錄表.品名, 零件成本紀錄表.型號及備註, 零件成本紀錄表.進貨單價, " & "零件成本紀錄表.安全庫存, 零件進銷存報表.匯率, 零件成本紀錄表.供應商, 零件成本紀錄表.科目 " & "HAVING (SUM(CONVERT(FLOAT, 零件進銷存報表.進貨數量)) - SUM(CONVERT(FLOAT, 零件進銷存報表.出貨數量)) <> 0) ORDER BY 零件進銷存報表.進貨日期 DESC" 列印用SQL1 = SQL1 : DGV1讀取後設定() End If End Sub Private Sub 讀取出貨資料表() If TextBox1.Text = "" Then DGV2讀取前設定() SQL1 = "SELECT 零件進銷存報表.流水號, 零件進銷存報表.零件編號, 零件進銷存報表.出貨日期, 零件成本紀錄表.品名, 零件成本紀錄表.型號及備註, " & "零件進銷存報表.出貨數量,零件進銷存報表.出貨金額, 零件進銷存報表.台幣出貨成本 AS 台幣出貨金額, 零件進銷存報表.匯率 FROM 零件進銷存報表 INNER JOIN 零件成本紀錄表 ON " & "零件進銷存報表.零件編號 = 零件成本紀錄表.流水碼 WHERE 零件進銷存報表.出貨確認 = '0' ORDER BY 零件進銷存報表.零件編號 DESC" DGV2讀取後設定() Else DGV2讀取前設定() SQL1 = "SELECT 零件進銷存報表.流水號, 零件進銷存報表.零件編號, 零件進銷存報表.出貨日期, 零件成本紀錄表.品名, 零件成本紀錄表.型號及備註, " & "零件進銷存報表.出貨數量,零件進銷存報表.出貨金額, 零件進銷存報表.台幣出貨成本 AS 台幣出貨金額, 零件進銷存報表.匯率 FROM 零件進銷存報表 INNER JOIN 零件成本紀錄表 ON " & "零件進銷存報表.零件編號 = 零件成本紀錄表.流水碼 WHERE 零件進銷存報表.零件編號 LIKE '" & TextBox1.Text & "' AND 零件進銷存報表.出貨確認 = '0' " & "ORDER BY 零件進銷存報表.零件編號 DESC" DGV2讀取後設定() ConnOpen() SQL1 = "SELECT 零件進銷存報表.流水號, 零件進銷存報表.零件編號, 零件進銷存報表.出貨日期, 零件成本紀錄表.品名, 零件成本紀錄表.型號及備註, " & "零件進銷存報表.出貨數量,零件進銷存報表.出貨金額, 零件進銷存報表.台幣出貨成本 AS 台幣出貨金額, 零件進銷存報表.匯率 FROM 零件進銷存報表 INNER JOIN 零件成本紀錄表 ON " & "零件進銷存報表.零件編號 = 零件成本紀錄表.流水碼 WHERE 零件進銷存報表.零件編號 NOT LIKE '" & TextBox1.Text & "' AND 零件進銷存報表.出貨確認 = '0' " & "ORDER BY 零件進銷存報表.零件編號 DESC" DGV2讀取後設定() End If End Sub Private Sub 讀取利潤清單() DGV3讀取前設定() SQL1 = "SELECT 零件進銷存報表.零件編號, 零件進銷存報表.出貨數量, ROUND(零件進銷存報表.出貨數量 * CONVERT(FLOAT, 零件成本紀錄表.進貨單價), 2) AS 進貨成本, 零件進銷存報表.出貨金額, " & "ROUND(零件進銷存報表.出貨金額 - 零件進銷存報表.出貨數量 * CONVERT(FLOAT, 零件成本紀錄表.進貨單價), 2) AS 利潤, " & "ROUND((零件進銷存報表.出貨金額 - 零件進銷存報表.出貨數量 * CONVERT(FLOAT, 零件成本紀錄表.進貨單價)) * 零件進銷存報表.匯率, 2) AS 台幣利潤 " & "FROM 零件進銷存報表 INNER JOIN 零件成本紀錄表 ON 零件進銷存報表.零件編號 = 零件成本紀錄表.流水碼 WHERE (零件進銷存報表.出貨確認 = 0) ORDER BY 零件進銷存報表.零件編號 DESC" DGV3讀取後設定() End Sub Private Sub Set_grid1() DataGridView1.Columns(0).Width = 75 : DataGridView1.Columns(1).Width = 85 : DataGridView1.Columns(2).Width = 75 : DataGridView1.Columns(3).Width = 95 DataGridView1.Columns(4).Width = 95 : DataGridView1.Columns(5).Width = 190 : DataGridView1.Columns(6).Width = 220 : DataGridView1.Columns(7).Width = 75 DataGridView1.Columns(8).Width = 80 : DataGridView1.Columns(9).Width = 80 : DataGridView1.Columns(10).Width = 80 : DataGridView1.Columns(11).Width = 80 DataGridView1.Columns(12).Width = 60 DataGridView1.Columns(8).DefaultCellStyle.Format = "#,##0" : DataGridView1.Columns(9).DefaultCellStyle.Format = "#,##0" DataGridView1.Columns(10).DefaultCellStyle.Format = "#,##0.00" : DataGridView1.Columns(11).DefaultCellStyle.Format = "#,##0.00" End Sub Private Sub Set_grid2() DataGridView2.Columns(0).Width = 90 : DataGridView2.Columns(1).Width = 70 : DataGridView2.Columns(2).Width = 75 : DataGridView2.Columns(3).Width = 150 DataGridView2.Columns(4).Width = 160 : DataGridView2.Columns(5).Width = 65 : DataGridView2.Columns(6).Width = 70 : DataGridView2.Columns(7).Width = 90 DataGridView2.Columns(8).Width = 55 DataGridView2.Columns(5).DefaultCellStyle.Format = "#,##0" : DataGridView2.Columns(6).DefaultCellStyle.Format = "#,##0.00" DataGridView2.Columns(7).DefaultCellStyle.Format = "#,##0.00" End Sub Private Sub Set_grid3() DataGridView3.Columns(0).Width = 90 : DataGridView3.Columns(1).Width = 70 : DataGridView3.Columns(2).Width = 70 : DataGridView3.Columns(3).Width = 70 DataGridView3.Columns(4).Width = 70 : DataGridView3.Columns(5).Width = 70 DataGridView3.Columns(1).DefaultCellStyle.Format = "#,##0" : DataGridView3.Columns(2).DefaultCellStyle.Format = "#,##0.00" DataGridView3.Columns(3).DefaultCellStyle.Format = "#,##0.00" : DataGridView3.Columns(4).DefaultCellStyle.Format = "#,##0.00" DataGridView3.Columns(5).DefaultCellStyle.Format = "#,##0.00" End Sub Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick If e.RowIndex = -1 Then : Else TextBox1.Text = DataGridView1(0, e.RowIndex).Value.ToString : DateTimePicker1.Text = DataGridView1(1, e.RowIndex).Value.ToString ComboBox1.Text = DataGridView1(2, e.RowIndex).Value.ToString : ComboBox2.Text = DataGridView1(3, e.RowIndex).Value.ToString ComboBox3.Text = DataGridView1(4, e.RowIndex).Value.ToString : TextBox2.Text = DataGridView1(5, e.RowIndex).Value.ToString TextBox3.Text = DataGridView1(6, e.RowIndex).Value.ToString TextBox4.Text = Format(Val(DataGridView1(7, e.RowIndex).Value.ToString), "#,##0.00") TextBox6.Text = Format(Val(DataGridView1(8, e.RowIndex).Value.ToString), "#,##0") TextBox5.Text = Format(Val(DataGridView1(10, e.RowIndex).Value.ToString), "#,##0.00") TextBox7.Text = Format(Val(DataGridView1(11, e.RowIndex).Value.ToString), "#,##0.00") TextBox9.Text = DataGridView1(12, e.RowIndex).Value.ToString TextBox10.Text = Format(Val(CStr(Math.Round((Double.Parse(TextBox4.Text) * Double.Parse(TextBox9.Text)), 2))), "#,##0.00") End If End Sub Private Sub DataGridView2_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView2.CellClick If e.RowIndex = -1 Then : Else DateTimePicker2.Text = DataGridView2(2, e.RowIndex).Value.ToString TextBox11.Text = Format(Val(DataGridView2(5, e.RowIndex).Value.ToString), "#,##0") TextBox12.Text = Format(Val(DataGridView2(6, e.RowIndex).Value.ToString), "#,##0.00") TextBox8.Text = Format(Val(DataGridView2(7, e.RowIndex).Value.ToString), "#,##0.00") TextBox18.Text = DataGridView2(0, e.RowIndex).Value.ToString TextBox9.Text = DataGridView2(8, e.RowIndex).Value.ToString TextBox13.Text = Format(Val(CStr(Math.Round((Double.Parse(TextBox12.Text) / Double.Parse(TextBox11.Text)), 2))), "#,##0.00") End If End Sub Private Sub Set_時間() TextBox16.Text = Format(DateTimePicker2.Value, "yyyy") : TextBox15.Text = Format(DateTimePicker2.Value, "MM") End Sub Private Sub Set_匯率() Set_時間() If TextBox15.Text = Month(Now) Then ConnOpen() SQL1 = "SELECT 匯率 FROM 匯率表 WHERE (對應 = '人民幣兌台幣')" CmdSet_For_dr() If dr.Read() Then : TextBox14.Text = dr("匯率").ToString : End If ER = Double.Parse(dr("匯率").ToString) conn.Close() : dr.Close() Else ConnOpen() SQL1 = "SELECT 中心匯率 FROM 歷史匯率表 WHERE (年 LIKE '" & TextBox16.Text & "%') AND (月 LIKE '" & TextBox15.Text & "%')" CmdSet_For_dr() If dr.Read() Then : TextBox14.Text = dr("中心匯率").ToString : End If ER = Double.Parse(dr("中心匯率").ToString) conn.Close() : dr.Close() End If End Sub Private Sub Set_自動彙總1() Dim 數量加總 As Double = 0 : Dim 金額加總1 As Double = 0 : Dim 金額加總2 As Double = 0 : Dim 金額加總3 As Double = 0 For i As Integer = 0 To DataGridView2.Rows.Count - 1 If DataGridView2.RowCount = 0 Then : TextBox21.Text = "0" : Else : 數量加總 += DataGridView2.Rows(i).Cells("出貨數量").Value : End If Next i For i As Integer = 0 To DataGridView2.Rows.Count - 1 If DataGridView2.RowCount = 0 Then : TextBox20.Text = "0" : Else : 金額加總1 += DataGridView2.Rows(i).Cells("出貨金額").Value : End If Next i For i As Integer = 0 To DataGridView3.Rows.Count - 1 If DataGridView3.RowCount = 0 Then : TextBox19.Text = "0" : Else : 金額加總2 += DataGridView3.Rows(i).Cells("台幣利潤").Value : End If Next i For i As Integer = 0 To DataGridView3.Rows.Count - 1 If DataGridView3.RowCount = 0 Then : TextBox22.Text = "0" : Else : 金額加總3 += DataGridView3.Rows(i).Cells("進貨成本").Value : End If Next i TextBox21.Text = Format(Val(數量加總), "#,##0") TextBox20.Text = Format(Val(金額加總1), "#,##0.00") TextBox19.Text = Format(Val(金額加總2), "#,##0.00") TextBox22.Text = Format(Val(金額加總3), "#,##0.00") TextBox23.Text = Format(Val(金額加總1 - 金額加總3), "#,##0.00") End Sub Private Sub 銷貨管理_Load(sender As Object, e As EventArgs) Handles MyBase.Load Me.MdiParent = GCM_ERP_SYS Me.WindowState = 2 讀取庫存資料表() : Set_grid1() : Set_匯率() : 讀取出貨資料表() : Set_grid2() : 讀取利潤清單() : Set_grid3() : Set_自動彙總1() End Sub Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove timeNow = 0 GCM_ERP_SYS.Timer1.Enabled = False GCM_ERP_SYS.Timer1.Enabled = True End Sub Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress timeNow = 0 GCM_ERP_SYS.Timer1.Enabled = False GCM_ERP_SYS.Timer1.Enabled = True End Sub Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click PA = InputBox("請輸入要查詢零件的資料") 讀取庫存資料表() : Set_grid1() PA = "" End Sub Private Sub DateTimePicker2_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker2.TextChanged Set_匯率() : DateTimePicker3.Text = DateTimePicker2.Text End Sub Private Sub TextBox11_TextChanged(sender As Object, e As EventArgs) Handles TextBox11.TextChanged If IsNumeric(TextBox11.Text) = True And IsNumeric(TextBox13.Text) = True Then TextBox12.Text = Format(Val(CStr(Math.Round((Double.Parse(TextBox13.Text) * Double.Parse(TextBox11.Text)), 2))), "#,##0.00") TextBox8.Text = Format(Val(CStr(Math.Round((Double.Parse(TextBox13.Text) * Double.Parse(TextBox14.Text) * Double.Parse(TextBox11.Text)), 2))), "#,##0.00") Else TextBox12.Text = "0.00" : TextBox8.Text = "0.00" End If End Sub Private Sub TextBox13_TextChanged(sender As Object, e As EventArgs) Handles TextBox13.TextChanged If IsNumeric(TextBox11.Text) = True And IsNumeric(TextBox13.Text) = True Then TextBox12.Text = Format(Val(CStr(Math.Round((Double.Parse(TextBox13.Text) * Double.Parse(TextBox11.Text)), 2))), "#,##0.00") TextBox8.Text = Format(Val(CStr(Math.Round((Double.Parse(TextBox13.Text) * Double.Parse(TextBox14.Text) * Double.Parse(TextBox11.Text)), 2))), "#,##0.00") Else TextBox12.Text = "0.00" : TextBox8.Text = "0.00" End If End Sub Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click If TextBox11.Text = "" Or TextBox13.Text = "" Or IsNumeric(TextBox11.Text) = False Or IsNumeric(TextBox13.Text) = False Then MsgBox("資料有誤") Else Dim NUM1 As Integer For NUM1 = 0 To 99999999 If NUM1 < 10 Then TextBox17.Text = "MID" & "0000000" & NUM1 ElseIf NUM1 > 9 And NUM1 < 100 Then TextBox17.Text = "MID" & "000000" & NUM1 ElseIf NUM1 > 99 And NUM1 < 1000 Then TextBox17.Text = "MID" & "00000" & NUM1 ElseIf NUM1 > 999 And NUM1 < 10000 Then TextBox17.Text = "MID" & "0000" & NUM1 ElseIf NUM1 > 9999 And NUM1 < 100000 Then TextBox17.Text = "MID" & "000" & NUM1 ElseIf NUM1 > 99999 And NUM1 < 1000000 Then TextBox17.Text = "MID" & "00" & NUM1 ElseIf NUM1 > 999999 And NUM1 < 10000000 Then TextBox17.Text = "MID" & "0" & NUM1 ElseIf NUM1 > 9999999 Then TextBox17.Text = "MID" & NUM1 End If ConnOpen() SQL1 = "SELECT 流水號 FROM 零件進銷存報表 WHERE (流水號 ='" & TextBox17.Text & "')" CmdSet_For_dr() If dr.Read() Then : TextBox18.Text = dr("流水號").ToString : Else : TextBox18.Text = "" : End If conn.Close() If TextBox18.Text = "" Then TextBox18.Text = TextBox17.Text : TextBox17.Text = "可用" NUM1 = 99999999 End If Next If TextBox17.Text = "可用" Then ConnOpen() SQL1 = "INSERT INTO 零件進銷存報表 (流水號, 零件編號, 進貨日期, 進貨數量, 進貨成本, 台幣進貨成本, 出貨日期, 出貨數量, 出貨金額, 台幣出貨成本, 匯率, 進貨確認, 出貨確認) " & "VALUES ('" & TextBox18.Text & "','" & TextBox1.Text & "','" & Format(DateTimePicker1.Value, "yyyy/MM/dd") & "','0','0','0','" & Format(DateTimePicker2.Value, "yyyy/MM/dd") & "','" & TextBox11.Text & "','" & TextBox12.Text & "','" & TextBox8.Text & "','" & TextBox9.Text & "', '1', '0')" cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() MsgBox("新增完成") conn.Close() End If 讀取庫存資料表() : Set_grid1() : Set_匯率() : 讀取出貨資料表() : Set_grid2() : 讀取利潤清單() : Set_grid3() : Set_自動彙總1() End If End Sub Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click If TextBox18.Text = "" Or IsNumeric(TextBox11.Text) = True Or IsNumeric(TextBox13.Text) = True Then ConnOpen() SQL1 = "UPDATE 零件進銷存報表 SET 出貨日期 = '" & Format(DateTimePicker2.Value, "yyyy/MM/dd") & "', 出貨數量 = '" & TextBox11.Text & "', 出貨金額 = '" & TextBox12.Text & "', 台幣出貨成本 = '" & TextBox8.Text & "' WHERE (流水號 = '" & TextBox18.Text & "')" cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() MsgBox("修改完成") conn.Close() Else MsgBox("請選擇正確資料") End If 讀取庫存資料表() : Set_grid1() : Set_匯率() : 讀取出貨資料表() : Set_grid2() : 讀取利潤清單() : Set_grid3() : Set_自動彙總1() End Sub Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click SQL1 = "DELETE FROM 零件進銷存報表 WHERE (流水號 = '" & TextBox18.Text & "')" cmd.CommandText = SQL1 : cmd.Connection = conn ConnOpen() Dim aa As MsgBoxResult aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel) If aa = MsgBoxResult.Ok Then : cmd.ExecuteNonQuery() : MsgBox("刪除完成") : End If conn.Close() 讀取庫存資料表() : Set_grid1() : Set_匯率() : 讀取出貨資料表() : Set_grid2() : 讀取利潤清單() : Set_grid3() : Set_自動彙總1() End Sub Private Sub Button10_Click(sender As Object, e As EventArgs) Handles Button10.Click Dim NUM1 As Integer : Dim NUM2 As Integer For NUM2 = 0 To DataGridView2.Rows.Count - 1 ConnOpen() SQL1 = "SELECT TOP (1) 流水號 FROM 零件出庫紀錄 ORDER BY 流水號 DESC" CmdSet_For_dr() If dr.Read() Then : TextBox24.Text = dr("流水號").ToString : Else : TextBox24.Text = 0 : End If conn.Close() NUM1 = Double.Parse(Strings.Right(TextBox24.Text, 8)) + 1 If NUM1 < 10 Then TextBox24.Text = "W" & "0000000" & NUM1 ElseIf NUM1 > 9 And NUM1 < 100 Then TextBox24.Text = "W" & "000000" & NUM1 ElseIf NUM1 > 99 And NUM1 < 1000 Then TextBox24.Text = "W" & "00000" & NUM1 ElseIf NUM1 > 999 And NUM1 < 10000 Then TextBox24.Text = "W" & "0000" & NUM1 ElseIf NUM1 > 9999 And NUM1 < 100000 Then TextBox24.Text = "W" & "000" & NUM1 ElseIf NUM1 > 99999 And NUM1 < 1000000 Then TextBox24.Text = "W" & "00" & NUM1 ElseIf NUM1 > 999999 And NUM1 < 10000000 Then TextBox24.Text = "W" & "0" & NUM1 ElseIf NUM1 > 9999999 Then TextBox24.Text = "W" & NUM1 End If ConnOpen() SQL1 = "INSERT INTO 零件出庫紀錄 (流水號, 結單日期, 零件編號, 出貨數量, 進貨成本, 出貨金額, 利潤, 台幣利潤) " & "VALUES ('" & TextBox24.Text & "','" & Format(DateTimePicker3.Value, "yyyy/MM/dd") & "','" & DataGridView3.Item(0, NUM2).Value & "','" & DataGridView3.Item(1, NUM2).Value & "','" & DataGridView3.Item(2, NUM2).Value & "','" & DataGridView3.Item(3, NUM2).Value & "','" & DataGridView3.Item(4, NUM2).Value & "','" & DataGridView3.Item(5, NUM2).Value & "')" cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() conn.Close() Next Dim NUM3 As Integer For NUM3 = 0 To DataGridView2.Rows.Count - 1 ConnOpen() SQL1 = "UPDATE 零件進銷存報表 SET 出貨確認 = '1' WHERE (流水號 = '" & DataGridView2.Item(0, NUM3).Value & "')" cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() conn.Close() Next 讀取庫存資料表() : Set_grid1() : Set_匯率() : 讀取出貨資料表() : Set_grid2() : 讀取利潤清單() : Set_grid3() : Set_自動彙總1() MsgBox("修改完成") End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 出庫紀錄表.Show() End Sub End Class