Нема описа
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 14KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. Option Strict Off
  2. Public Class 倉儲控制表
  3. ReadOnly ds As New DataSet : ReadOnly ds1 As New DataSet
  4. Dim screenHeight As Integer : Dim newWidth1 As Integer : Dim newHeight1 As Integer
  5. Private Sub Set_清單()
  6. 庫存表_dgv.DataSource = Nothing : ds.Clear()
  7. 庫存表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  8. 庫存表_dgv.ColumnHeadersHeight = 40
  9. 庫存表_dgv.AllowUserToAddRows = False
  10. If 全物料資料_ch.Checked = True Then : SQL_倉儲控制表清單一() : Else : SQL_倉儲控制表清單二() : End If
  11. da.Fill(ds) : 庫存表_dgv.DataSource = ds.Tables(0) : conn.Close()
  12. 庫存表_dgv.Columns(0).FillWeight = 115 : 庫存表_dgv.Columns(1).Visible = False : 庫存表_dgv.Columns(2).Visible = False : 庫存表_dgv.Columns(3).FillWeight = 300
  13. 庫存表_dgv.Columns(4).FillWeight = 150 : 庫存表_dgv.Columns(5).FillWeight = 150 : 庫存表_dgv.Columns(6).FillWeight = 100 : 庫存表_dgv.Columns(7).FillWeight = 100
  14. 庫存表_dgv.Columns(8).FillWeight = 100 : 庫存表_dgv.Columns(9).FillWeight = 100 : 庫存表_dgv.Columns(10).FillWeight = 100 : 庫存表_dgv.Columns(11).FillWeight = 100
  15. 庫存表_dgv.Columns(12).FillWeight = 100 : 庫存表_dgv.Columns(13).FillWeight = 100 : 庫存表_dgv.Columns(14).FillWeight = 100
  16. 格式設定1()
  17. 庫存表_dgv.Columns(6).DefaultCellStyle.Format = "#,##0" : 庫存表_dgv.Columns(7).DefaultCellStyle.Format = "#,##0" : 庫存表_dgv.Columns(8).DefaultCellStyle.Format = "#,##0"
  18. 庫存表_dgv.Columns(9).DefaultCellStyle.Format = "#,##0" : 庫存表_dgv.Columns(10).DefaultCellStyle.Format = "#,##0" : 庫存表_dgv.Columns(11).DefaultCellStyle.Format = "#,##0"
  19. 庫存表_dgv.Columns(12).DefaultCellStyle.Format = "#,##0" : 庫存表_dgv.Columns(13).DefaultCellStyle.Format = "#,##0" : 庫存表_dgv.Columns(14).DefaultCellStyle.Format = "#,##0"
  20. 庫存表_dgv.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 庫存表_dgv.Columns(0).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  21. 庫存表_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 庫存表_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  22. 庫存表_dgv.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 庫存表_dgv.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  23. 庫存表_dgv.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 庫存表_dgv.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  24. 庫存表_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 庫存表_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  25. 庫存表_dgv.Columns(10).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 庫存表_dgv.Columns(10).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  26. 庫存表_dgv.Columns(11).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 庫存表_dgv.Columns(11).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  27. 庫存表_dgv.Columns(12).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 庫存表_dgv.Columns(12).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  28. 庫存表_dgv.Columns(13).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 庫存表_dgv.Columns(13).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  29. 庫存表_dgv.Columns(14).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 庫存表_dgv.Columns(14).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  30. For i As Integer = 0 To 14 : 庫存表_dgv.Columns(i).ReadOnly = True : Next
  31. 庫存表_dgv.Columns(7).DefaultCellStyle.BackColor = Color.MistyRose : 庫存表_dgv.Columns(8).DefaultCellStyle.BackColor = Color.MistyRose
  32. 庫存表_dgv.Columns(9).DefaultCellStyle.BackColor = Color.LightYellow : 庫存表_dgv.Columns(10).DefaultCellStyle.BackColor = Color.LightYellow
  33. 庫存表_dgv.Columns(11).DefaultCellStyle.BackColor = Color.LightGreen : 庫存表_dgv.Columns(12).DefaultCellStyle.BackColor = Color.LightGreen
  34. 庫存成本_tb.Text = "0" : 在途成本_tb.Text = "0" : 備貨成本_tb.Text = "0" : 總庫存_tb.Text = "0" : 跑馬燈_tb.Text = ""
  35. For i As Integer = 0 To 庫存表_dgv.Rows.Count - 1
  36. If 庫存表_dgv.Rows(i).Cells("庫存").Value.ToString = "" Then : 庫存表_dgv.Rows(i).Cells("庫存").Value = 0 : End If
  37. If 庫存表_dgv.Rows(i).Cells("最低庫存量").Value.ToString = "" Then : 庫存表_dgv.Rows(i).Cells("最低庫存量").Value = 0 : End If
  38. If 庫存表_dgv.Rows(i).Cells("庫存成本_台幣").Value.ToString = "" Then : 庫存表_dgv.Rows(i).Cells("庫存成本_台幣").Value = 0 : End If
  39. If 庫存表_dgv.Rows(i).Cells("未入庫").Value.ToString = "" Then : 庫存表_dgv.Rows(i).Cells("未入庫").Value = 0 : End If
  40. If 庫存表_dgv.Rows(i).Cells("在途成本_台幣").Value.ToString = "" Then : 庫存表_dgv.Rows(i).Cells("在途成本_台幣").Value = 0 : End If
  41. If 庫存表_dgv.Rows(i).Cells("未出庫").Value.ToString = "" Then : 庫存表_dgv.Rows(i).Cells("未出庫").Value = 0 : End If
  42. If 庫存表_dgv.Rows(i).Cells("備貨成本_台幣").Value.ToString = "" Then : 庫存表_dgv.Rows(i).Cells("備貨成本_台幣").Value = 0 : End If
  43. 庫存表_dgv.Rows(i).Cells("可領用").Value = 庫存表_dgv.Rows(i).Cells("庫存").Value + 庫存表_dgv.Rows(i).Cells("未入庫").Value - 庫存表_dgv.Rows(i).Cells("未出庫").Value
  44. 庫存成本_tb.Text = Val(庫存成本_tb.Text) + 庫存表_dgv.Rows(i).Cells("庫存成本_台幣").Value : 在途成本_tb.Text = Val(在途成本_tb.Text) + 庫存表_dgv.Rows(i).Cells("在途成本_台幣").Value
  45. 備貨成本_tb.Text = Val(備貨成本_tb.Text) + 庫存表_dgv.Rows(i).Cells("備貨成本_台幣").Value
  46. '-------------------------跑馬燈----------------------------------------------------------------------------------------------------------------------------------------
  47. If 庫存表_dgv.Rows(i).Cells("可領用").Value <= 庫存表_dgv.Rows(i).Cells("最低庫存量").Value Then
  48. 跑馬燈_tb.Text = 跑馬燈_tb.Text & " 物料 : " & 庫存表_dgv.Rows(i).Cells("品名").Value &
  49. "_可領用 : " & Format(庫存表_dgv.Rows(i).Cells("可領用").Value, "#,##0") & "_低於最低庫存量 ---"
  50. End If
  51. Timer1.Interval = 250 : Timer1.Enabled = True
  52. Next
  53. 總庫存_tb.Text = Val(庫存成本_tb.Text) + Val(在途成本_tb.Text) - Val(備貨成本_tb.Text)
  54. 庫存成本_tb.Text = Format(Val(庫存成本_tb.Text), "#,##0") : 在途成本_tb.Text = Format(Val(在途成本_tb.Text), "#,##0")
  55. 備貨成本_tb.Text = Format(Val(備貨成本_tb.Text), "#,##0") : 總庫存_tb.Text = Format(Val(總庫存_tb.Text), "#,##0")
  56. End Sub
  57. Private Sub Set_清單1()
  58. 明細表_dgv.DataSource = Nothing : ds1.Clear()
  59. 明細表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  60. 明細表_dgv.ColumnHeadersHeight = 40
  61. 明細表_dgv.AllowUserToAddRows = False
  62. SQL_倉儲控制表_明細表()
  63. da.Fill(ds1) : 明細表_dgv.DataSource = ds1.Tables(0) : conn.Close()
  64. 明細表_dgv.Columns(0).Visible = False : 明細表_dgv.Columns(1).FillWeight = 90 : 明細表_dgv.Columns(2).FillWeight = 35 : 明細表_dgv.Columns(3).FillWeight = 35
  65. 明細表_dgv.Columns(4).FillWeight = 50 : 明細表_dgv.Columns(5).FillWeight = 60 : 明細表_dgv.Columns(6).FillWeight = 60 : 明細表_dgv.Columns(7).FillWeight = 60
  66. 明細表_dgv.Columns(8).FillWeight = 95 : 明細表_dgv.Columns(9).FillWeight = 60
  67. 明細表_dgv.Columns(2).DefaultCellStyle.Format = "#,##0" : 明細表_dgv.Columns(3).DefaultCellStyle.Format = "#,##0"
  68. 明細表_dgv.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細表_dgv.Columns(2).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  69. 明細表_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細表_dgv.Columns(3).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  70. End Sub
  71. Private Sub 格式設定1()
  72. screenHeight = MAOJI_ERP_SYS.Height
  73. If 隱藏尺寸材質_ch.Checked = True Then
  74. 庫存表_dgv.Columns(4).Visible = False : 庫存表_dgv.Columns(5).Visible = False
  75. newWidth1 = 815 : newHeight1 = screenHeight - 182
  76. 庫存表_dgv.Size = New Size(newWidth1, newHeight1)
  77. newWidth1 = 720 : 明細表_dgv.Location = New Point(823, 57)
  78. 明細表_dgv.Size = New Size(newWidth1, newHeight1)
  79. Else
  80. 庫存表_dgv.Columns(4).Visible = True : 庫存表_dgv.Columns(5).Visible = True
  81. newWidth1 = 1179 : newHeight1 = screenHeight - 182
  82. 庫存表_dgv.Size = New Size(newWidth1, newHeight1)
  83. newWidth1 = 720 : 明細表_dgv.Location = New Point(1187, 56)
  84. 明細表_dgv.Size = New Size(newWidth1, newHeight1)
  85. End If
  86. End Sub
  87. Private Sub ComboBox2下拉表單資料載入()
  88. SQL_倉名下拉清單含NA()
  89. 指定倉處_cb.Items.Clear() : While (dr.Read()) : 指定倉處_cb.Items.Add(dr("倉名")) : End While : conn.Close()
  90. End Sub
  91. Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 指定倉處_cb.SelectedIndexChanged
  92. PA = 指定倉處_cb.Text : SQL_倉名編號取得()
  93. If dr.Read() Then : 倉庫編號_tb.Text = dr("倉名編號") : End If : conn.Close() : Set_清單()
  94. End Sub
  95. Private Sub 倉儲控制表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  96. Me.MdiParent = MAOJI_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  97. TextBox10.Visible = False : TextBox11.Visible = False : 全物料資料_ch.Checked = False : 倉庫編號_tb.Enabled = False
  98. ComboBox2下拉表單資料載入() : 指定倉處_cb.SelectedIndex = 0
  99. End Sub
  100. Function 文字旋轉(ByVal s As String, ByVal v As Integer) As String
  101. '--- S=目標字串, V=捲動次數( +v 右捲, -v 左捲)---
  102. 文字旋轉 = Mid(s & s & s, Len(s) - (v Mod Len(s)) + 1, Len(s))
  103. End Function
  104. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
  105. If 跑馬燈_tb.Text = "" Then
  106. Timer1.Enabled = False
  107. Else
  108. 跑馬燈_tb.Text = 文字旋轉(跑馬燈_tb.Text, -1)
  109. End If
  110. End Sub
  111. Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 庫存表_dgv.CellClick
  112. If e.RowIndex = -1 Then : Else
  113. 供應商_tb.Text = 庫存表_dgv.Rows(e.RowIndex).Cells("供應商").Value.ToString : TextBox10.Text = 庫存表_dgv.Rows(e.RowIndex).Cells("供應商編號").Value.ToString
  114. TextBox11.Text = 庫存表_dgv.Rows(e.RowIndex).Cells("料號").Value
  115. 供應商_庫存成本_tb.Text = "0" : 供應商_在途成本_tb.Text = "0" : 供應商_備貨成本_tb.Text = "0" : 供應商_總庫存_tb.Text = "0"
  116. For i As Integer = 0 To 庫存表_dgv.Rows.Count - 1
  117. If 庫存表_dgv.Rows(i).Cells("供應商").Value.ToString = 供應商_tb.Text Then
  118. 供應商_庫存成本_tb.Text = Val(供應商_庫存成本_tb.Text) + 庫存表_dgv.Rows(i).Cells("庫存成本_台幣").Value
  119. 供應商_在途成本_tb.Text = Val(供應商_在途成本_tb.Text) + 庫存表_dgv.Rows(i).Cells("在途成本_台幣").Value
  120. 供應商_備貨成本_tb.Text = Val(供應商_備貨成本_tb.Text) + 庫存表_dgv.Rows(i).Cells("備貨成本_台幣").Value
  121. End If
  122. Next
  123. 供應商_總庫存_tb.Text = Val(供應商_庫存成本_tb.Text) + Val(供應商_在途成本_tb.Text) - Val(供應商_備貨成本_tb.Text)
  124. 供應商_庫存成本_tb.Text = Format(Val(供應商_庫存成本_tb.Text), "#,##0") : 供應商_在途成本_tb.Text = Format(Val(供應商_在途成本_tb.Text), "#,##0")
  125. 供應商_備貨成本_tb.Text = Format(Val(供應商_備貨成本_tb.Text), "#,##0") : 供應商_總庫存_tb.Text = Format(Val(供應商_總庫存_tb.Text), "#,##0")
  126. Set_清單1()
  127. End If
  128. End Sub
  129. Private Sub DataGridView1_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 庫存表_dgv.RowPostPaint
  130. Dim linePen As New Pen(Color.Blue, 2)
  131. If e.RowIndex = 庫存表_dgv.Rows.Count - 1 Then : Exit Sub
  132. Else
  133. If 庫存表_dgv(0, e.RowIndex).Value.ToString <> 庫存表_dgv(0, e.RowIndex + 1).Value.ToString Then
  134. Dim startX As Integer = IIf(庫存表_dgv.RowHeadersVisible, 庫存表_dgv.RowHeadersWidth, 0)
  135. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  136. Dim endX As Integer = startX + 庫存表_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 庫存表_dgv.HorizontalScrollingOffset
  137. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  138. End If
  139. End If
  140. For i As Integer = 0 To 庫存表_dgv.Rows.Count - 1
  141. If 庫存表_dgv.Rows(i).Cells("可領用").Value = 0 Then
  142. 庫存表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink
  143. End If
  144. Next
  145. End Sub
  146. Private Sub CheckBox2_CheckedChanged(sender As Object, e As EventArgs) Handles 全物料資料_ch.CheckedChanged
  147. Set_清單()
  148. End Sub
  149. Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles 隱藏尺寸材質_ch.CheckedChanged
  150. 格式設定1()
  151. End Sub
  152. '-----------------------------滑鼠右鍵------------------------------------------------------------------------------------------------------------------------------------------
  153. Private Sub 重新整理ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 重新整理ToolStripMenuItem.Click
  154. Set_清單()
  155. End Sub
  156. End Class