No Description
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 18KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  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. DataGridView1.DataSource = Nothing : ds.Clear() : DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  7. DataGridView1.ColumnHeadersHeight = 25 : DataGridView1.AllowUserToAddRows = False
  8. SQL_銷售控制表清單()
  9. da.Fill(ds) : DataGridView1.DataSource = ds.Tables(0) : conn.Close()
  10. DataGridView1.Columns(0).Width = 120 : DataGridView1.Columns(1).Visible = False : DataGridView1.Columns(2).Width = 90 : DataGridView1.Columns(3).Visible = False
  11. DataGridView1.Columns(4).Width = 90 : DataGridView1.Columns(5).Visible = False : DataGridView1.Columns(6).Width = 200 : DataGridView1.Columns(7).Width = 150
  12. DataGridView1.Columns(8).Width = 150 : DataGridView1.Columns(9).Width = 65 : DataGridView1.Columns(10).Width = 65 : DataGridView1.Columns(11).Width = 65
  13. DataGridView1.Columns(12).Width = 65 : DataGridView1.Columns(13).Width = 65 : DataGridView1.Columns(14).Width = 65 : DataGridView1.Columns(15).Width = 85
  14. DataGridView1.Columns(16).Width = 85 : DataGridView1.Columns(17).Width = 85 : DataGridView1.Columns(18).Width = 147
  15. If CheckBox1.Checked = True Then : DataGridView1.Columns(18).Width = 62 : Else : DataGridView1.Columns(18).Width = 435 : End If
  16. 格式設定1() : 格式設定2()
  17. DataGridView1.Columns(0).Frozen = True : DataGridView1.Columns(1).Frozen = True : DataGridView1.Columns(2).Frozen = True : DataGridView1.Columns(3).Frozen = True
  18. DataGridView1.Columns(4).Frozen = True : DataGridView1.Columns(5).Frozen = True : DataGridView1.Columns(6).Frozen = True
  19. DataGridView1.Columns(9).DefaultCellStyle.Format = "#,##0" : DataGridView1.Columns(10).DefaultCellStyle.Format = "#,##0" : DataGridView1.Columns(11).DefaultCellStyle.Format = "#,##0"
  20. DataGridView1.Columns(12).DefaultCellStyle.Format = "#,##0" : DataGridView1.Columns(13).DefaultCellStyle.Format = "#,##0" : DataGridView1.Columns(14).DefaultCellStyle.Format = "#,##0"
  21. DataGridView1.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(0).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  22. DataGridView1.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(2).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  23. DataGridView1.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  24. DataGridView1.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  25. DataGridView1.Columns(10).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(10).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  26. DataGridView1.Columns(11).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(11).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  27. DataGridView1.Columns(12).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(12).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  28. DataGridView1.Columns(13).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(13).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  29. DataGridView1.Columns(14).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(14).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  30. DataGridView1.Columns(15).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(15).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  31. DataGridView1.Columns(16).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(16).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  32. DataGridView1.Columns(17).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(17).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  33. DataGridView1.Columns(0).ReadOnly = True : DataGridView1.Columns(2).ReadOnly = True : DataGridView1.Columns(4).ReadOnly = True : DataGridView1.Columns(6).ReadOnly = True
  34. DataGridView1.Columns(7).ReadOnly = True : DataGridView1.Columns(8).ReadOnly = True : DataGridView1.Columns(9).ReadOnly = True : DataGridView1.Columns(10).ReadOnly = True
  35. DataGridView1.Columns(11).ReadOnly = True : DataGridView1.Columns(12).ReadOnly = True : DataGridView1.Columns(13).ReadOnly = True : DataGridView1.Columns(14).ReadOnly = True
  36. DataGridView1.Columns(15).ReadOnly = True : DataGridView1.Columns(16).ReadOnly = True : DataGridView1.Columns(17).ReadOnly = True : DataGridView1.Columns(18).ReadOnly = True
  37. DataGridView1.Columns(9).DefaultCellStyle.BackColor = Color.LightYellow : DataGridView1.Columns(10).DefaultCellStyle.BackColor = Color.LightYellow
  38. DataGridView1.Columns(14).DefaultCellStyle.BackColor = Color.LightGreen : DataGridView1.Columns(13).DefaultCellStyle.BackColor = Color.LightGreen
  39. DataGridView1.Columns(12).DefaultCellStyle.BackColor = Color.LightGreen
  40. TextBox7.Text = "0" : TextBox6.Text = "0" : TextBox5.Text = "0" : TextBox3.Text = "0" : TextBox1.Text = "0" : TextBox2.Text = "0" : TextBox9.Text = "0" : TextBox4.Text = "0" : TextBox8.Text = "0"
  41. For i As Integer = 0 To DataGridView1.Rows.Count - 1
  42. If DataGridView1.Rows(i).Cells("出貨日期").Value.ToString = "" Then
  43. TextBox7.Text = Val(TextBox7.Text) + DataGridView1.Rows(i).Cells("銷售金額").Value : TextBox6.Text = Val(TextBox6.Text) + DataGridView1.Rows(i).Cells("銷售成本").Value
  44. End If
  45. If DataGridView1.Rows(i).Cells("出貨日期").Value.ToString <> "" Then
  46. TextBox3.Text = Val(TextBox3.Text) + DataGridView1.Rows(i).Cells("銷售金額").Value : TextBox1.Text = Val(TextBox1.Text) + DataGridView1.Rows(i).Cells("銷售成本").Value
  47. End If
  48. Next
  49. TextBox5.Text = Val(TextBox7.Text) - Val(TextBox6.Text) : TextBox2.Text = Val(TextBox3.Text) - Val(TextBox1.Text)
  50. TextBox9.Text = Val(TextBox7.Text) + Val(TextBox3.Text) : TextBox4.Text = Val(TextBox6.Text) + Val(TextBox1.Text) : TextBox8.Text = Val(TextBox5.Text) + Val(TextBox2.Text)
  51. TextBox6.Text = Format(Val(TextBox6.Text), "#,##0") : TextBox7.Text = Format(Val(TextBox7.Text), "#,##0") : TextBox5.Text = Format(Val(TextBox5.Text), "#,##0")
  52. TextBox3.Text = Format(Val(TextBox3.Text), "#,##0") : TextBox1.Text = Format(Val(TextBox1.Text), "#,##0") : TextBox2.Text = Format(Val(TextBox2.Text), "#,##0")
  53. TextBox8.Text = Format(Val(TextBox8.Text), "#,##0") : TextBox4.Text = Format(Val(TextBox4.Text), "#,##0") : TextBox9.Text = Format(Val(TextBox9.Text), "#,##0")
  54. End Sub
  55. Private Sub Set_清單1()
  56. DataGridView2.DataSource = Nothing : ds1.Clear() : DataGridView2.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  57. DataGridView2.ColumnHeadersHeight = 25 : DataGridView2.AllowUserToAddRows = False
  58. SQL_銷售控制表彙總()
  59. da.Fill(ds1) : DataGridView2.DataSource = ds1.Tables(0) : conn.Close()
  60. DataGridView2.Columns(0).FillWeight = 80 : DataGridView2.Columns(1).FillWeight = 60 : DataGridView2.Columns(2).FillWeight = 60 : DataGridView2.Columns(3).FillWeight = 60
  61. DataGridView2.Columns(1).DefaultCellStyle.Format = "#,##0" : DataGridView2.Columns(2).DefaultCellStyle.Format = "#,##0" : DataGridView2.Columns(3).DefaultCellStyle.Format = "#,##0"
  62. DataGridView2.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView2.Columns(0).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  63. DataGridView2.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView2.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  64. DataGridView2.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView2.Columns(2).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  65. DataGridView2.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView2.Columns(3).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  66. DataGridView2.Columns(0).ReadOnly = True : DataGridView2.Columns(1).ReadOnly = True : DataGridView2.Columns(2).ReadOnly = True : DataGridView2.Columns(3).ReadOnly = True
  67. End Sub
  68. Private Sub 格式設定()
  69. screenWidth = MAOJI_ERP_SYS.Width
  70. screenHeight = MAOJI_ERP_SYS.Height
  71. If CheckBox1.Checked = True Then
  72. DataGridView2.Visible = True : DataGridView1.Location = New Point(379, 76)
  73. newWidth1 = screenWidth - 403 : newHeight1 = screenHeight - 171
  74. DataGridView1.Size = New Size(newWidth1, newHeight1)
  75. Else
  76. DataGridView2.Visible = False : DataGridView1.Location = New Point(6, 76)
  77. newWidth1 = screenWidth - 30 : newHeight1 = screenHeight - 171
  78. DataGridView1.Size = New Size(newWidth1, newHeight1)
  79. End If
  80. If CheckBox1.Checked = True Then : DataGridView1.Columns(18).Width = 62 : Else : DataGridView1.Columns(18).Width = 435 : End If
  81. End Sub
  82. Private Sub 格式設定1()
  83. If CheckBox2.Checked = True Then : DataGridView1.Columns(4).Visible = False : Else : DataGridView1.Columns(4).Visible = True : End If
  84. End Sub
  85. Private Sub 格式設定2()
  86. If CheckBox3.Checked = True Then : DataGridView1.Columns(0).Visible = False : Else : DataGridView1.Columns(0).Visible = True : End If
  87. End Sub
  88. Private Sub 日期格式()
  89. If 會計月.Checked = True Then
  90. '-------------日期一----------------------------------------------------------------------------------------
  91. DTP = Strings.Left(Format(DateTimePicker1.Value, "yyyy/MM/dd"), 8) & "01" : DateTimePicker1.Value = DTP
  92. DateTimePicker1.Value = DateTimePicker1.Value.AddMonths(-1)
  93. DTP = Strings.Left(Format(DateTimePicker1.Value, "yyyy/MM/dd"), 8) & "26" : DateTimePicker1.Value = DTP
  94. '-------------日期二----------------------------------------------------------------------------------------
  95. DTP = Strings.Left(Format(DateTimePicker2.Value, "yyyy/MM/dd"), 8) & "25" : DateTimePicker2.Value = DTP
  96. Else
  97. '-------------日期一----------------------------------------------------------------------------------------
  98. DateTimePicker1.Value = DateTimePicker1.Value.AddMonths(1)
  99. DTP = Strings.Left(Format(DateTimePicker1.Value, "yyyy/MM/dd"), 8) & "01" : DateTimePicker1.Value = DTP
  100. '-------------日期二----------------------------------------------------------------------------------------
  101. DTP = Strings.Left(Strings.Format(DateTimePicker2.Value, "yyyy/MM/dd"), 8) & "01" : DateTimePicker2.Value = DTP
  102. DateTimePicker2.Value = DateTimePicker2.Value.AddMonths(1) : DateTimePicker2.Value = DateTimePicker2.Value.AddDays(-1)
  103. End If
  104. End Sub
  105. Private Sub 銷售控制表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  106. Me.MdiParent = MAOJI_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  107. DateTimePicker1.Value = Today() : DateTimePicker2.Value = Today() : DateTimePicker4.Visible = False
  108. 日期格式()
  109. CheckBox1.Checked = True
  110. End Sub
  111. Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
  112. If e.RowIndex = -1 Then : Else
  113. TextBox13.Text = DataGridView1.Rows(e.RowIndex).Cells("客戶").Value
  114. TextBox12.Text = "0" : TextBox10.Text = "0" : TextBox11.Text = "0"
  115. For i As Integer = 0 To DataGridView1.Rows.Count - 1
  116. If DataGridView1.Rows(i).Cells("客戶").Value.ToString = TextBox13.Text Then
  117. TextBox12.Text = Val(TextBox12.Text) + DataGridView1.Rows(i).Cells("銷售金額").Value : TextBox10.Text = Val(TextBox10.Text) + DataGridView1.Rows(i).Cells("銷售成本").Value
  118. End If
  119. Next
  120. TextBox11.Text = Val(TextBox12.Text) - Val(TextBox10.Text)
  121. TextBox11.Text = Format(Val(TextBox11.Text), "#,##0") : TextBox12.Text = Format(Val(TextBox12.Text), "#,##0") : TextBox10.Text = Format(Val(TextBox10.Text), "#,##0")
  122. End If
  123. End Sub
  124. Private Sub DataGridView2_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView2.CellClick
  125. If e.RowIndex = -1 Then : Else
  126. TextBox13.Text = DataGridView2.Rows(e.RowIndex).Cells("客戶").Value : TextBox10.Text = "0"
  127. TextBox12.Text = "0" : TextBox10.Text = "0" : TextBox11.Text = "0"
  128. For i As Integer = 0 To DataGridView1.Rows.Count - 1
  129. If DataGridView1.Rows(i).Cells("客戶").Value.ToString = TextBox13.Text Then
  130. TextBox12.Text = Val(TextBox12.Text) + DataGridView1.Rows(i).Cells("銷售金額").Value : TextBox10.Text = Val(TextBox10.Text) + DataGridView1.Rows(i).Cells("銷售成本").Value
  131. End If
  132. Next
  133. TextBox11.Text = Val(TextBox12.Text) - Val(TextBox10.Text)
  134. TextBox11.Text = Format(Val(TextBox11.Text), "#,##0") : TextBox12.Text = Format(Val(TextBox12.Text), "#,##0") : TextBox10.Text = Format(Val(TextBox10.Text), "#,##0")
  135. End If
  136. End Sub
  137. Private Sub DataGridView1_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles DataGridView1.RowPostPaint
  138. Dim linePen As New Pen(Color.Blue, 2)
  139. If e.RowIndex = DataGridView1.Rows.Count - 1 Then
  140. Exit Sub
  141. Else
  142. If DataGridView1(0, e.RowIndex).Value.ToString <> DataGridView1(0, e.RowIndex + 1).Value.ToString Then
  143. Dim startX As Integer = IIf(DataGridView1.RowHeadersVisible, DataGridView1.RowHeadersWidth, 0)
  144. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  145. Dim endX As Integer = startX + DataGridView1.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - DataGridView1.HorizontalScrollingOffset
  146. e.Graphics.DrawLine(linePen, startX, startY, endX, startY)
  147. Exit Sub
  148. End If
  149. End If
  150. For i As Integer = 0 To DataGridView1.Rows.Count - 1
  151. If DataGridView1.Rows(i).Cells("出貨日期").Value.ToString = "" Then
  152. DataGridView1.Rows(i).DefaultCellStyle.BackColor = Color.MistyRose
  153. End If
  154. Next
  155. End Sub
  156. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  157. If 會計月.Checked = True Then
  158. DateTimePicker4.Value = DateTimePicker4.Value.AddMonths(-1)
  159. DateTimePicker1.Value = DateTimePicker4.Value
  160. DateTimePicker2.Value = DateTimePicker4.Value
  161. Else
  162. DateTimePicker4.Value = DateTimePicker4.Value.AddMonths(-1)
  163. DateTimePicker1.Value = DateTimePicker4.Value.AddMonths(-1)
  164. DateTimePicker2.Value = DateTimePicker4.Value
  165. End If
  166. 日期格式()
  167. End Sub
  168. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
  169. If 會計月.Checked = True Then
  170. DateTimePicker4.Value = DateTimePicker4.Value.AddMonths(1)
  171. DateTimePicker1.Value = DateTimePicker4.Value
  172. DateTimePicker2.Value = DateTimePicker4.Value
  173. Else
  174. DateTimePicker4.Value = DateTimePicker4.Value.AddMonths(1)
  175. DateTimePicker1.Value = DateTimePicker4.Value.AddMonths(-1)
  176. DateTimePicker2.Value = DateTimePicker4.Value
  177. End If
  178. 日期格式()
  179. End Sub
  180. Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged
  181. Set_清單() : Set_清單1() : 格式設定()
  182. End Sub
  183. Private Sub DateTimePicker2_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker2.ValueChanged
  184. Set_清單() : Set_清單1() : 格式設定()
  185. End Sub
  186. Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
  187. 格式設定()
  188. End Sub
  189. Private Sub CheckBox2_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox2.CheckedChanged
  190. 格式設定1()
  191. End Sub
  192. Private Sub CheckBox3_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox3.CheckedChanged
  193. 格式設定2()
  194. End Sub
  195. Private Sub 會計月_CheckedChanged(sender As Object, e As EventArgs) Handles 會計月.Click
  196. 會計月.Checked = True : 一般月.Checked = False : 日期格式()
  197. End Sub
  198. Private Sub 一般月_CheckedChanged(sender As Object, e As EventArgs) Handles 一般月.Click
  199. 會計月.Checked = False : 一般月.Checked = True : 日期格式()
  200. End Sub
  201. '-----------------------------滑鼠右鍵------------------------------------------------------------------------------------------------------------------------------------------
  202. Private Sub 重新整理ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 重新整理ToolStripMenuItem.Click
  203. Set_清單() : Set_清單1() : 格式設定()
  204. End Sub
  205. End Class