123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387 |
- Imports System.Windows.Forms.DataVisualization.Charting
- Public Class 財務_彙總表_GCM
- ReadOnly ds, ds1, ds2, ds3, ds4, ds5, ds6, ds7, ds8, ds9, ds10 As New DataSet
- Dim 列高 As Integer
- '-----------------------------第一區-----------------------------------------------------------------------------------------------------------------------
- Private Sub Set_清單()
- 主表_dgv.DataSource = Nothing : ds.Clear() : 主表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 主表_dgv.ColumnHeadersHeight = 25 : 主表_dgv.AllowUserToAddRows = False : 主表_dgv.RowTemplate.Height = 列高
- ConnOpen()
- SQL1 = "SELECT 日期, 子項, 子細項, SUM(金額) AS 金額 FROM 財務彙總紀錄
- WHERE (主項 LIKE N'" & 主項_cb.Text & "') AND 日期 LIKE N'%" & 年份_cb.Text & "%' GROUP BY 日期, 子項, 子細項 ORDER BY 日期, 子項, 子細項"
- CmdSet_For_DGV() : da.Fill(ds) : 主表_dgv.DataSource = ds.Tables(0) : conn.Close()
-
- 主表_dgv.Columns(0).FillWeight = 70 : 主表_dgv.Columns(1).FillWeight = 100 : 主表_dgv.Columns(2).FillWeight = 120 : 主表_dgv.Columns(3).FillWeight = 80
- 主表_dgv.Columns(3).DefaultCellStyle.Format = "#,##0"
- 主表_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- Set_清單2() : Set_清單1()
- For i As Integer = 0 To 主表1_dgv.Rows.Count - 1
- 主表1_dgv.Rows(i).Cells("比例.").Value = Strings.Format(CInt(主表1_dgv.Rows(i).Cells("金額").Value.ToString) / CInt(加總_tb.Text) * 100, "#,##0.00") & " %"
- Next
- End Sub
- Private Sub Set_清單1()
- 主表1_dgv.DataSource = Nothing : ds1.Clear() : 主表1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 主表1_dgv.ColumnHeadersHeight = 25 : 主表1_dgv.AllowUserToAddRows = False : 主表1_dgv.RowTemplate.Height = 列高
- ConnOpen()
- SQL1 = "SELECT TOP(15) 子細項, SUM(金額) AS 金額, ABS(SUM(金額)) AS 比例, 子細項 AS [比例.] FROM 財務彙總紀錄
- WHERE (主項 LIKE N'" & 主項_cb.Text & "') AND 子細項 NOT LIKE N'%借款%' AND 子細項 NOT LIKE N'%還款%' AND 日期 LIKE N'%" & 年份_cb.Text & "%'
- GROUP BY 子細項 ORDER BY 金額"
- CmdSet_For_DGV() : da.Fill(ds1) : 主表1_dgv.DataSource = ds1.Tables(0) : conn.Close()
-
- 主表1_dgv.Columns(1).FillWeight = 130 : 主表1_dgv.Columns(1).FillWeight = 80 : 主表1_dgv.Columns(3).FillWeight = 60 : 主表1_dgv.Columns(2).Visible = False
- 主表1_dgv.Columns(1).DefaultCellStyle.Format = "#,##0"
- 主表1_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- 主表1_dgv.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- 主表1_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- 主表1_dgv.Sort(主表1_dgv.Columns("比例"), System.ComponentModel.ListSortDirection.Descending)
- End Sub
- Private Sub Set_清單2()
- 主表2_dgv.DataSource = Nothing : ds2.Clear() : 主表2_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 主表2_dgv.ColumnHeadersHeight = 25 : 主表2_dgv.AllowUserToAddRows = False : 主表2_dgv.RowTemplate.Height = 列高
- ConnOpen()
- SQL1 = "SELECT 日期, SUM(金額) AS 金額 FROM 財務彙總紀錄
- WHERE (主項 LIKE N'" & 主項_cb.Text & "') AND 日期 LIKE N'%" & 年份_cb.Text & "%' GROUP BY 日期 ORDER BY 日期"
- CmdSet_For_DGV() : da.Fill(ds2) : 主表2_dgv.DataSource = ds2.Tables(0) : conn.Close()
-
- 主表2_dgv.Columns(0).FillWeight = 70
- 主表2_dgv.Columns(1).DefaultCellStyle.Format = "#,##0"
- 主表2_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
-
- 加總_tb.Text = "0" : 隱加總_tb.Text = "0"
- For I As Integer = 0 To 主表2_dgv.Rows.Count - 1
- 加總_tb.Text = Val(加總_tb.Text) + 主表2_dgv.Rows(I).Cells("金額").Value
- 隱加總_tb.Text = Val(隱加總_tb.Text) + 主表2_dgv.Rows(I).Cells("金額").Value
- Next
-
- 加總_tb.Text = Format(Val(加總_tb.Text), "#,##0")
-
- For I As Integer = 0 To 主表2_dgv.Rows.Count - 1
- If 主項_cb.Text = "歲出合計" Then
- 主表2_dgv.Rows(I).Cells("金額").Value = 主表2_dgv.Rows(I).Cells("金額").Value * -1
- End If
- Next
- End Sub
- '-----------------------------第二區-----------------------------------------------------------------------------------------------------------------------
- Private Sub Set_清單3()
- 主表3_dgv.DataSource = Nothing : ds3.Clear() : 主表3_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 主表3_dgv.ColumnHeadersHeight = 25 : 主表3_dgv.AllowUserToAddRows = False : 主表3_dgv.RowTemplate.Height = 列高
- ConnOpen()
- SQL1 = "SELECT 日期, 子項, 子細項, SUM(金額) AS 金額 FROM 財務彙總紀錄
- WHERE (主項 LIKE N'" & 主項1_cb.Text & "') AND 日期 LIKE N'%" & 年份_cb.Text & "%' GROUP BY 日期, 子項, 子細項 ORDER BY 日期, 子項, 子細項"
- CmdSet_For_DGV() : da.Fill(ds3) : 主表3_dgv.DataSource = ds3.Tables(0) : conn.Close()
-
- 主表3_dgv.Columns(0).FillWeight = 70 : 主表3_dgv.Columns(1).FillWeight = 100 : 主表3_dgv.Columns(2).FillWeight = 120 : 主表3_dgv.Columns(3).FillWeight = 80
- 主表3_dgv.Columns(3).DefaultCellStyle.Format = "#,##0"
- 主表3_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- Set_清單5() : Set_清單4()
- For i As Integer = 0 To 主表4_dgv.Rows.Count - 1
- 主表4_dgv.Rows(i).Cells("比例.").Value = Strings.Format(CInt(主表4_dgv.Rows(i).Cells("金額").Value.ToString) / CInt(加總1_tb.Text) * 100, "#,##0.00") & " %"
- Next
- End Sub
- Private Sub Set_清單4()
- 主表4_dgv.DataSource = Nothing : ds4.Clear() : 主表4_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 主表4_dgv.ColumnHeadersHeight = 25 : 主表4_dgv.AllowUserToAddRows = False : 主表4_dgv.RowTemplate.Height = 列高
- ConnOpen()
- SQL1 = "SELECT TOP(15) 子細項, SUM(金額) AS 金額, ABS(SUM(金額)) AS 比例, 子細項 AS [比例.] FROM 財務彙總紀錄
- WHERE (主項 LIKE N'" & 主項1_cb.Text & "') AND 子細項 NOT LIKE N'%借款%' AND 子細項 NOT LIKE N'%還款%' AND 日期 LIKE N'%" & 年份_cb.Text & "%'
- GROUP BY 子細項 ORDER BY 金額"
- CmdSet_For_DGV() : da.Fill(ds4) : 主表4_dgv.DataSource = ds4.Tables(0) : conn.Close()
-
- 主表4_dgv.Columns(1).FillWeight = 130 : 主表4_dgv.Columns(1).FillWeight = 80 : 主表4_dgv.Columns(2).Visible = False
- 主表4_dgv.Columns(1).DefaultCellStyle.Format = "#,##0" : 主表4_dgv.Columns(2).DefaultCellStyle.Format = "#,##0"
- 主表4_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- 主表4_dgv.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- 主表4_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- 主表4_dgv.Sort(主表4_dgv.Columns("比例"), System.ComponentModel.ListSortDirection.Descending)
- End Sub
- Private Sub Set_清單5()
- 主表5_dgv.DataSource = Nothing : ds5.Clear() : 主表5_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 主表5_dgv.ColumnHeadersHeight = 25 : 主表5_dgv.AllowUserToAddRows = False : 主表5_dgv.RowTemplate.Height = 列高
- ConnOpen()
- SQL1 = "SELECT 日期, SUM(金額) AS 金額 FROM 財務彙總紀錄
- WHERE (主項 LIKE N'" & 主項1_cb.Text & "') AND 日期 LIKE N'%" & 年份_cb.Text & "%' GROUP BY 日期 ORDER BY 日期"
- CmdSet_For_DGV() : da.Fill(ds5) : 主表5_dgv.DataSource = ds5.Tables(0) : conn.Close()
-
- 主表5_dgv.Columns(0).FillWeight = 70
- 主表5_dgv.Columns(1).DefaultCellStyle.Format = "#,##0"
- 主表5_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
-
- 加總1_tb.Text = "0" : 隱加總1_tb.Text = "0"
- For I As Integer = 0 To 主表5_dgv.Rows.Count - 1
- 加總1_tb.Text = Val(加總1_tb.Text) + 主表5_dgv.Rows(I).Cells("金額").Value
- 隱加總1_tb.Text = Val(隱加總1_tb.Text) + 主表5_dgv.Rows(I).Cells("金額").Value
- Next
-
- 加總1_tb.Text = Format(Val(加總1_tb.Text), "#,##0")
-
- For I As Integer = 0 To 主表5_dgv.Rows.Count - 1
- If 主項1_cb.Text = "歲出合計" Then
- 主表5_dgv.Rows(I).Cells("金額").Value = 主表5_dgv.Rows(I).Cells("金額").Value * -1
- End If
- Next
- End Sub
- '-----------------------------第三區-----------------------------------------------------------------------------------------------------------------------
- Private Sub Set_清單6()
- 主表6_dgv.DataSource = Nothing : ds6.Clear() : 主表6_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 主表6_dgv.ColumnHeadersHeight = 25 : 主表6_dgv.AllowUserToAddRows = False : 主表6_dgv.RowTemplate.Height = 列高
- ConnOpen()
- SQL1 = "SELECT 日期, 子項, 子細項, SUM(金額) AS 金額 FROM 財務彙總紀錄
- WHERE (主項 LIKE N'" & 主項2_cb.Text & "') AND 日期 LIKE N'%" & 年份_cb.Text & "%' GROUP BY 日期, 子項, 子細項 ORDER BY 日期, 子項, 子細項"
- CmdSet_For_DGV() : da.Fill(ds6) : 主表6_dgv.DataSource = ds6.Tables(0) : conn.Close()
-
- 主表6_dgv.Columns(0).FillWeight = 70 : 主表6_dgv.Columns(1).FillWeight = 100 : 主表6_dgv.Columns(2).FillWeight = 120 : 主表6_dgv.Columns(3).FillWeight = 80
- 主表6_dgv.Columns(3).DefaultCellStyle.Format = "#,##0"
- 主表6_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- Set_清單8() : Set_清單7()
- For i As Integer = 0 To 主表7_dgv.Rows.Count - 1
- 主表7_dgv.Rows(i).Cells("比例.").Value = Strings.Format(CInt(主表7_dgv.Rows(i).Cells("金額").Value.ToString) / CInt(加總2_tb.Text) * 100, "#,##0.00") & " %"
- Next
- End Sub
- Private Sub Set_清單7()
- 主表7_dgv.DataSource = Nothing : ds7.Clear() : 主表7_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 主表7_dgv.ColumnHeadersHeight = 25 : 主表7_dgv.AllowUserToAddRows = False : 主表7_dgv.RowTemplate.Height = 列高
- ConnOpen()
- SQL1 = "SELECT TOP(15) 子細項, SUM(金額) AS 金額, ABS(SUM(金額)) AS 比例, 子細項 AS [比例.] FROM 財務彙總紀錄
- WHERE (主項 LIKE N'" & 主項2_cb.Text & "') AND 子細項 NOT LIKE N'%借款%' AND 子細項 NOT LIKE N'%還款%' AND 日期 LIKE N'%" & 年份_cb.Text & "%'
- GROUP BY 子細項 ORDER BY 金額"
- CmdSet_For_DGV() : da.Fill(ds7) : 主表7_dgv.DataSource = ds7.Tables(0) : conn.Close()
-
- 主表7_dgv.Columns(1).FillWeight = 130 : 主表7_dgv.Columns(1).FillWeight = 80 : 主表7_dgv.Columns(2).Visible = False
- 主表7_dgv.Columns(1).DefaultCellStyle.Format = "#,##0" : 主表7_dgv.Columns(2).DefaultCellStyle.Format = "#,##0"
- 主表7_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- 主表7_dgv.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- 主表7_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- 主表7_dgv.Sort(主表7_dgv.Columns("比例"), System.ComponentModel.ListSortDirection.Descending)
- End Sub
- Private Sub Set_清單8()
- 主表8_dgv.DataSource = Nothing : ds8.Clear() : 主表8_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 主表8_dgv.ColumnHeadersHeight = 25 : 主表8_dgv.AllowUserToAddRows = False : 主表8_dgv.RowTemplate.Height = 列高
- ConnOpen()
- SQL1 = "SELECT 日期, SUM(金額) AS 金額 FROM 財務彙總紀錄
- WHERE (主項 LIKE N'" & 主項2_cb.Text & "') AND 日期 LIKE N'%" & 年份_cb.Text & "%' GROUP BY 日期 ORDER BY 日期"
- CmdSet_For_DGV() : da.Fill(ds8) : 主表8_dgv.DataSource = ds8.Tables(0) : conn.Close()
-
- 主表8_dgv.Columns(0).FillWeight = 70
- 主表8_dgv.Columns(1).DefaultCellStyle.Format = "#,##0"
- 主表8_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
-
- 加總2_tb.Text = "0" : 隱加總2_tb.Text = "0"
- For I As Integer = 0 To 主表8_dgv.Rows.Count - 1
- 加總2_tb.Text = Val(加總2_tb.Text) + 主表8_dgv.Rows(I).Cells("金額").Value
- 隱加總2_tb.Text = Val(隱加總2_tb.Text) + 主表8_dgv.Rows(I).Cells("金額").Value
- Next
-
- 加總2_tb.Text = Format(Val(加總2_tb.Text), "#,##0")
-
- For I As Integer = 0 To 主表8_dgv.Rows.Count - 1
- If 主項2_cb.Text = "歲出合計" Then
- 主表8_dgv.Rows(I).Cells("金額").Value = 主表8_dgv.Rows(I).Cells("金額").Value * -1
- End If
- Next
- End Sub
- Private Sub Set_清單9()
- 主表9_dgv.DataSource = Nothing : ds9.Clear() : 主表9_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 主表9_dgv.ColumnHeadersHeight = 25 : 主表9_dgv.AllowUserToAddRows = False : 主表9_dgv.RowTemplate.Height = 列高
- ConnOpen()
- SQL1 = "SELECT 日期, 日期 AS 金額1, 日期 AS 金額2, 日期 AS 金額3 FROM 財務彙總紀錄 WHERE 日期 LIKE N'%" & 年份_cb.Text & "%' GROUP BY 日期 ORDER BY 日期"
- CmdSet_For_DGV() : da.Fill(ds9) : 主表9_dgv.DataSource = ds9.Tables(0) : conn.Close()
-
- For I As Integer = 0 To 主表9_dgv.Rows.Count - 1
- 主表9_dgv.Rows(I).Cells("金額1").Value = "0" : 主表9_dgv.Rows(I).Cells("金額2").Value = "0" : 主表9_dgv.Rows(I).Cells("金額3").Value = "0"
- Next
- For I As Integer = 0 To 主表9_dgv.Rows.Count - 1
- For II As Integer = 0 To 主表2_dgv.Rows.Count - 1
- If 主表9_dgv.Rows(I).Cells("日期").Value = 主表2_dgv.Rows(II).Cells("日期").Value Then
- 主表9_dgv.Rows(I).Cells("金額1").Value = 主表2_dgv.Rows(II).Cells("金額").Value
- End If
- Next
- For II As Integer = 0 To 主表5_dgv.Rows.Count - 1
- If 主表9_dgv.Rows(I).Cells("日期").Value = 主表5_dgv.Rows(II).Cells("日期").Value Then
- 主表9_dgv.Rows(I).Cells("金額2").Value = 主表5_dgv.Rows(II).Cells("金額").Value
- End If
- Next
- For II As Integer = 0 To 主表8_dgv.Rows.Count - 1
- If 主表9_dgv.Rows(I).Cells("日期").Value = 主表8_dgv.Rows(II).Cells("日期").Value Then
- 主表9_dgv.Rows(I).Cells("金額3").Value = 主表8_dgv.Rows(II).Cells("金額").Value
- End If
- Next
- Next : Set_清單10()
- End Sub
- Private Sub Set_清單10()
- 主表10_dgv.DataSource = Nothing : ds10.Clear() : 主表10_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 主表10_dgv.ColumnHeadersHeight = 25 : 主表10_dgv.AllowUserToAddRows = False : 主表10_dgv.RowTemplate.Height = 列高
- ConnOpen()
- SQL1 = "SELECT 財務彙總紀錄.日期, AA.餘額
- FROM 財務彙總紀錄 LEFT OUTER JOIN
- (SELECT LEFT(日期, 7) AS 日期, SUM(收入 * 匯率) AS 餘額
- FROM 財務流水帳
- WHERE (類別 LIKE 'D%') AND (日期 LIKE N'%" & 年份_cb.Text & "%')
- GROUP BY LEFT(日期, 7)) AS AA ON LEFT(財務彙總紀錄.日期, 7) = AA.日期
- WHERE (財務彙總紀錄.日期 LIKE N'%" & 年份_cb.Text & "%')
- GROUP BY 財務彙總紀錄.日期, AA.餘額
- ORDER BY 財務彙總紀錄.日期"
- CmdSet_For_DGV() : da.Fill(ds10) : 主表10_dgv.DataSource = ds10.Tables(0) : conn.Close()
- For i As Integer = 0 To 主表10_dgv.Rows.Count - 1
- If IsDBNull(主表10_dgv.Rows(i).Cells("餘額").Value) Then
- 主表10_dgv.Rows(i).Cells("餘額").Value = "0"
- End If
- If i > 0 Then
- If 主表10_dgv.Rows(i).Cells("餘額").Value = 0 And 主表10_dgv.Rows(i - 1).Cells("餘額").Value > 0 Then
- 主表10_dgv.Rows(i).Cells("餘額").Value = 主表10_dgv.Rows(i - 1).Cells("餘額").Value
- End If
- End If
- Next
- End Sub
- Private Sub 彙總()
- 加總3_tb.Text = Val(隱加總_tb.Text) + Val(隱加總1_tb.Text) + Val(隱加總2_tb.Text)
- If 主項_cb.Text = "資本" Then : 加總4_tb.Text = Val(隱加總1_tb.Text) + Val(隱加總2_tb.Text)
- ElseIf 主項1_cb.Text = "資本" Then : 加總4_tb.Text = Val(隱加總_tb.Text) + Val(隱加總2_tb.Text)
- ElseIf 主項2_cb.Text = "資本" Then : 加總4_tb.Text = Val(隱加總_tb.Text) + Val(隱加總1_tb.Text)
- End If
-
- 加總4_tb.Text = Format(Val(加總4_tb.Text), "#,##0") : 加總3_tb.Text = Format(Val(加總3_tb.Text), "#,##0")
- Set_清單9()
-
- Chart1.Series.Clear() : Chart1.ChartAreas(0).AxisX.Minimum = 0
- Chart1.ChartAreas(0).AxisY.LabelStyle.Font = New Font("Arial", 8) : Chart1.ChartAreas(0).AxisY.LabelStyle.Format = "#,##0"
-
- If 主項2_cb.Text <> "" Then
- Chart1.Series.Add(主項2_cb.Text)
- If 主項2_cb.Text = "資本" Then : Chart1.Series(主項2_cb.Text).ChartType = SeriesChartType.Line
- Else : Chart1.Series(主項2_cb.Text).ChartType = SeriesChartType.Column : End If
- For i As Integer = 0 To 主表9_dgv.Rows.Count - 1
- Chart1.Series(主項2_cb.Text).Points.AddXY(主表9_dgv.Rows(i).Cells("日期").Value.ToString, 主表9_dgv.Rows(i).Cells("金額3").Value.ToString)
- Next
-
- Chart4.Series.Clear()
- Chart4.Series.Add(主項2_cb.Text) : Chart4.Series(主項2_cb.Text).ChartType = SeriesChartType.Pie
- Chart4.Series(主項2_cb.Text).IsValueShownAsLabel = True
- Chart4.Series(主項2_cb.Text).IsVisibleInLegend = True
- Chart4.Series(主項2_cb.Text).IsXValueIndexed = True
- For i As Integer = 0 To 主表7_dgv.Rows.Count - 1
- Chart4.Series(主項2_cb.Text).Points.AddXY(主表7_dgv.Rows(i).Cells("子細項").Value.ToString, 主表7_dgv.Rows(i).Cells("比例.").Value.ToString.Replace(" ", "").Replace("%", ""))
- Next
- End If
-
- If 主項1_cb.Text <> "" Then
- Chart1.Series.Add(主項1_cb.Text)
- If 主項1_cb.Text = "資本" Then : Chart1.Series(主項1_cb.Text).ChartType = SeriesChartType.Line
- Else : Chart1.Series(主項1_cb.Text).ChartType = SeriesChartType.Column : End If
- For i As Integer = 0 To 主表9_dgv.Rows.Count - 1
- Chart1.Series(主項1_cb.Text).Points.AddXY(主表9_dgv.Rows(i).Cells("日期").Value.ToString, 主表9_dgv.Rows(i).Cells("金額2").Value.ToString)
- Next
-
- Chart2.Series.Clear()
- Chart2.Series.Add(主項1_cb.Text) : Chart2.Series(主項1_cb.Text).ChartType = SeriesChartType.Pie
- Chart2.Series(主項1_cb.Text).IsValueShownAsLabel = True
- Chart2.Series(主項1_cb.Text).IsVisibleInLegend = True
- Chart2.Series(主項1_cb.Text).IsXValueIndexed = True
- For i As Integer = 0 To 主表4_dgv.Rows.Count - 1
- Chart2.Series(主項1_cb.Text).Points.AddXY(主表4_dgv.Rows(i).Cells("子細項").Value.ToString, 主表4_dgv.Rows(i).Cells("比例.").Value.ToString.Replace(" ", "").Replace("%", ""))
- Next
- End If
-
- If 主項_cb.Text <> "" Then
- Chart1.Series.Add(主項_cb.Text)
- If 主項_cb.Text = "資本" Then : Chart1.Series(主項_cb.Text).ChartType = SeriesChartType.Line
- Else : Chart1.Series(主項_cb.Text).ChartType = SeriesChartType.Column : End If
- For i As Integer = 0 To 主表9_dgv.Rows.Count - 1
- Chart1.Series(主項_cb.Text).Points.AddXY(主表9_dgv.Rows(i).Cells("日期").Value.ToString, 主表9_dgv.Rows(i).Cells("金額1").Value.ToString)
- Next
-
- Chart3.Series.Clear()
- Chart3.Series.Add(主項_cb.Text) : Chart3.Series(主項_cb.Text).ChartType = SeriesChartType.Pie
- Chart3.Series(主項_cb.Text).IsValueShownAsLabel = True
- Chart3.Series(主項_cb.Text).IsVisibleInLegend = True
- Chart3.Series(主項_cb.Text).IsXValueIndexed = True
- For i As Integer = 0 To 主表1_dgv.Rows.Count - 1
- Chart3.Series(主項_cb.Text).Points.AddXY(主表1_dgv.Rows(i).Cells("子細項").Value.ToString, 主表1_dgv.Rows(i).Cells("比例.").Value.ToString.Replace(" ", "").Replace("%", ""))
- Next
- End If
-
- Chart1.Series.Add("資金餘額")
- Chart1.Series("資金餘額").ChartType = SeriesChartType.Line
- For i As Integer = 0 To 主表10_dgv.Rows.Count - 1
- Chart1.Series("資金餘額").Points.AddXY(主表10_dgv.Rows(i).Cells("日期").Value.ToString, 主表10_dgv.Rows(i).Cells("餘額").Value.ToString)
- Next
- End Sub
- Private Sub 主項下拉()
- ConnOpen() : SQL1 = "SELECT 主項 FROM 財務彙總紀錄 WHERE 主項 NOT LIKE N'上月結存' GROUP BY 主項 ORDER BY 主項 DESC" : CmdSet_For_dr()
- 主項_cb.Items.Clear() : 主項1_cb.Items.Clear() : 主項2_cb.Items.Clear()
- While (dr.Read()) : 主項_cb.Items.Add(dr("主項")) : 主項1_cb.Items.Add(dr("主項")) : 主項2_cb.Items.Add(dr("主項")) : End While : conn.Close()
- End Sub
- Private Sub ComboBox1下拉表單資料載入()
- ConnOpen() : SQL1 = "SELECT 年份 FROM 年份清單 ORDER BY 年份 DESC" : CmdSet_For_dr()
- 年份_cb.Items.Clear() : 年份_cb.Items.Add("") : While (dr.Read()) : 年份_cb.Items.Add(dr("年份")) : End While : conn.Close()
- End Sub
- Private Sub 財務_彙總表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Me.MdiParent = GCM_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
- GCM_ERP_SYS.WindowState = 2 : 列高 = 19
- ComboBox1下拉表單資料載入() : 主項下拉() : 主項_cb.SelectedIndex = 0 : 主項1_cb.SelectedIndex = 1 : 主項2_cb.SelectedIndex = 2
- 主表_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) : 主表1_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
- 主表2_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) : 主表3_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
- 主表4_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) : 主表5_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
- 主表6_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) : 主表7_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
- 主表8_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
- End Sub
- Private Sub 財務_彙總表_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed
- GCM_ERP_SYS.WindowState = 0
- End Sub
- Private Sub 主表_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 主表_dgv.RowPostPaint
- Dim linePen As New Pen(Color.Blue, 2) : Dim linePen1 As New Pen(Color.Red, 2)
- If e.RowIndex = 主表_dgv.Rows.Count - 1 Then : Exit Sub : Else
- If 主表_dgv(0, e.RowIndex).Value.ToString <> 主表_dgv(0, e.RowIndex + 1).Value.ToString Then
- Dim startX As Integer = IIf(主表_dgv.RowHeadersVisible, 主表_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
- Dim endX As Integer = startX + 主表_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 主表_dgv.HorizontalScrollingOffset
- e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
- End If
- If 主表_dgv(1, e.RowIndex).Value.ToString <> 主表_dgv(1, e.RowIndex + 1).Value.ToString Then
- Dim startX As Integer = IIf(主表_dgv.RowHeadersVisible, 主表_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
- Dim endX As Integer = startX + 主表_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 主表_dgv.HorizontalScrollingOffset
- e.Graphics.DrawLine(linePen1, startX, startY, endX, startY) : Exit Sub
- End If
- End If
- End Sub
- Private Sub 主表3_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 主表3_dgv.RowPostPaint
- Dim linePen As New Pen(Color.Blue, 2) : Dim linePen1 As New Pen(Color.Red, 2)
- If e.RowIndex = 主表3_dgv.Rows.Count - 1 Then : Exit Sub : Else
- If 主表3_dgv(0, e.RowIndex).Value.ToString <> 主表3_dgv(0, e.RowIndex + 1).Value.ToString Then
- Dim startX As Integer = IIf(主表3_dgv.RowHeadersVisible, 主表3_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
- Dim endX As Integer = startX + 主表3_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 主表3_dgv.HorizontalScrollingOffset
- e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
- End If
- If 主表3_dgv(1, e.RowIndex).Value.ToString <> 主表3_dgv(1, e.RowIndex + 1).Value.ToString Then
- Dim startX As Integer = IIf(主表3_dgv.RowHeadersVisible, 主表3_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
- Dim endX As Integer = startX + 主表3_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 主表3_dgv.HorizontalScrollingOffset
- e.Graphics.DrawLine(linePen1, startX, startY, endX, startY) : Exit Sub
- End If
- End If
- End Sub
- Private Sub 主表6_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 主表6_dgv.RowPostPaint
- Dim linePen As New Pen(Color.Blue, 2) : Dim linePen1 As New Pen(Color.Red, 2)
- If e.RowIndex = 主表6_dgv.Rows.Count - 1 Then : Exit Sub : Else
- If 主表6_dgv(0, e.RowIndex).Value.ToString <> 主表6_dgv(0, e.RowIndex + 1).Value.ToString Then
- Dim startX As Integer = IIf(主表6_dgv.RowHeadersVisible, 主表6_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
- Dim endX As Integer = startX + 主表6_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 主表6_dgv.HorizontalScrollingOffset
- e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
- End If
- If 主表6_dgv(1, e.RowIndex).Value.ToString <> 主表6_dgv(1, e.RowIndex + 1).Value.ToString Then
- Dim startX As Integer = IIf(主表6_dgv.RowHeadersVisible, 主表6_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
- Dim endX As Integer = startX + 主表6_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 主表6_dgv.HorizontalScrollingOffset
- e.Graphics.DrawLine(linePen1, startX, startY, endX, startY) : Exit Sub
- End If
- End If
- End Sub
- Private Sub 主項_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 主項_cb.SelectedIndexChanged
- Set_清單() : 彙總()
- End Sub
- Private Sub 主項1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 主項1_cb.SelectedIndexChanged
- Set_清單3() : 彙總()
- End Sub
- Private Sub 主項2_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 主項2_cb.SelectedIndexChanged
- Set_清單6() : 彙總()
- End Sub
- Private Sub 年份_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 年份_cb.SelectedIndexChanged
- Set_清單() : 彙總() : Set_清單3() : 彙總() : Set_清單6() : 彙總()
- End Sub
- End Class
|