Keine Beschreibung
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

財務_彙總表_GCM.vb 24KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339
  1. Imports System.Windows.Forms.DataVisualization.Charting
  2. Public Class 財務_彙總表_GCM
  3. ReadOnly ds, ds1, ds2, ds3, ds4, ds5, ds6, ds7, ds8, ds9 As New DataSet
  4. '-----------------------------第一區-----------------------------------------------------------------------------------------------------------------------
  5. Private Sub Set_清單()
  6. 主表_dgv.DataSource = Nothing : ds.Clear() : 主表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  7. 主表_dgv.ColumnHeadersHeight = 30 : 主表_dgv.AllowUserToAddRows = False
  8. ConnOpen()
  9. SQL1 = "SELECT 日期, 子項, 子細項, SUM(金額) AS 金額 FROM 財務彙總紀錄
  10. WHERE (主項 LIKE '" & 主項_cb.Text & "') AND 日期 LIKE '%" & 年份_cb.Text & "%' GROUP BY 日期, 子項, 子細項 ORDER BY 日期, 子項, 子細項"
  11. CmdSet_For_DGV() : da.Fill(ds) : 主表_dgv.DataSource = ds.Tables(0) : conn.Close()
  12. 主表_dgv.Columns(0).FillWeight = 70 : 主表_dgv.Columns(1).FillWeight = 100 : 主表_dgv.Columns(2).FillWeight = 120 : 主表_dgv.Columns(3).FillWeight = 80
  13. 主表_dgv.Columns(3).DefaultCellStyle.Format = "#,##0"
  14. 主表_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  15. Set_清單2() : Set_清單1()
  16. End Sub
  17. Private Sub Set_清單1()
  18. 主表1_dgv.DataSource = Nothing : ds1.Clear() : 主表1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  19. 主表1_dgv.ColumnHeadersHeight = 30 : 主表1_dgv.AllowUserToAddRows = False
  20. ConnOpen()
  21. SQL1 = "SELECT TOP(10) 子細項, SUM(金額) AS 金額, ABS(SUM(金額)) AS 比例 FROM 財務彙總紀錄
  22. WHERE (主項 LIKE '" & 主項_cb.Text & "') AND 子細項 NOT LIKE '%借款%' AND 子細項 NOT LIKE '%還款%' AND 日期 LIKE '%" & 年份_cb.Text & "%'
  23. GROUP BY 子細項 ORDER BY 金額"
  24. CmdSet_For_DGV() : da.Fill(ds1) : 主表1_dgv.DataSource = ds1.Tables(0) : conn.Close()
  25. 主表1_dgv.Columns(1).FillWeight = 130 : 主表1_dgv.Columns(1).FillWeight = 80 : 主表1_dgv.Columns(2).Visible = False
  26. 主表1_dgv.Columns(1).DefaultCellStyle.Format = "#,##0"
  27. 主表1_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  28. 主表1_dgv.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  29. 主表1_dgv.Sort(主表1_dgv.Columns("比例"), System.ComponentModel.ListSortDirection.Descending)
  30. End Sub
  31. Private Sub Set_清單2()
  32. 主表2_dgv.DataSource = Nothing : ds2.Clear() : 主表2_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  33. 主表2_dgv.ColumnHeadersHeight = 30 : 主表2_dgv.AllowUserToAddRows = False
  34. ConnOpen()
  35. SQL1 = "SELECT 日期, SUM(金額) AS 金額 FROM 財務彙總紀錄
  36. WHERE (主項 LIKE '" & 主項_cb.Text & "') AND 日期 LIKE '%" & 年份_cb.Text & "%' GROUP BY 日期 ORDER BY 日期"
  37. CmdSet_For_DGV() : da.Fill(ds2) : 主表2_dgv.DataSource = ds2.Tables(0) : conn.Close()
  38. 主表2_dgv.Columns(0).FillWeight = 70
  39. 主表2_dgv.Columns(1).DefaultCellStyle.Format = "#,##0"
  40. 主表2_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  41. 加總_tb.Text = "0" : 隱加總_tb.Text = "0"
  42. For I As Integer = 0 To 主表2_dgv.Rows.Count - 1
  43. 加總_tb.Text = Val(加總_tb.Text) + 主表2_dgv.Rows(I).Cells("金額").Value
  44. 隱加總_tb.Text = Val(隱加總_tb.Text) + 主表2_dgv.Rows(I).Cells("金額").Value
  45. Next
  46. 加總_tb.Text = Format(Val(加總_tb.Text), "#,##0")
  47. For I As Integer = 0 To 主表2_dgv.Rows.Count - 1
  48. If 主項_cb.Text = "歲出合計" Then
  49. 主表2_dgv.Rows(I).Cells("金額").Value = 主表2_dgv.Rows(I).Cells("金額").Value * -1
  50. End If
  51. Next
  52. End Sub
  53. '-----------------------------第二區-----------------------------------------------------------------------------------------------------------------------
  54. Private Sub Set_清單3()
  55. 主表3_dgv.DataSource = Nothing : ds3.Clear() : 主表3_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  56. 主表3_dgv.ColumnHeadersHeight = 30 : 主表3_dgv.AllowUserToAddRows = False
  57. ConnOpen()
  58. SQL1 = "SELECT 日期, 子項, 子細項, SUM(金額) AS 金額 FROM 財務彙總紀錄
  59. WHERE (主項 LIKE '" & 主項1_cb.Text & "') AND 日期 LIKE '%" & 年份_cb.Text & "%' GROUP BY 日期, 子項, 子細項 ORDER BY 日期, 子項, 子細項"
  60. CmdSet_For_DGV() : da.Fill(ds3) : 主表3_dgv.DataSource = ds3.Tables(0) : conn.Close()
  61. 主表3_dgv.Columns(0).FillWeight = 70 : 主表3_dgv.Columns(1).FillWeight = 100 : 主表3_dgv.Columns(2).FillWeight = 120 : 主表3_dgv.Columns(3).FillWeight = 80
  62. 主表3_dgv.Columns(3).DefaultCellStyle.Format = "#,##0"
  63. 主表3_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  64. Set_清單5() : Set_清單4()
  65. End Sub
  66. Private Sub Set_清單4()
  67. 主表4_dgv.DataSource = Nothing : ds4.Clear() : 主表4_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  68. 主表4_dgv.ColumnHeadersHeight = 30 : 主表4_dgv.AllowUserToAddRows = False
  69. ConnOpen()
  70. SQL1 = "SELECT TOP(10) 子細項, SUM(金額) AS 金額, ABS(SUM(金額)) AS 比例 FROM 財務彙總紀錄
  71. WHERE (主項 LIKE '" & 主項1_cb.Text & "') AND 子細項 NOT LIKE '%借款%' AND 子細項 NOT LIKE '%還款%' AND 日期 LIKE '%" & 年份_cb.Text & "%'
  72. GROUP BY 子細項 ORDER BY 金額"
  73. CmdSet_For_DGV() : da.Fill(ds4) : 主表4_dgv.DataSource = ds4.Tables(0) : conn.Close()
  74. 主表4_dgv.Columns(1).FillWeight = 130 : 主表4_dgv.Columns(1).FillWeight = 80 : 主表4_dgv.Columns(2).Visible = False
  75. 主表4_dgv.Columns(1).DefaultCellStyle.Format = "#,##0" : 主表4_dgv.Columns(2).DefaultCellStyle.Format = "#,##0"
  76. 主表4_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  77. 主表4_dgv.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  78. 主表4_dgv.Sort(主表4_dgv.Columns("比例"), System.ComponentModel.ListSortDirection.Descending)
  79. End Sub
  80. Private Sub Set_清單5()
  81. 主表5_dgv.DataSource = Nothing : ds5.Clear() : 主表5_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  82. 主表5_dgv.ColumnHeadersHeight = 30 : 主表5_dgv.AllowUserToAddRows = False
  83. ConnOpen()
  84. SQL1 = "SELECT 日期, SUM(金額) AS 金額 FROM 財務彙總紀錄
  85. WHERE (主項 LIKE '" & 主項1_cb.Text & "') AND 日期 LIKE '%" & 年份_cb.Text & "%' GROUP BY 日期 ORDER BY 日期"
  86. CmdSet_For_DGV() : da.Fill(ds5) : 主表5_dgv.DataSource = ds5.Tables(0) : conn.Close()
  87. 主表5_dgv.Columns(0).FillWeight = 70
  88. 主表5_dgv.Columns(1).DefaultCellStyle.Format = "#,##0"
  89. 主表5_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  90. 加總1_tb.Text = "0" : 隱加總1_tb.Text = "0"
  91. For I As Integer = 0 To 主表5_dgv.Rows.Count - 1
  92. 加總1_tb.Text = Val(加總1_tb.Text) + 主表5_dgv.Rows(I).Cells("金額").Value
  93. 隱加總1_tb.Text = Val(隱加總1_tb.Text) + 主表5_dgv.Rows(I).Cells("金額").Value
  94. Next
  95. 加總1_tb.Text = Format(Val(加總1_tb.Text), "#,##0")
  96. For I As Integer = 0 To 主表5_dgv.Rows.Count - 1
  97. If 主項1_cb.Text = "歲出合計" Then
  98. 主表5_dgv.Rows(I).Cells("金額").Value = 主表5_dgv.Rows(I).Cells("金額").Value * -1
  99. End If
  100. Next
  101. End Sub
  102. '-----------------------------第三區-----------------------------------------------------------------------------------------------------------------------
  103. Private Sub Set_清單6()
  104. 主表6_dgv.DataSource = Nothing : ds6.Clear() : 主表6_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  105. 主表6_dgv.ColumnHeadersHeight = 30 : 主表6_dgv.AllowUserToAddRows = False
  106. ConnOpen()
  107. SQL1 = "SELECT 日期, 子項, 子細項, SUM(金額) AS 金額 FROM 財務彙總紀錄
  108. WHERE (主項 LIKE '" & 主項2_cb.Text & "') AND 日期 LIKE '%" & 年份_cb.Text & "%' GROUP BY 日期, 子項, 子細項 ORDER BY 日期, 子項, 子細項"
  109. CmdSet_For_DGV() : da.Fill(ds6) : 主表6_dgv.DataSource = ds6.Tables(0) : conn.Close()
  110. 主表6_dgv.Columns(0).FillWeight = 70 : 主表6_dgv.Columns(1).FillWeight = 100 : 主表6_dgv.Columns(2).FillWeight = 120 : 主表6_dgv.Columns(3).FillWeight = 80
  111. 主表6_dgv.Columns(3).DefaultCellStyle.Format = "#,##0"
  112. 主表6_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  113. Set_清單8() : Set_清單7()
  114. End Sub
  115. Private Sub Set_清單7()
  116. 主表7_dgv.DataSource = Nothing : ds7.Clear() : 主表7_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  117. 主表7_dgv.ColumnHeadersHeight = 30 : 主表7_dgv.AllowUserToAddRows = False
  118. ConnOpen()
  119. SQL1 = "SELECT TOP(10) 子細項, SUM(金額) AS 金額, ABS(SUM(金額)) AS 比例 FROM 財務彙總紀錄
  120. WHERE (主項 LIKE '" & 主項2_cb.Text & "') AND 子細項 NOT LIKE '%借款%' AND 子細項 NOT LIKE '%還款%' AND 日期 LIKE '%" & 年份_cb.Text & "%'
  121. GROUP BY 子細項 ORDER BY 金額"
  122. CmdSet_For_DGV() : da.Fill(ds7) : 主表7_dgv.DataSource = ds7.Tables(0) : conn.Close()
  123. 主表7_dgv.Columns(1).FillWeight = 130 : 主表7_dgv.Columns(1).FillWeight = 80 : 主表7_dgv.Columns(2).Visible = False
  124. 主表7_dgv.Columns(1).DefaultCellStyle.Format = "#,##0" : 主表7_dgv.Columns(2).DefaultCellStyle.Format = "#,##0"
  125. 主表7_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  126. 主表7_dgv.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  127. 主表7_dgv.Sort(主表7_dgv.Columns("比例"), System.ComponentModel.ListSortDirection.Descending)
  128. End Sub
  129. Private Sub Set_清單8()
  130. 主表8_dgv.DataSource = Nothing : ds8.Clear() : 主表8_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  131. 主表8_dgv.ColumnHeadersHeight = 30 : 主表8_dgv.AllowUserToAddRows = False
  132. ConnOpen()
  133. SQL1 = "SELECT 日期, SUM(金額) AS 金額 FROM 財務彙總紀錄
  134. WHERE (主項 LIKE '" & 主項2_cb.Text & "') AND 日期 LIKE '%" & 年份_cb.Text & "%' GROUP BY 日期 ORDER BY 日期"
  135. CmdSet_For_DGV() : da.Fill(ds8) : 主表8_dgv.DataSource = ds8.Tables(0) : conn.Close()
  136. 主表8_dgv.Columns(0).FillWeight = 70
  137. 主表8_dgv.Columns(1).DefaultCellStyle.Format = "#,##0"
  138. 主表8_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  139. 加總2_tb.Text = "0" : 隱加總2_tb.Text = "0"
  140. For I As Integer = 0 To 主表8_dgv.Rows.Count - 1
  141. 加總2_tb.Text = Val(加總2_tb.Text) + 主表8_dgv.Rows(I).Cells("金額").Value
  142. 隱加總2_tb.Text = Val(隱加總2_tb.Text) + 主表8_dgv.Rows(I).Cells("金額").Value
  143. Next
  144. 加總2_tb.Text = Format(Val(加總2_tb.Text), "#,##0")
  145. For I As Integer = 0 To 主表8_dgv.Rows.Count - 1
  146. If 主項2_cb.Text = "歲出合計" Then
  147. 主表8_dgv.Rows(I).Cells("金額").Value = 主表8_dgv.Rows(I).Cells("金額").Value * -1
  148. End If
  149. Next
  150. End Sub
  151. Private Sub Set_清單9()
  152. 主表9_dgv.DataSource = Nothing : ds9.Clear() : 主表9_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  153. 主表9_dgv.ColumnHeadersHeight = 30 : 主表9_dgv.AllowUserToAddRows = False
  154. ConnOpen()
  155. SQL1 = "SELECT 日期, 日期 AS 金額1, 日期 AS 金額2, 日期 AS 金額3 FROM 財務彙總紀錄 WHERE 日期 LIKE '%" & 年份_cb.Text & "%' GROUP BY 日期 ORDER BY 日期"
  156. CmdSet_For_DGV() : da.Fill(ds9) : 主表9_dgv.DataSource = ds9.Tables(0) : conn.Close()
  157. For I As Integer = 0 To 主表9_dgv.Rows.Count - 1
  158. 主表9_dgv.Rows(I).Cells("金額1").Value = "0" : 主表9_dgv.Rows(I).Cells("金額2").Value = "0" : 主表9_dgv.Rows(I).Cells("金額3").Value = "0"
  159. Next
  160. For I As Integer = 0 To 主表9_dgv.Rows.Count - 1
  161. For II As Integer = 0 To 主表2_dgv.Rows.Count - 1
  162. If 主表9_dgv.Rows(I).Cells("日期").Value = 主表2_dgv.Rows(II).Cells("日期").Value Then
  163. 主表9_dgv.Rows(I).Cells("金額1").Value = 主表2_dgv.Rows(II).Cells("金額").Value
  164. End If
  165. Next
  166. For II As Integer = 0 To 主表5_dgv.Rows.Count - 1
  167. If 主表9_dgv.Rows(I).Cells("日期").Value = 主表5_dgv.Rows(II).Cells("日期").Value Then
  168. 主表9_dgv.Rows(I).Cells("金額2").Value = 主表5_dgv.Rows(II).Cells("金額").Value
  169. End If
  170. Next
  171. For II As Integer = 0 To 主表8_dgv.Rows.Count - 1
  172. If 主表9_dgv.Rows(I).Cells("日期").Value = 主表8_dgv.Rows(II).Cells("日期").Value Then
  173. 主表9_dgv.Rows(I).Cells("金額3").Value = 主表8_dgv.Rows(II).Cells("金額").Value
  174. End If
  175. Next
  176. Next
  177. End Sub
  178. Private Sub 彙總()
  179. 加總3_tb.Text = Val(隱加總_tb.Text) + Val(隱加總1_tb.Text) + Val(隱加總2_tb.Text)
  180. If 主項_cb.Text = "資本" Then : 加總4_tb.Text = Val(隱加總1_tb.Text) + Val(隱加總2_tb.Text)
  181. ElseIf 主項1_cb.Text = "資本" Then : 加總4_tb.Text = Val(隱加總_tb.Text) + Val(隱加總2_tb.Text)
  182. ElseIf 主項2_cb.Text = "資本" Then : 加總4_tb.Text = Val(隱加總_tb.Text) + Val(隱加總1_tb.Text)
  183. End If
  184. 加總4_tb.Text = Format(Val(加總4_tb.Text), "#,##0") : 加總3_tb.Text = Format(Val(加總3_tb.Text), "#,##0")
  185. Set_清單9()
  186. Chart1.Series.Clear() : Chart1.ChartAreas(0).AxisX.Minimum = 0
  187. If 主項2_cb.Text <> "" Then
  188. Chart1.Series.Add(主項2_cb.Text)
  189. If 主項2_cb.Text = "資本" Then : Chart1.Series(主項2_cb.Text).ChartType = SeriesChartType.Line
  190. Else : Chart1.Series(主項2_cb.Text).ChartType = SeriesChartType.Column : End If
  191. For i As Integer = 0 To 主表9_dgv.Rows.Count - 1
  192. Chart1.Series(主項2_cb.Text).Points.AddXY(主表9_dgv.Rows(i).Cells("日期").Value.ToString, 主表9_dgv.Rows(i).Cells("金額3").Value.ToString)
  193. Next
  194. Chart4.Series.Clear()
  195. Chart4.Series.Add(主項2_cb.Text) : Chart4.Series(主項2_cb.Text).ChartType = SeriesChartType.Pie
  196. Chart4.Series(主項2_cb.Text).IsValueShownAsLabel = True
  197. Chart4.Series(主項2_cb.Text).IsVisibleInLegend = True
  198. Chart4.Series(主項2_cb.Text).IsXValueIndexed = True
  199. For i As Integer = 0 To 主表7_dgv.Rows.Count - 1
  200. Chart4.Series(主項2_cb.Text).Points.AddXY(主表7_dgv.Rows(i).Cells("子細項").Value.ToString, Format(主表7_dgv.Rows(i).Cells("金額").Value, "#,##0"))
  201. Next
  202. End If
  203. If 主項1_cb.Text <> "" Then
  204. Chart1.Series.Add(主項1_cb.Text)
  205. If 主項1_cb.Text = "資本" Then : Chart1.Series(主項1_cb.Text).ChartType = SeriesChartType.Line
  206. Else : Chart1.Series(主項1_cb.Text).ChartType = SeriesChartType.Column : End If
  207. For i As Integer = 0 To 主表9_dgv.Rows.Count - 1
  208. Chart1.Series(主項1_cb.Text).Points.AddXY(主表9_dgv.Rows(i).Cells("日期").Value.ToString, 主表9_dgv.Rows(i).Cells("金額2").Value.ToString)
  209. Next
  210. Chart2.Series.Clear()
  211. Chart2.Series.Add(主項1_cb.Text) : Chart2.Series(主項1_cb.Text).ChartType = SeriesChartType.Pie
  212. Chart2.Series(主項1_cb.Text).IsValueShownAsLabel = True
  213. Chart2.Series(主項1_cb.Text).IsVisibleInLegend = True
  214. Chart2.Series(主項1_cb.Text).IsXValueIndexed = True
  215. For i As Integer = 0 To 主表4_dgv.Rows.Count - 1
  216. Chart2.Series(主項1_cb.Text).Points.AddXY(主表4_dgv.Rows(i).Cells("子細項").Value.ToString, Format(主表4_dgv.Rows(i).Cells("金額").Value, "#,##0"))
  217. Next
  218. End If
  219. If 主項_cb.Text <> "" Then
  220. Chart1.Series.Add(主項_cb.Text)
  221. If 主項_cb.Text = "資本" Then : Chart1.Series(主項_cb.Text).ChartType = SeriesChartType.Line
  222. Else : Chart1.Series(主項_cb.Text).ChartType = SeriesChartType.Column : End If
  223. For i As Integer = 0 To 主表9_dgv.Rows.Count - 1
  224. Chart1.Series(主項_cb.Text).Points.AddXY(主表9_dgv.Rows(i).Cells("日期").Value.ToString, 主表9_dgv.Rows(i).Cells("金額1").Value.ToString)
  225. Next
  226. Chart3.Series.Clear()
  227. Chart3.Series.Add(主項_cb.Text) : Chart3.Series(主項_cb.Text).ChartType = SeriesChartType.Pie
  228. Chart3.Series(主項_cb.Text).IsValueShownAsLabel = True
  229. Chart3.Series(主項_cb.Text).IsVisibleInLegend = True
  230. Chart3.Series(主項_cb.Text).IsXValueIndexed = True
  231. For i As Integer = 0 To 主表1_dgv.Rows.Count - 1
  232. Chart3.Series(主項_cb.Text).Points.AddXY(主表1_dgv.Rows(i).Cells("子細項").Value.ToString, Format(主表1_dgv.Rows(i).Cells("金額").Value, "#,##0"))
  233. Next
  234. End If
  235. End Sub
  236. Private Sub 主項下拉()
  237. ConnOpen() : SQL1 = "SELECT 主項 FROM 財務彙總紀錄 WHERE 主項 NOT LIKE '上月結存' GROUP BY 主項 ORDER BY 主項 DESC" : CmdSet_For_dr()
  238. 主項_cb.Items.Clear() : 主項1_cb.Items.Clear() : 主項2_cb.Items.Clear()
  239. While (dr.Read()) : 主項_cb.Items.Add(dr("主項")) : 主項1_cb.Items.Add(dr("主項")) : 主項2_cb.Items.Add(dr("主項")) : End While : conn.Close()
  240. End Sub
  241. Private Sub ComboBox1下拉表單資料載入()
  242. ConnOpen() : SQL1 = "SELECT 年份 FROM 年份清單 ORDER BY 年份 DESC" : CmdSet_For_dr()
  243. 年份_cb.Items.Clear() : 年份_cb.Items.Add("") : While (dr.Read()) : 年份_cb.Items.Add(dr("年份")) : End While : conn.Close()
  244. End Sub
  245. Private Sub 財務_彙總表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  246. Me.MdiParent = GCM_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  247. GCM_ERP_SYS.WindowState = 2
  248. ComboBox1下拉表單資料載入() : 主項下拉() : 主項_cb.SelectedIndex = 0 : 主項1_cb.SelectedIndex = 1 : 主項2_cb.SelectedIndex = 2
  249. End Sub
  250. Private Sub 財務_彙總表_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed
  251. GCM_ERP_SYS.WindowState = 0
  252. End Sub
  253. Private Sub 主表_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 主表_dgv.RowPostPaint
  254. Dim linePen As New Pen(Color.Blue, 2) : Dim linePen1 As New Pen(Color.Red, 2)
  255. If e.RowIndex = 主表_dgv.Rows.Count - 1 Then : Exit Sub : Else
  256. If 主表_dgv(0, e.RowIndex).Value.ToString <> 主表_dgv(0, e.RowIndex + 1).Value.ToString Then
  257. Dim startX As Integer = IIf(主表_dgv.RowHeadersVisible, 主表_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  258. Dim endX As Integer = startX + 主表_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 主表_dgv.HorizontalScrollingOffset
  259. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  260. End If
  261. If 主表_dgv(1, e.RowIndex).Value.ToString <> 主表_dgv(1, e.RowIndex + 1).Value.ToString Then
  262. Dim startX As Integer = IIf(主表_dgv.RowHeadersVisible, 主表_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  263. Dim endX As Integer = startX + 主表_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 主表_dgv.HorizontalScrollingOffset
  264. e.Graphics.DrawLine(linePen1, startX, startY, endX, startY) : Exit Sub
  265. End If
  266. End If
  267. End Sub
  268. Private Sub 主表3_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 主表3_dgv.RowPostPaint
  269. Dim linePen As New Pen(Color.Blue, 2) : Dim linePen1 As New Pen(Color.Red, 2)
  270. If e.RowIndex = 主表3_dgv.Rows.Count - 1 Then : Exit Sub : Else
  271. If 主表3_dgv(0, e.RowIndex).Value.ToString <> 主表3_dgv(0, e.RowIndex + 1).Value.ToString Then
  272. Dim startX As Integer = IIf(主表3_dgv.RowHeadersVisible, 主表3_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  273. Dim endX As Integer = startX + 主表3_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 主表3_dgv.HorizontalScrollingOffset
  274. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  275. End If
  276. If 主表3_dgv(1, e.RowIndex).Value.ToString <> 主表3_dgv(1, e.RowIndex + 1).Value.ToString Then
  277. Dim startX As Integer = IIf(主表3_dgv.RowHeadersVisible, 主表3_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  278. Dim endX As Integer = startX + 主表3_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 主表3_dgv.HorizontalScrollingOffset
  279. e.Graphics.DrawLine(linePen1, startX, startY, endX, startY) : Exit Sub
  280. End If
  281. End If
  282. End Sub
  283. Private Sub 主表6_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 主表6_dgv.RowPostPaint
  284. Dim linePen As New Pen(Color.Blue, 2) : Dim linePen1 As New Pen(Color.Red, 2)
  285. If e.RowIndex = 主表6_dgv.Rows.Count - 1 Then : Exit Sub : Else
  286. If 主表6_dgv(0, e.RowIndex).Value.ToString <> 主表6_dgv(0, e.RowIndex + 1).Value.ToString Then
  287. Dim startX As Integer = IIf(主表6_dgv.RowHeadersVisible, 主表6_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  288. Dim endX As Integer = startX + 主表6_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 主表6_dgv.HorizontalScrollingOffset
  289. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  290. End If
  291. If 主表6_dgv(1, e.RowIndex).Value.ToString <> 主表6_dgv(1, e.RowIndex + 1).Value.ToString Then
  292. Dim startX As Integer = IIf(主表6_dgv.RowHeadersVisible, 主表6_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  293. Dim endX As Integer = startX + 主表6_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 主表6_dgv.HorizontalScrollingOffset
  294. e.Graphics.DrawLine(linePen1, startX, startY, endX, startY) : Exit Sub
  295. End If
  296. End If
  297. End Sub
  298. Private Sub 主項_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 主項_cb.SelectedIndexChanged
  299. Set_清單() : 彙總()
  300. End Sub
  301. Private Sub 主項1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 主項1_cb.SelectedIndexChanged
  302. Set_清單3() : 彙總()
  303. End Sub
  304. Private Sub 主項2_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 主項2_cb.SelectedIndexChanged
  305. Set_清單6() : 彙總()
  306. End Sub
  307. Private Sub 年份_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 年份_cb.SelectedIndexChanged
  308. Set_清單() : 彙總() : Set_清單3() : 彙總() : Set_清單6() : 彙總()
  309. End Sub
  310. End Class