설명 없음
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 16KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. Option Strict Off
  2. Public Class 採購控制表
  3. ReadOnly ds As New DataSet : ReadOnly ds1 As New DataSet
  4. Dim screenWidth As Integer : Dim screenHeight As Integer : Dim newWidth1 As Integer : Dim newHeight1 As Integer
  5. Private Sub Set_清單()
  6. 明細_dgv.DataSource = Nothing : ds.Clear() : 明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  7. 明細_dgv.ColumnHeadersHeight = 25 : 明細_dgv.AllowUserToAddRows = False
  8. SQL_採購控制表清單()
  9. da.Fill(ds) : 明細_dgv.DataSource = ds.Tables(0) : conn.Close()
  10. 明細_dgv.Columns(0).Width = 120 : 明細_dgv.Columns(1).Visible = False : 明細_dgv.Columns(2).Width = 80 : 明細_dgv.Columns(3).Visible = False
  11. 明細_dgv.Columns(4).Visible = False : 明細_dgv.Columns(5).Visible = False : 明細_dgv.Columns(6).Width = 300 : 明細_dgv.Columns(7).Width = 150
  12. 明細_dgv.Columns(8).Width = 150 : 明細_dgv.Columns(9).Visible = False : 明細_dgv.Columns(10).Width = 60 : 明細_dgv.Columns(11).Width = 60
  13. 明細_dgv.Columns(12).Visible = False : 明細_dgv.Columns(13).Width = 60 : 明細_dgv.Columns(14).Visible = False : 明細_dgv.Columns(15).Width = 80
  14. 明細_dgv.Columns(16).Width = 80 : 明細_dgv.Columns(17).Width = 80 : 明細_dgv.Columns(18).Width = 357 : 明細_dgv.Columns(19).Width = 60
  15. If 顯示彙總表_ch.Checked = True Then : 明細_dgv.Columns(18).Width = 357 : Else : 明細_dgv.Columns(18).Width = 596 : End If
  16. 格式設定1() : 格式設定2()
  17. 明細_dgv.Columns(0).Frozen = True : 明細_dgv.Columns(1).Frozen = True : 明細_dgv.Columns(2).Frozen = True : 明細_dgv.Columns(3).Frozen = True
  18. 明細_dgv.Columns(4).Frozen = True : 明細_dgv.Columns(5).Frozen = True : 明細_dgv.Columns(6).Frozen = True
  19. 明細_dgv.Columns(9).DefaultCellStyle.Format = "#,##0" : 明細_dgv.Columns(10).DefaultCellStyle.Format = "#,##0" : 明細_dgv.Columns(11).DefaultCellStyle.Format = "#,##0"
  20. 明細_dgv.Columns(12).DefaultCellStyle.Format = "#,##0" : 明細_dgv.Columns(13).DefaultCellStyle.Format = "#,##0" : 明細_dgv.Columns(14).DefaultCellStyle.Format = "#,##0"
  21. 明細_dgv.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(0).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  22. 明細_dgv.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(2).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  23. 明細_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(4).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. 明細_dgv.Columns(15).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(15).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  31. 明細_dgv.Columns(16).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(16).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  32. 明細_dgv.Columns(17).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(17).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  33. 明細_dgv.Columns(19).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(19).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  34. 明細_dgv.Columns(0).ReadOnly = True : 明細_dgv.Columns(2).ReadOnly = True : 明細_dgv.Columns(4).ReadOnly = True : 明細_dgv.Columns(6).ReadOnly = True
  35. 明細_dgv.Columns(7).ReadOnly = True : 明細_dgv.Columns(8).ReadOnly = True : 明細_dgv.Columns(9).ReadOnly = True : 明細_dgv.Columns(10).ReadOnly = True
  36. 明細_dgv.Columns(11).ReadOnly = True : 明細_dgv.Columns(12).ReadOnly = True : 明細_dgv.Columns(13).ReadOnly = True : 明細_dgv.Columns(14).ReadOnly = True
  37. 明細_dgv.Columns(15).ReadOnly = True : 明細_dgv.Columns(16).ReadOnly = True : 明細_dgv.Columns(17).ReadOnly = True : 明細_dgv.Columns(18).ReadOnly = True
  38. 明細_dgv.Columns(19).ReadOnly = True
  39. 明細_dgv.Columns(9).DefaultCellStyle.BackColor = Color.LightYellow : 明細_dgv.Columns(10).DefaultCellStyle.BackColor = Color.LightYellow
  40. 明細_dgv.Columns(14).DefaultCellStyle.BackColor = Color.LightGreen : 明細_dgv.Columns(13).DefaultCellStyle.BackColor = Color.LightGreen
  41. 明細_dgv.Columns(12).DefaultCellStyle.BackColor = Color.LightGreen
  42. 未到_採購成本_tb.Text = "0" : 已到_採購成本_tb.Text = "0" : 採購成本_tb.Text = "0"
  43. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  44. If 明細_dgv.Rows(i).Cells("入庫日期").Value.ToString = "" Then
  45. 未到_採購成本_tb.Text = Val(未到_採購成本_tb.Text) + 明細_dgv.Rows(i).Cells("採購成本").Value
  46. End If
  47. If 明細_dgv.Rows(i).Cells("入庫日期").Value.ToString <> "" Then
  48. 已到_採購成本_tb.Text = Val(已到_採購成本_tb.Text) + 明細_dgv.Rows(i).Cells("採購成本").Value
  49. End If
  50. Next
  51. 採購成本_tb.Text = Val(未到_採購成本_tb.Text) + Val(已到_採購成本_tb.Text)
  52. 未到_採購成本_tb.Text = Format(Val(未到_採購成本_tb.Text), "#,##0") : 已到_採購成本_tb.Text = Format(Val(已到_採購成本_tb.Text), "#,##0")
  53. 採購成本_tb.Text = Format(Val(採購成本_tb.Text), "#,##0")
  54. End Sub
  55. Private Sub Set_清單1()
  56. 彙總_dgv.DataSource = Nothing : ds1.Clear() : 彙總_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  57. 彙總_dgv.ColumnHeadersHeight = 25 : 彙總_dgv.AllowUserToAddRows = False
  58. SQL_採購控制表彙總()
  59. da.Fill(ds1) : 彙總_dgv.DataSource = ds1.Tables(0) : conn.Close()
  60. 彙總_dgv.Columns(0).FillWeight = 80 : 彙總_dgv.Columns(1).FillWeight = 80
  61. 彙總_dgv.Columns(1).DefaultCellStyle.Format = "#,##0"
  62. 彙總_dgv.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 彙總_dgv.Columns(0).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  63. 彙總_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 彙總_dgv.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  64. 彙總_dgv.Columns(0).ReadOnly = True : 彙總_dgv.Columns(1).ReadOnly = True
  65. End Sub
  66. Private Sub 格式設定()
  67. screenWidth = MAOJI_ERP_SYS.Width
  68. screenHeight = MAOJI_ERP_SYS.Height
  69. If 顯示彙總表_ch.Checked = True Then
  70. 彙總_dgv.Visible = True : 明細_dgv.Location = New Point(250, 57)
  71. newWidth1 = screenWidth - 274 : newHeight1 = screenHeight - 152
  72. 明細_dgv.Size = New Size(newWidth1, newHeight1)
  73. Else
  74. 彙總_dgv.Visible = False : 明細_dgv.Location = New Point(7, 57)
  75. newWidth1 = screenWidth - 30 : newHeight1 = screenHeight - 152
  76. 明細_dgv.Size = New Size(newWidth1, newHeight1)
  77. End If
  78. If 顯示彙總表_ch.Checked = True Then : 明細_dgv.Columns(18).Width = 357 : Else : 明細_dgv.Columns(18).Width = 596 : End If
  79. End Sub
  80. Private Sub 格式設定1()
  81. If 隱藏尺寸材質_ch.Checked = True Then : 明細_dgv.Columns(8).Visible = False : 明細_dgv.Columns(7).Visible = False
  82. Else : 明細_dgv.Columns(8).Visible = True : 明細_dgv.Columns(7).Visible = True : End If
  83. End Sub
  84. Private Sub 格式設定2()
  85. If 隱藏單據編號_ch.Checked = True Then : 明細_dgv.Columns(0).Visible = False : Else : 明細_dgv.Columns(0).Visible = True : End If
  86. End Sub
  87. Private Sub 日期格式()
  88. If 會計月_ch.Checked = True Then
  89. '-------------日期一----------------------------------------------------------------------------------------
  90. DTP = Strings.Left(Format(開始日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 開始日期_dtp.Value = DTP
  91. 開始日期_dtp.Value = 開始日期_dtp.Value.AddMonths(-1)
  92. DTP = Strings.Left(Format(開始日期_dtp.Value, "yyyy/MM/dd"), 8) & "26" : 開始日期_dtp.Value = DTP
  93. '-------------日期二----------------------------------------------------------------------------------------
  94. DTP = Strings.Left(Format(結束日期_dtp.Value, "yyyy/MM/dd"), 8) & "25" : 結束日期_dtp.Value = DTP
  95. Else
  96. '-------------日期一----------------------------------------------------------------------------------------
  97. 開始日期_dtp.Value = 開始日期_dtp.Value.AddMonths(1)
  98. DTP = Strings.Left(Format(開始日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 開始日期_dtp.Value = DTP
  99. '-------------日期二----------------------------------------------------------------------------------------
  100. DTP = Strings.Left(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 結束日期_dtp.Value = DTP
  101. 結束日期_dtp.Value = 結束日期_dtp.Value.AddMonths(1) : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(-1)
  102. End If
  103. End Sub
  104. Private Sub 採購控制表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  105. Me.MdiParent = MAOJI_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  106. 日期格式() : 顯示彙總表_ch.Checked = True : 中間日期_dtp.Visible = False
  107. End Sub
  108. Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 明細_dgv.CellClick
  109. If e.RowIndex = -1 Then : Else
  110. 供應商_tb.Text = 明細_dgv.Rows(e.RowIndex).Cells("廠商").Value : 依供應商_採購成本_tb.Text = "0"
  111. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  112. If 明細_dgv.Rows(i).Cells("廠商").Value.ToString = 供應商_tb.Text Then
  113. 依供應商_採購成本_tb.Text = Val(依供應商_採購成本_tb.Text) + 明細_dgv.Rows(i).Cells("採購成本").Value
  114. End If
  115. Next
  116. 依供應商_採購成本_tb.Text = Format(Val(依供應商_採購成本_tb.Text), "#,##0")
  117. End If
  118. End Sub
  119. Private Sub DataGridView2_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 彙總_dgv.CellClick
  120. If e.RowIndex = -1 Then : Else
  121. 供應商_tb.Text = 彙總_dgv.Rows(e.RowIndex).Cells("廠商").Value : 依供應商_採購成本_tb.Text = "0"
  122. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  123. If 明細_dgv.Rows(i).Cells("廠商").Value.ToString = 供應商_tb.Text Then
  124. 依供應商_採購成本_tb.Text = Val(依供應商_採購成本_tb.Text) + 明細_dgv.Rows(i).Cells("採購成本").Value
  125. End If
  126. Next
  127. 依供應商_採購成本_tb.Text = Format(Val(依供應商_採購成本_tb.Text), "#,##0")
  128. End If
  129. End Sub
  130. Private Sub DataGridView1_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 明細_dgv.RowPostPaint
  131. Dim linePen As New Pen(Color.Blue, 2)
  132. If e.RowIndex = 明細_dgv.Rows.Count - 1 Then : Exit Sub
  133. Else
  134. If 明細_dgv(0, e.RowIndex).Value.ToString <> 明細_dgv(0, e.RowIndex + 1).Value.ToString Then
  135. Dim startX As Integer = IIf(明細_dgv.RowHeadersVisible, 明細_dgv.RowHeadersWidth, 0)
  136. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  137. Dim endX As Integer = startX + 明細_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 明細_dgv.HorizontalScrollingOffset
  138. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  139. End If
  140. End If
  141. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  142. If 明細_dgv.Rows(i).Cells("入庫日期").Value.ToString = "" Then
  143. 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.MistyRose
  144. End If
  145. Next
  146. End Sub
  147. Private Sub 上個月_bt_Click(sender As Object, e As EventArgs) Handles 上個月_bt.Click
  148. If 會計月_ch.Checked = True Then
  149. 中間日期_dtp.Value = 中間日期_dtp.Value.AddMonths(-1)
  150. 開始日期_dtp.Value = 中間日期_dtp.Value
  151. 結束日期_dtp.Value = 中間日期_dtp.Value
  152. Else
  153. 中間日期_dtp.Value = 中間日期_dtp.Value.AddMonths(-1)
  154. 開始日期_dtp.Value = 中間日期_dtp.Value.AddMonths(-1)
  155. 結束日期_dtp.Value = 中間日期_dtp.Value
  156. End If
  157. 日期格式()
  158. End Sub
  159. Private Sub 下個月_bt_Click(sender As Object, e As EventArgs) Handles 下個月_bt.Click
  160. If 會計月_ch.Checked = True Then
  161. 中間日期_dtp.Value = 中間日期_dtp.Value.AddMonths(1)
  162. 開始日期_dtp.Value = 中間日期_dtp.Value
  163. 結束日期_dtp.Value = 中間日期_dtp.Value
  164. Else
  165. 中間日期_dtp.Value = 中間日期_dtp.Value.AddMonths(1)
  166. 開始日期_dtp.Value = 中間日期_dtp.Value.AddMonths(-1)
  167. 結束日期_dtp.Value = 中間日期_dtp.Value
  168. End If
  169. 日期格式()
  170. End Sub
  171. Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles 開始日期_dtp.ValueChanged
  172. Set_清單() : Set_清單1() : 格式設定()
  173. End Sub
  174. Private Sub DateTimePicker2_ValueChanged(sender As Object, e As EventArgs) Handles 結束日期_dtp.ValueChanged
  175. Set_清單() : Set_清單1() : 格式設定()
  176. End Sub
  177. Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles 顯示彙總表_ch.CheckedChanged
  178. 格式設定()
  179. End Sub
  180. Private Sub CheckBox2_CheckedChanged(sender As Object, e As EventArgs) Handles 隱藏尺寸材質_ch.CheckedChanged
  181. 格式設定1()
  182. End Sub
  183. Private Sub CheckBox3_CheckedChanged(sender As Object, e As EventArgs) Handles 隱藏單據編號_ch.CheckedChanged
  184. 格式設定2()
  185. End Sub
  186. Private Sub 會計月_CheckedChanged(sender As Object, e As EventArgs) Handles 會計月_ch.Click
  187. 會計月_ch.Checked = True : 一般月_ch.Checked = False : 日期格式()
  188. End Sub
  189. Private Sub 一般月_CheckedChanged(sender As Object, e As EventArgs) Handles 一般月_ch.Click
  190. 會計月_ch.Checked = False : 一般月_ch.Checked = True : 日期格式()
  191. End Sub
  192. '-----------------------------滑鼠右鍵------------------------------------------------------------------------------------------------------------------------------------------
  193. Private Sub 重新整理ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 重新整理ToolStripMenuItem.Click
  194. Set_清單() : Set_清單1() : 格式設定()
  195. End Sub
  196. End Class