Option Strict Off Public Class 庫存管理 ReadOnly ds1 As New DataSet 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 讀取庫存資料表() If PA = "" Then DGV2讀取前設定() 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 : DGV2讀取後設定() : Set_自動彙總1() Else DGV2讀取前設定() 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 & "%') " & "GROUP BY 零件進銷存報表.零件編號, 零件進銷存報表.進貨日期, 零件成本紀錄表.品牌, 零件成本紀錄表.品名, 零件成本紀錄表.型號及備註, 零件成本紀錄表.進貨單價, " & "零件成本紀錄表.安全庫存, 零件進銷存報表.匯率, 零件成本紀錄表.供應商 " & "HAVING (SUM(CONVERT(FLOAT, 零件進銷存報表.進貨數量)) - SUM(CONVERT(FLOAT, 零件進銷存報表.出貨數量)) <> 0) ORDER BY 零件進銷存報表.進貨日期 DESC" 列印用SQL1 = SQL1 : DGV2讀取後設定() : Set_自動彙總1() End If End Sub Private Sub Set_grid2() DataGridView2.Columns(0).Width = 80 : DataGridView2.Columns(1).Width = 90 : DataGridView2.Columns(2).Width = 100 : DataGridView2.Columns(3).Width = 215 DataGridView2.Columns(4).Width = 245 : DataGridView2.Columns(5).Width = 80 : DataGridView2.Columns(6).Width = 85 : DataGridView2.Columns(7).Width = 85 DataGridView2.Columns(8).Width = 85 : DataGridView2.Columns(9).Width = 85 : DataGridView2.Columns(10).Width = 60 : DataGridView2.Columns(11).Width = 80 DataGridView2.Columns(6).DefaultCellStyle.Format = "#,##0" : DataGridView2.Columns(7).DefaultCellStyle.Format = "#,##0" DataGridView2.Columns(8).DefaultCellStyle.Format = "#,##0.00" : DataGridView2.Columns(9).DefaultCellStyle.Format = "#,##0.00" End Sub Private Sub Set_自動彙總1() Dim 數量加總 As Double = 0 : Dim 金額加總1 As Double = 0 : Dim 金額加總2 As Double = 0 For i As Integer = 0 To DataGridView2.Rows.Count - 1 If DataGridView2.RowCount = 0 Then : TextBox13.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 : TextBox16.Text = "0" : Else : 金額加總1 += DataGridView2.Rows(i).Cells("庫存成本").Value : End If Next i For i As Integer = 0 To DataGridView2.Rows.Count - 1 If DataGridView2.RowCount = 0 Then : TextBox17.Text = "0" : Else : 金額加總2 += DataGridView2.Rows(i).Cells("台幣庫存成本").Value : End If Next i TextBox13.Text = Format(Val(數量加總), "#,##0") TextBox16.Text = Format(Val(金額加總1), "#,##0.00") TextBox17.Text = Format(Val(金額加總2), "#,##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_grid2() 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_grid2() PA = "" End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 列印(0) = True 列印清單.Show() End Sub End Class