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.

財務報表1.vb 20KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  1. Imports System.Windows.Forms.DataVisualization.Charting
  2. Public Class 財務報表1
  3. Private Sub Set_實際人工()
  4. Dim ds1 As New DataSet
  5. 實際人工_dgv.DataSource = Nothing : ds1.Clear()
  6. 實際人工_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  7. 實際人工_dgv.ColumnHeadersHeight = 25 : 實際人工_dgv.AllowUserToAddRows = False : 實際人工_dgv.RowTemplate.Height = 25
  8. PA30 = "0" : SQL_工人薪資彙總報表_查詢1()
  9. da.Fill(ds1) : 實際人工_dgv.DataSource = ds1.Tables(0) : conn.Close()
  10. For i As Integer = 0 To 實際人工_dgv.Rows.Count - 1 : 實際人工_dgv.Rows(i).Cells(0).Value = "1" : Next
  11. End Sub
  12. Private Sub Set_虛擬人工()
  13. Dim ds1 As New DataSet
  14. 虛擬人工_dgv.DataSource = Nothing : ds1.Clear()
  15. 虛擬人工_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  16. 虛擬人工_dgv.ColumnHeadersHeight = 25 : 虛擬人工_dgv.AllowUserToAddRows = False : 虛擬人工_dgv.RowTemplate.Height = 25
  17. PA30 = "1" : SQL_工人薪資彙總報表_查詢1()
  18. da.Fill(ds1) : 虛擬人工_dgv.DataSource = ds1.Tables(0) : conn.Close()
  19. For i As Integer = 0 To 虛擬人工_dgv.Rows.Count - 1 : 虛擬人工_dgv.Rows(i).Cells(0).Value = "1" : Next
  20. End Sub
  21. Private Sub Set_實際工資()
  22. Dim ds1 As New DataSet
  23. 實際工資_dgv.DataSource = Nothing : ds1.Clear()
  24. 實際工資_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  25. 實際工資_dgv.ColumnHeadersHeight = 25 : 實際工資_dgv.AllowUserToAddRows = False : 實際工資_dgv.RowTemplate.Height = 25
  26. PA30 = "0" : SQL_工人薪資彙總報表_查詢2()
  27. da.Fill(ds1) : 實際工資_dgv.DataSource = ds1.Tables(0) : conn.Close()
  28. Dim 週數, 人數 As Integer : 週數 = 0 : 人數 = 0
  29. For i As Integer = 0 To 實際工資_dgv.Rows.Count - 1
  30. If IsDBNull(實際工資_dgv.Rows(i).Cells(2).Value) Then
  31. 實際工資_dgv.Rows(i).Cells(2).Value = 0 : 實際工資_dgv.Rows(i).Cells(3).Value = 0
  32. 實際工資_dgv.Rows(i).Cells(4).Value = 0 : 實際工資_dgv.Rows(i).Cells(5).Value = 0
  33. End If
  34. For II As Integer = 0 To 實際人工_dgv.Rows.Count - 1
  35. If 實際人工_dgv.Rows(II).Cells(2).Value.ToString = 實際工資_dgv.Rows(i).Cells(1).Value.ToString Then
  36. 週數 += CInt(實際人工_dgv.Rows(II).Cells(0).Value.ToString) : 人數 += CInt(實際人工_dgv.Rows(II).Cells(4).Value.ToString)
  37. End If
  38. Next : 實際工資_dgv.Rows(i).Cells(2).Value = Strings.Format(人數 / 週數, "#,##0")
  39. Next
  40. 實際工資_dgv.Columns(3).FillWeight = 140 : 實際工資_dgv.Columns(4).Visible = False : 實際工資_dgv.Columns(5).Visible = False
  41. 實際工資_dgv.Columns(3).DefaultCellStyle.Format = "#,##0"
  42. 實際工資_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  43. End Sub
  44. Private Sub Set_虛擬工資()
  45. Dim ds1 As New DataSet
  46. 沖帳工資_dgv.DataSource = Nothing : ds1.Clear()
  47. 沖帳工資_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  48. 沖帳工資_dgv.ColumnHeadersHeight = 25 : 沖帳工資_dgv.AllowUserToAddRows = False : 沖帳工資_dgv.RowTemplate.Height = 25
  49. PA30 = "1" : SQL_工人薪資彙總報表_查詢2()
  50. da.Fill(ds1) : 沖帳工資_dgv.DataSource = ds1.Tables(0) : conn.Close()
  51. Dim 週數, 人數 As Integer : 週數 = 0 : 人數 = 0
  52. For i As Integer = 0 To 沖帳工資_dgv.Rows.Count - 1
  53. If IsDBNull(虛擬人工_dgv.Rows(i).Cells(2).Value) Then
  54. 虛擬人工_dgv.Rows(i).Cells(2).Value = 0 : 虛擬人工_dgv.Rows(i).Cells(3).Value = 0
  55. 虛擬人工_dgv.Rows(i).Cells(4).Value = 0 : 虛擬人工_dgv.Rows(i).Cells(5).Value = 0
  56. End If
  57. For II As Integer = 0 To 虛擬人工_dgv.Rows.Count - 1
  58. If 虛擬人工_dgv.Rows(II).Cells(2).Value.ToString = 沖帳工資_dgv.Rows(i).Cells(1).Value.ToString Then
  59. 週數 += CInt(虛擬人工_dgv.Rows(II).Cells(0).Value.ToString) : 人數 += CInt(虛擬人工_dgv.Rows(II).Cells(4).Value.ToString)
  60. End If
  61. Next : 沖帳工資_dgv.Rows(i).Cells(2).Value = Strings.Format(人數 / 週數, "#,##0")
  62. Next
  63. 沖帳工資_dgv.Columns(3).FillWeight = 140 : 沖帳工資_dgv.Columns(4).Visible = False : 沖帳工資_dgv.Columns(5).Visible = False
  64. 沖帳工資_dgv.Columns(3).DefaultCellStyle.Format = "#,##0"
  65. 沖帳工資_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  66. End Sub
  67. Private Sub Set_實際採購()
  68. Dim ds1 As New DataSet
  69. 實際採購_dgv.DataSource = Nothing : ds1.Clear()
  70. 實際採購_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  71. 實際採購_dgv.ColumnHeadersHeight = 25 : 實際採購_dgv.AllowUserToAddRows = False : 實際採購_dgv.RowTemplate.Height = 25
  72. SQL_採購總額彙總報表_查詢1()
  73. da.Fill(ds1) : 實際採購_dgv.DataSource = ds1.Tables(0) : conn.Close()
  74. For i As Integer = 0 To 實際採購_dgv.Rows.Count - 1
  75. If IsDBNull(實際採購_dgv.Rows(i).Cells(2).Value) Then
  76. 實際採購_dgv.Rows(i).Cells(2).Value = 0 : 實際採購_dgv.Rows(i).Cells(3).Value = 0
  77. 實際採購_dgv.Rows(i).Cells(4).Value = 0 : 實際採購_dgv.Rows(i).Cells(5).Value = 0
  78. End If
  79. Next
  80. 實際採購_dgv.Columns(3).FillWeight = 140 : 實際採購_dgv.Columns(4).Visible = False : 實際採購_dgv.Columns(5).Visible = False
  81. 實際採購_dgv.Columns(3).DefaultCellStyle.Format = "#,##0"
  82. 實際採購_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  83. End Sub
  84. Private Sub Set_沖帳採購()
  85. Dim ds1 As New DataSet
  86. 沖帳採購_dgv.DataSource = Nothing : ds1.Clear()
  87. 沖帳採購_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  88. 沖帳採購_dgv.ColumnHeadersHeight = 25 : 沖帳採購_dgv.AllowUserToAddRows = False : 沖帳採購_dgv.RowTemplate.Height = 25
  89. SQL_採購總額彙總報表_查詢2()
  90. da.Fill(ds1) : 沖帳採購_dgv.DataSource = ds1.Tables(0) : conn.Close()
  91. For i As Integer = 0 To 沖帳採購_dgv.Rows.Count - 1
  92. If IsDBNull(沖帳採購_dgv.Rows(i).Cells(2).Value) Then
  93. 沖帳採購_dgv.Rows(i).Cells(2).Value = 0 : 沖帳採購_dgv.Rows(i).Cells(3).Value = 0
  94. 沖帳採購_dgv.Rows(i).Cells(4).Value = 0 : 沖帳採購_dgv.Rows(i).Cells(5).Value = 0
  95. End If
  96. Next
  97. 沖帳採購_dgv.Columns(3).FillWeight = 140 : 沖帳採購_dgv.Columns(4).Visible = False : 沖帳採購_dgv.Columns(5).Visible = False
  98. 沖帳採購_dgv.Columns(3).DefaultCellStyle.Format = "#,##0"
  99. 沖帳採購_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  100. End Sub
  101. Private Sub Set_計算()
  102. Set_實際工資() : Set_虛擬工資() : Set_實際採購() : Set_沖帳採購() : 合計1_tb.Text = "0" : 合計2_tb.Text = "0" : 合計4_tb.Text = "0" : 合計5_tb.Text = "0"
  103. For i As Integer = 0 To 實際工資_dgv.Rows.Count - 1 : 實際工資_dgv.Rows(i).Cells(5).Value = 0
  104. 合計1_tb.Text = CLng(合計1_tb.Text) + 實際工資_dgv.Rows(i).Cells(3).Value
  105. For II As Integer = 0 To 沖帳工資_dgv.Rows.Count - 1
  106. If 沖帳工資_dgv.Rows(II).Cells(1).Value.ToString = 實際工資_dgv.Rows(i).Cells(1).Value.ToString Then
  107. 實際工資_dgv.Rows(i).Cells(4).Value = 實際工資_dgv.Rows(i).Cells(3).Value + 沖帳工資_dgv.Rows(i).Cells(3).Value
  108. If 實際工資_dgv.Rows(i).Cells(4).Value > 0 Then
  109. 實際工資_dgv.Rows(i).Cells(5).Value = CInt((實際工資_dgv.Rows(i).Cells(3).Value / 實際工資_dgv.Rows(i).Cells(4).Value) * 100)
  110. End If
  111. End If
  112. Next
  113. Next
  114. For i As Integer = 0 To 沖帳工資_dgv.Rows.Count - 1 : 沖帳工資_dgv.Rows(i).Cells(5).Value = 0
  115. 合計2_tb.Text = CLng(合計2_tb.Text) + 沖帳工資_dgv.Rows(i).Cells(3).Value
  116. For II As Integer = 0 To 實際工資_dgv.Rows.Count - 1
  117. If 實際工資_dgv.Rows(II).Cells(1).Value.ToString = 沖帳工資_dgv.Rows(i).Cells(1).Value.ToString Then
  118. 沖帳工資_dgv.Rows(i).Cells(4).Value = 沖帳工資_dgv.Rows(i).Cells(3).Value + 實際工資_dgv.Rows(i).Cells(3).Value
  119. If 沖帳工資_dgv.Rows(i).Cells(4).Value > 0 Then
  120. 沖帳工資_dgv.Rows(i).Cells(5).Value = CInt((沖帳工資_dgv.Rows(i).Cells(3).Value / 沖帳工資_dgv.Rows(i).Cells(4).Value) * 100)
  121. End If
  122. End If
  123. Next
  124. Next
  125. For i As Integer = 0 To 實際採購_dgv.Rows.Count - 1
  126. 合計4_tb.Text = CLng(合計4_tb.Text) + 實際採購_dgv.Rows(i).Cells(3).Value
  127. For II As Integer = 0 To 沖帳採購_dgv.Rows.Count - 1
  128. If 沖帳採購_dgv.Rows(II).Cells(1).Value.ToString = 實際採購_dgv.Rows(i).Cells(1).Value.ToString Then
  129. 實際採購_dgv.Rows(i).Cells(4).Value = 實際採購_dgv.Rows(i).Cells(3).Value + 沖帳採購_dgv.Rows(i).Cells(3).Value
  130. If 實際採購_dgv.Rows(i).Cells(4).Value > 0 Then
  131. 實際採購_dgv.Rows(i).Cells(5).Value = CInt((實際採購_dgv.Rows(i).Cells(3).Value / 實際採購_dgv.Rows(i).Cells(4).Value) * 100)
  132. End If
  133. End If
  134. Next
  135. Next
  136. For i As Integer = 0 To 沖帳採購_dgv.Rows.Count - 1
  137. 合計5_tb.Text = CLng(合計5_tb.Text) + 沖帳採購_dgv.Rows(i).Cells(3).Value
  138. For II As Integer = 0 To 實際採購_dgv.Rows.Count - 1
  139. If 實際採購_dgv.Rows(II).Cells(1).Value.ToString = 沖帳採購_dgv.Rows(i).Cells(1).Value.ToString Then
  140. 沖帳採購_dgv.Rows(i).Cells(4).Value = 沖帳採購_dgv.Rows(i).Cells(3).Value + 實際採購_dgv.Rows(i).Cells(3).Value
  141. If 沖帳採購_dgv.Rows(i).Cells(4).Value > 0 Then
  142. 沖帳採購_dgv.Rows(i).Cells(5).Value = CInt((沖帳採購_dgv.Rows(i).Cells(3).Value / 沖帳採購_dgv.Rows(i).Cells(4).Value) * 100)
  143. End If
  144. End If
  145. Next
  146. Next
  147. Set_進度條顯示1() : Set_進度條顯示2() : Set_進度條顯示3() : Set_進度條顯示4()
  148. 比例1_tb.Text = CLng(合計1_tb.Text) / (CLng(合計1_tb.Text) + CLng(合計2_tb.Text)) * 100
  149. 比例2_tb.Text = CLng(合計2_tb.Text) / (CLng(合計1_tb.Text) + CLng(合計2_tb.Text)) * 100
  150. 比例4_tb.Text = CLng(合計4_tb.Text) / (CLng(合計4_tb.Text) + CLng(合計5_tb.Text)) * 100
  151. 比例5_tb.Text = CLng(合計5_tb.Text) / (CLng(合計4_tb.Text) + CLng(合計5_tb.Text)) * 100
  152. 比例3_tb.Text = CLng(比例1_tb.Text) + CLng(比例2_tb.Text) : 合計3_tb.Text = CLng(合計1_tb.Text) + CLng(合計2_tb.Text)
  153. 比例6_tb.Text = CLng(比例4_tb.Text) + CLng(比例5_tb.Text) : 合計6_tb.Text = CLng(合計4_tb.Text) + CLng(合計5_tb.Text)
  154. 比例1_tb.Text = Strings.Format(CLng(比例1_tb.Text), "#,##0.00") & " %" : 比例2_tb.Text = Strings.Format(CLng(比例2_tb.Text), "#,##0.00") & " %"
  155. 比例3_tb.Text = Strings.Format(CLng(比例3_tb.Text), "#,##0.00") & " %" : 比例4_tb.Text = Strings.Format(CLng(比例4_tb.Text), "#,##0.00") & " %"
  156. 比例5_tb.Text = Strings.Format(CLng(比例5_tb.Text), "#,##0.00") & " %" : 比例6_tb.Text = Strings.Format(CLng(比例6_tb.Text), "#,##0.00") & " %"
  157. 合計1_tb.Text = Strings.Format(CLng(合計1_tb.Text), "#,##0") : 合計2_tb.Text = Strings.Format(CLng(合計2_tb.Text), "#,##0")
  158. 合計3_tb.Text = Strings.Format(CLng(合計3_tb.Text), "#,##0") : 合計4_tb.Text = Strings.Format(CLng(合計4_tb.Text), "#,##0")
  159. 合計5_tb.Text = Strings.Format(CLng(合計5_tb.Text), "#,##0") : 合計6_tb.Text = Strings.Format(CLng(合計6_tb.Text), "#,##0")
  160. 彙總()
  161. End Sub
  162. Private Sub Set_進度條顯示1()
  163. Dim Col As New DataGridViewProgressColumn With {
  164. .Width = 30,
  165. .DataPropertyName = "比例"
  166. }
  167. Col.HeaderText = "Percent (%)" : Col.Name = "容量" : Col.DataPropertyName = "比例" : 實際工資_dgv.Columns.Insert(5, Col)
  168. End Sub
  169. Private Sub Set_進度條顯示2()
  170. Dim Col As New DataGridViewProgressColumn With {
  171. .Width = 30,
  172. .DataPropertyName = "比例"
  173. }
  174. Col.HeaderText = "Percent (%)" : Col.Name = "容量" : Col.DataPropertyName = "比例" : 沖帳工資_dgv.Columns.Insert(5, Col)
  175. End Sub
  176. Private Sub Set_進度條顯示3()
  177. Dim Col As New DataGridViewProgressColumn With {
  178. .Width = 30,
  179. .DataPropertyName = "比例"
  180. }
  181. Col.HeaderText = "Percent (%)" : Col.Name = "容量" : Col.DataPropertyName = "比例" : 實際採購_dgv.Columns.Insert(5, Col)
  182. End Sub
  183. Private Sub Set_進度條顯示4()
  184. Dim Col As New DataGridViewProgressColumn With {
  185. .Width = 30,
  186. .DataPropertyName = "比例"
  187. }
  188. Col.HeaderText = "Percent (%)" : Col.Name = "容量" : Col.DataPropertyName = "比例" : 沖帳採購_dgv.Columns.Insert(5, Col)
  189. End Sub
  190. Private Sub 年分清單()
  191. SQL_年分清單() : 年份2_cb.Items.Clear()
  192. While (dr.Read()) : 年份2_cb.Items.Add(dr("日期")) : End While : conn.Close()
  193. End Sub
  194. Private Sub 財務報表1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  195. Me.MdiParent = HX_PGS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  196. H(316) = True : 介面 = "H316" : 顯示說明(999, False)
  197. 分母 = 100 : 分段1 = 0.35 : 分段2 = 0.34 : 分段3 = 0.65 : 分段4 = 0.64 : 進度條後墜 = " %"
  198. Panel2.SendToBack()
  199. End Sub
  200. Private Sub 財務報表1_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
  201. 年分清單() : 年份2_cb.Text = Year(Today) : 重新讀取_bt.PerformClick()
  202. End Sub
  203. Private Sub 財務報表1_SizeChanged(sender As Object, e As EventArgs) Handles MyBase.SizeChanged
  204. MyMod.清單字體大小調整()
  205. 實際人工_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  206. 虛擬人工_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  207. 實際採購_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  208. 沖帳採購_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  209. 實際工資_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  210. 沖帳工資_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  211. End Sub
  212. Private Sub 財務報表1_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed
  213. HX_PGS_ERP_SYS.WindowState = 0 : HX_PGS_ERP_SYS.MaximizeBox = True : HX_PGS_ERP_SYS.MinimizeBox = True
  214. H(611) = False : MyMod.虛擬桌面開啟()
  215. End Sub
  216. Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove
  217. timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
  218. End Sub
  219. Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress
  220. timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
  221. End Sub
  222. Private Sub 縮放1_bt_Click(sender As Object, e As EventArgs) Handles 縮放1_bt.Click
  223. Panel2.BringToFront() : Panel1.SendToBack()
  224. End Sub
  225. Private Sub 縮放2_bt_Click(sender As Object, e As EventArgs) Handles 縮放2_bt.Click
  226. Panel2.SendToBack() : Panel1.BringToFront()
  227. End Sub
  228. Private Sub 彙總()
  229. Chart1.ChartAreas.Clear() : Chart1.ChartAreas.Add(0) : Chart1.Series.Clear()
  230. Chart1.ChartAreas(0).AxisX.Minimum = 0
  231. Chart1.ChartAreas(0).AxisX.CustomLabels.Clear() ' 清除现有的自定义标签
  232. For i As Integer = 0 To 12 ' 添加自定义标签
  233. Dim label As New CustomLabel(i - 0.5, i + 0.5, i.ToString("D2"), 0, LabelMarkStyle.None)
  234. Chart1.ChartAreas(0).AxisX.CustomLabels.Add(label)
  235. Next
  236. Chart1.ChartAreas(0).AxisY.LabelStyle.Font = New Font("Arial", 8) : Chart1.ChartAreas(0).AxisY.LabelStyle.Format = "#,##0" & " M"
  237. Chart1.Series.Add("實際工資") : Chart1.Series("實際工資").ChartType = SeriesChartType.Line
  238. Chart1.Series.Add("沖帳工資") : Chart1.Series("沖帳工資").ChartType = SeriesChartType.Line
  239. Chart1.Series.Add("實際工資.") : Chart1.Series("實際工資.").ChartType = SeriesChartType.Column
  240. Chart1.Series.Add("沖帳工資.") : Chart1.Series("沖帳工資.").ChartType = SeriesChartType.Column
  241. For i As Integer = 0 To 實際工資_dgv.Rows.Count - 1
  242. Chart1.Series("實際工資.").Points.AddXY(實際工資_dgv.Rows(i).Cells("月").Value.ToString, CLng(實際工資_dgv.Rows(i).Cells("總金額").Value.ToString) / 1000000)
  243. Chart1.Series("沖帳工資.").Points.AddXY(沖帳工資_dgv.Rows(i).Cells("月").Value.ToString, CLng(沖帳工資_dgv.Rows(i).Cells("總金額").Value.ToString) / 1000000)
  244. Chart1.Series("實際工資").Points.AddXY(實際工資_dgv.Rows(i).Cells("月").Value.ToString, CLng(實際工資_dgv.Rows(i).Cells("總金額").Value.ToString) / 1000000)
  245. Chart1.Series("沖帳工資").Points.AddXY(沖帳工資_dgv.Rows(i).Cells("月").Value.ToString, CLng(沖帳工資_dgv.Rows(i).Cells("總金額").Value.ToString) / 1000000)
  246. Next
  247. Chart2.ChartAreas.Clear() : Chart2.ChartAreas.Add(0) : Chart2.Series.Clear()
  248. Chart2.ChartAreas(0).AxisX.Minimum = 0
  249. Chart2.ChartAreas(0).AxisX.CustomLabels.Clear() ' 清除现有的自定义标签
  250. For i As Integer = 0 To 12 ' 添加自定义标签
  251. Dim label As New CustomLabel(i - 0.5, i + 0.5, i.ToString("D2"), 0, LabelMarkStyle.None)
  252. Chart2.ChartAreas(0).AxisX.CustomLabels.Add(label)
  253. Next
  254. Chart2.ChartAreas(0).AxisY.LabelStyle.Font = New Font("Arial", 8) : Chart2.ChartAreas(0).AxisY.LabelStyle.Format = "#,##0" & " M"
  255. Chart2.Series.Add("實際採購") : Chart2.Series("實際採購").ChartType = SeriesChartType.Line
  256. Chart2.Series.Add("沖帳採購") : Chart2.Series("沖帳採購").ChartType = SeriesChartType.Line
  257. Chart2.Series.Add("實際採購.") : Chart2.Series("實際採購.").ChartType = SeriesChartType.Column
  258. Chart2.Series.Add("沖帳採購.") : Chart2.Series("沖帳採購.").ChartType = SeriesChartType.Column
  259. For i As Integer = 0 To 實際採購_dgv.Rows.Count - 1
  260. Chart2.Series("實際採購.").Points.AddXY(實際採購_dgv.Rows(i).Cells("月").Value.ToString, CLng(實際採購_dgv.Rows(i).Cells("總金額").Value.ToString) / 1000000)
  261. Chart2.Series("沖帳採購.").Points.AddXY(沖帳採購_dgv.Rows(i).Cells("月").Value.ToString, CLng(沖帳採購_dgv.Rows(i).Cells("總金額").Value.ToString) / 1000000)
  262. Chart2.Series("實際採購").Points.AddXY(實際採購_dgv.Rows(i).Cells("月").Value.ToString, CLng(實際採購_dgv.Rows(i).Cells("總金額").Value.ToString) / 1000000)
  263. Chart2.Series("沖帳採購").Points.AddXY(沖帳採購_dgv.Rows(i).Cells("月").Value.ToString, CLng(沖帳採購_dgv.Rows(i).Cells("總金額").Value.ToString) / 1000000)
  264. Next
  265. End Sub
  266. Private Sub 重新讀取_bt_Click(sender As Object, e As EventArgs) Handles 重新讀取_bt.Click
  267. PA25 = 年份2_cb.Text : Set_實際人工() : Set_虛擬人工() : Set_計算()
  268. End Sub
  269. Private Sub 年份2_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 年份2_cb.SelectedIndexChanged
  270. CB選擇清單(年份2_cb, 年份2_cb.Text) : 重新讀取_bt.PerformClick()
  271. End Sub
  272. End Class