Bez popisu
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 8.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. Option Strict Off
  2. Imports System.Data.SqlClient
  3. Public Class 庫存管理
  4. Dim conn1 As New SqlConnection
  5. Dim cmd1 As New SqlCommand
  6. Dim dr1 As SqlDataReader
  7. Dim da As New SqlDataAdapter
  8. Dim ds As New DataSet : Dim ds1 As New DataSet
  9. Private Sub DGV2讀取前設定()
  10. DataGridView2.DataSource = Nothing : ds1.Clear()
  11. DataGridView2.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  12. DataGridView2.ColumnHeadersHeight = 25
  13. DataGridView2.AllowUserToAddRows = False
  14. If conn1.State = ConnectionState.Closed Then : conn1.ConnectionString = ConString : conn1.Open() : End If
  15. End Sub
  16. Private Sub DGV2讀取後設定()
  17. cmd1.Connection = conn1 : cmd1.CommandText = SQL1 : da.SelectCommand = cmd1 : da.Fill(ds1) : DataGridView2.DataSource = ds1.Tables(0) : conn1.Close()
  18. End Sub
  19. Private Sub 讀取庫存資料表()
  20. If PA = "" Then
  21. DGV2讀取前設定()
  22. SQL1 = "SELECT 零件進銷存報表.零件編號, 零件進銷存報表.進貨日期, 零件成本紀錄表.品牌, 零件成本紀錄表.品名, 零件成本紀錄表.型號及備註, 零件成本紀錄表.進貨單價, " &
  23. "SUM(CONVERT(FLOAT, 零件進銷存報表.進貨數量)) - SUM(CONVERT(FLOAT, 零件進銷存報表.出貨數量)) AS 庫存數量, 零件成本紀錄表.安全庫存, CONVERT(FLOAT, 零件成本紀錄表.進貨單價) * " &
  24. "(SUM(CONVERT(FLOAT, 零件進銷存報表.進貨數量)) - SUM(CONVERT(FLOAT, 零件進銷存報表.出貨數量))) AS 庫存成本, CONVERT(FLOAT, 零件成本紀錄表.進貨單價) * " &
  25. "(SUM(CONVERT(FLOAT, 零件進銷存報表.進貨數量)) - SUM(CONVERT(FLOAT, 零件進銷存報表.出貨數量))) * 零件進銷存報表.匯率 AS 台幣庫存成本, 零件進銷存報表.匯率, " &
  26. "零件成本紀錄表.供應商 FROM 零件進銷存報表 INNER JOIN 零件成本紀錄表 ON 零件進銷存報表.零件編號 = 零件成本紀錄表.流水碼 WHERE (零件進銷存報表.進貨確認 = '1') " &
  27. "GROUP BY 零件進銷存報表.零件編號, 零件進銷存報表.進貨日期, 零件成本紀錄表.品牌, 零件成本紀錄表.品名, 零件成本紀錄表.型號及備註, 零件成本紀錄表.進貨單價, " &
  28. "零件成本紀錄表.安全庫存, 零件進銷存報表.匯率, 零件成本紀錄表.供應商 " &
  29. "HAVING (SUM(CONVERT(FLOAT, 零件進銷存報表.進貨數量)) - SUM(CONVERT(FLOAT, 零件進銷存報表.出貨數量)) <> 0) ORDER BY 零件進銷存報表.進貨日期 DESC"
  30. 列印用SQL = SQL1 : DGV2讀取後設定() : Set_自動彙總1()
  31. Else
  32. DGV2讀取前設定()
  33. SQL1 = "SELECT 零件進銷存報表.零件編號, 零件進銷存報表.進貨日期, 零件成本紀錄表.品牌, 零件成本紀錄表.品名, 零件成本紀錄表.型號及備註, 零件成本紀錄表.進貨單價, " &
  34. "SUM(CONVERT(FLOAT, 零件進銷存報表.進貨數量)) - SUM(CONVERT(FLOAT, 零件進銷存報表.出貨數量)) AS 庫存數量, 零件成本紀錄表.安全庫存, CONVERT(FLOAT, 零件成本紀錄表.進貨單價) * " &
  35. "(SUM(CONVERT(FLOAT, 零件進銷存報表.進貨數量)) - SUM(CONVERT(FLOAT, 零件進銷存報表.出貨數量))) AS 庫存成本, CONVERT(FLOAT, 零件成本紀錄表.進貨單價) * " &
  36. "(SUM(CONVERT(FLOAT, 零件進銷存報表.進貨數量)) - SUM(CONVERT(FLOAT, 零件進銷存報表.出貨數量))) * 零件進銷存報表.匯率 AS 台幣庫存成本, 零件進銷存報表.匯率, " &
  37. "零件成本紀錄表.供應商 FROM 零件進銷存報表 INNER JOIN 零件成本紀錄表 ON 零件進銷存報表.零件編號 = 零件成本紀錄表.流水碼 " &
  38. "WHERE (零件進銷存報表.進貨確認 = '1') AND (零件進銷存報表.零件編號 LIKE '%" & PA & "%') OR " &
  39. "(零件進銷存報表.進貨確認 = '1') AND (零件進銷存報表.進貨日期 LIKE '%" & PA & "%') OR " &
  40. "(零件進銷存報表.進貨確認 = '1') AND (零件成本紀錄表.品牌 LIKE '%" & PA & "%') OR " &
  41. "(零件進銷存報表.進貨確認 = '1') AND (零件成本紀錄表.品名 LIKE '%" & PA & "%') OR " &
  42. "(零件進銷存報表.進貨確認 = '1') AND (零件成本紀錄表.型號及備註 LIKE '%" & PA & "%') OR " &
  43. "(零件進銷存報表.進貨確認 = '1') AND (零件成本紀錄表.進貨單價 LIKE '%" & PA & "%') OR " &
  44. "(零件進銷存報表.進貨確認 = '1') AND (零件成本紀錄表.供應商 LIKE '%" & PA & "%') OR " &
  45. "(零件進銷存報表.進貨確認 = '1') AND (零件成本紀錄表.型號及備註 LIKE '%" & PA & "%') " &
  46. "GROUP BY 零件進銷存報表.零件編號, 零件進銷存報表.進貨日期, 零件成本紀錄表.品牌, 零件成本紀錄表.品名, 零件成本紀錄表.型號及備註, 零件成本紀錄表.進貨單價, " &
  47. "零件成本紀錄表.安全庫存, 零件進銷存報表.匯率, 零件成本紀錄表.供應商 " &
  48. "HAVING (SUM(CONVERT(FLOAT, 零件進銷存報表.進貨數量)) - SUM(CONVERT(FLOAT, 零件進銷存報表.出貨數量)) <> 0) ORDER BY 零件進銷存報表.進貨日期 DESC"
  49. 列印用SQL = SQL1 : DGV2讀取後設定() : Set_自動彙總1()
  50. End If
  51. End Sub
  52. Private Sub Set_grid2()
  53. DataGridView2.Columns(0).Width = 80 : DataGridView2.Columns(1).Width = 90 : DataGridView2.Columns(2).Width = 100 : DataGridView2.Columns(3).Width = 215
  54. DataGridView2.Columns(4).Width = 245 : DataGridView2.Columns(5).Width = 80 : DataGridView2.Columns(6).Width = 85 : DataGridView2.Columns(7).Width = 85
  55. DataGridView2.Columns(8).Width = 85 : DataGridView2.Columns(9).Width = 85 : DataGridView2.Columns(10).Width = 60 : DataGridView2.Columns(11).Width = 80
  56. DataGridView2.Columns(6).DefaultCellStyle.Format = "#,##0" : DataGridView2.Columns(7).DefaultCellStyle.Format = "#,##0"
  57. DataGridView2.Columns(8).DefaultCellStyle.Format = "#,##0.00" : DataGridView2.Columns(9).DefaultCellStyle.Format = "#,##0.00"
  58. End Sub
  59. Private Sub Set_自動彙總1()
  60. Dim 數量加總 As Double = 0 : Dim 金額加總1 As Double = 0 : Dim 金額加總2 As Double = 0
  61. For i As Integer = 0 To DataGridView2.Rows.Count - 1
  62. If DataGridView2.RowCount = 0 Then : TextBox13.Text = "0" : Else : 數量加總 += DataGridView2.Rows(i).Cells("庫存數量").Value : End If
  63. Next i
  64. For i As Integer = 0 To DataGridView2.Rows.Count - 1
  65. If DataGridView2.RowCount = 0 Then : TextBox16.Text = "0" : Else : 金額加總1 += DataGridView2.Rows(i).Cells("庫存成本").Value : End If
  66. Next i
  67. For i As Integer = 0 To DataGridView2.Rows.Count - 1
  68. If DataGridView2.RowCount = 0 Then : TextBox17.Text = "0" : Else : 金額加總2 += DataGridView2.Rows(i).Cells("台幣庫存成本").Value : End If
  69. Next i
  70. TextBox13.Text = Format(Val(數量加總), "#,##0")
  71. TextBox16.Text = Format(Val(金額加總1), "#,##0.00")
  72. TextBox17.Text = Format(Val(金額加總2), "#,##0.00")
  73. End Sub
  74. Private Sub 庫存管理_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  75. Me.MdiParent = GCM_ERP_SYS
  76. Me.WindowState = 2
  77. 讀取庫存資料表() : Set_grid2()
  78. End Sub
  79. Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove
  80. timeNow = 0
  81. GCM_ERP_SYS.Timer1.Enabled = False
  82. GCM_ERP_SYS.Timer1.Enabled = True
  83. End Sub
  84. Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress
  85. timeNow = 0
  86. GCM_ERP_SYS.Timer1.Enabled = False
  87. GCM_ERP_SYS.Timer1.Enabled = True
  88. End Sub
  89. Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
  90. PA = InputBox("請輸入要查詢零件的資料")
  91. 讀取庫存資料表() : Set_grid2()
  92. PA = ""
  93. End Sub
  94. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  95. 列印(0) = True
  96. 列印清單.Show()
  97. End Sub
  98. End Class