Sin descripción
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 129KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242
  1. Option Strict Off
  2. Imports System.Data.SqlClient
  3. Public Class 營運報表
  4. ReadOnly conn As New SqlConnection
  5. ReadOnly da As New SqlDataAdapter
  6. ReadOnly cmd As New SqlCommand
  7. ReadOnly ds As New DataSet : ReadOnly ds1 As New DataSet : ReadOnly ds2 As New DataSet : ReadOnly ds3 As New DataSet : ReadOnly ds4 As New DataSet : ReadOnly ds5 As New DataSet : ReadOnly ds6 As New DataSet
  8. ReadOnly ds7 As New DataSet : ReadOnly ds8 As New DataSet : ReadOnly ds9 As New DataSet : ReadOnly ds10 As New DataSet : ReadOnly ds11 As New DataSet : ReadOnly ds12 As New DataSet
  9. Dim dr As SqlDataReader
  10. Private Sub Set_DGV2開始()
  11. 主表_dgv.DataSource = Nothing : ds2.Clear() : 主表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  12. 主表_dgv.ColumnHeadersHeight = 50 : 主表_dgv.AllowUserToAddRows = False
  13. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  14. End Sub
  15. Private Sub Set_DGV2結束()
  16. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds2) : 主表_dgv.DataSource = ds2.Tables(0) : conn.Close()
  17. 主表_dgv.Columns(0).FillWeight = 40 : 主表_dgv.Columns(1).Visible = False : 主表_dgv.Columns(2).Visible = False : 主表_dgv.Columns(3).FillWeight = 90
  18. 主表_dgv.Columns(4).FillWeight = 90 : 主表_dgv.Columns(5).FillWeight = 150 : 主表_dgv.Columns(6).FillWeight = 80 : 主表_dgv.Columns(7).FillWeight = 80
  19. 主表_dgv.Columns(8).FillWeight = 80
  20. 主表_dgv.Columns(6).DefaultCellStyle.Format = "#,##0" : 主表_dgv.Columns(7).DefaultCellStyle.Format = "#,##0" : 主表_dgv.Columns(8).DefaultCellStyle.Format = "#,##0"
  21. 主表_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 主表_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  22. 主表_dgv.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 主表_dgv.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  23. 主表_dgv.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 主表_dgv.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  24. 主表_dgv.Columns(0).ReadOnly = True : 主表_dgv.Columns(1).ReadOnly = True : 主表_dgv.Columns(2).ReadOnly = True : 主表_dgv.Columns(3).ReadOnly = True
  25. 主表_dgv.Columns(4).ReadOnly = True : 主表_dgv.Columns(5).ReadOnly = True : 主表_dgv.Columns(6).ReadOnly = True : 主表_dgv.Columns(7).ReadOnly = True
  26. 主表_dgv.Columns(8).ReadOnly = True
  27. TextBox61.Text = "0" : TextBox62.Text = "0" : TextBox63.Text = "0" : TextBox64.Text = "0"
  28. For i As Integer = 0 To 主表_dgv.Rows.Count - 1
  29. If 主表_dgv.Rows(i).Cells("主項金額").Value.ToString = "" Then : 主表_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  30. If 主表_dgv.Rows(i).Cells("子項金額").Value.ToString = "" Then : 主表_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  31. If 主表_dgv.Rows(i).Cells("細項金額").Value.ToString = "" Then : 主表_dgv.Rows(i).Cells("細項金額").Value = 0 : End If
  32. If 主表_dgv.Rows(i).Cells("層級").Value.ToString <> "1" Then : 主表_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  33. If 主表_dgv.Rows(i).Cells("層級").Value.ToString <> "2" Then : 主表_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  34. If 主表_dgv.Rows(i).Cells("層級").Value.ToString <> "2" Then : 主表_dgv.Rows(i).Cells("子項").Value = "" : End If
  35. If 主表_dgv.Rows(i).Cells("層級").Value.ToString <> "3" Then : 主表_dgv.Rows(i).Cells("子細項").Value = "" : End If
  36. If 主表_dgv.Rows(i).Cells("第一階").Value.ToString = "上月結存" Then
  37. 主表_dgv.Rows(i).Cells("主項金額").Value = 0 : 主表_dgv.Rows(i).Cells("子項金額").Value = 0 : 主表_dgv.Rows(i).Cells("細項金額").Value = 0
  38. End If
  39. If i = 0 Then : Else
  40. If 主表_dgv.Rows(i).Cells("第一階").Value.ToString = 主表_dgv.Rows(i - 1).Cells("第一階").Value.ToString Then : 主表_dgv.Rows(i).Cells("主項").Value = "" : End If
  41. If 主表_dgv.Rows(i).Cells("第二階").Value.ToString = 主表_dgv.Rows(i - 1).Cells("第二階").Value.ToString Then : 主表_dgv.Rows(i).Cells("子項").Value = "" : End If
  42. End If
  43. If 主表_dgv("第一階", i).Value.ToString = "歲出合計" Then
  44. 主表_dgv("主項金額", i).Value = Val(主表_dgv.Rows(i).Cells("主項金額").Value) * -1
  45. 主表_dgv("子項金額", i).Value = Val(主表_dgv.Rows(i).Cells("子項金額").Value) * -1
  46. 主表_dgv("細項金額", i).Value = Val(主表_dgv.Rows(i).Cells("細項金額").Value) * -1
  47. End If
  48. If 主表_dgv.Rows(i).Cells("第一階").Value.ToString = "資本" Then : TextBox61.Text = Val(TextBox61.Text) + 主表_dgv.Rows(i).Cells("主項金額").Value : End If
  49. If 主表_dgv.Rows(i).Cells("第一階").Value.ToString = "歲入合計" Then : TextBox62.Text = Val(TextBox62.Text) + 主表_dgv.Rows(i).Cells("主項金額").Value : End If
  50. If 主表_dgv.Rows(i).Cells("第一階").Value.ToString = "歲出合計" Then : TextBox63.Text = Val(TextBox63.Text) + 主表_dgv.Rows(i).Cells("主項金額").Value : End If
  51. Next
  52. TextBox64.Text = Val(TextBox62.Text) - Val(TextBox63.Text)
  53. End Sub
  54. Private Sub Set_清單()
  55. Set_DGV2開始()
  56. SQL1 = "SELECT 會計科目.層級, 會計科目.第一階, 會計科目.第二階, 會計科目.第一階 AS 主項, 會計科目.第二階 AS 子項, 會計科目.會計科目 AS 子細項, QQWW.主項金額, WWEE.子項金額, EERR.細項金額
  57. FROM 會計科目 FULL OUTER JOIN
  58. (SELECT 公帳流水帳_3.類別 AS 細項, SUM(公帳流水帳_3.零用金 * (公帳流水帳_3.匯率)) + SUM(公帳流水帳_3.支票數 * (公帳流水帳_3.匯率)) +
  59. SUM(Cast(公帳流水帳_3.收入 AS money) * (公帳流水帳_3.匯率)) - SUM(Cast(公帳流水帳_3.支出 AS money) * (公帳流水帳_3.匯率)) AS 細項金額
  60. FROM 公帳流水帳 AS 公帳流水帳_3 INNER JOIN 公帳控制表 AS 公帳控制表_3 ON 公帳流水帳_3.支付單號 = 公帳控制表_3.支付單號
  61. WHERE (LEFT(公帳控制表_3.審核日期,4) LIKE N'" & 年份_cb.Text & "')
  62. GROUP BY 公帳流水帳_3.類別) AS EERR ON 會計科目.編號 = EERR.細項
  63. FULL OUTER JOIN
  64. (SELECT LEFT(公帳流水帳_2.類別, 4) AS 主碼, SUM(公帳流水帳_2.零用金 * (公帳流水帳_2.匯率)) + SUM(公帳流水帳_2.支票數 * (公帳流水帳_2.匯率)) +
  65. SUM(Cast(公帳流水帳_2.收入 AS money) * (公帳流水帳_2.匯率)) - SUM(Cast(公帳流水帳_2.支出 AS money) * (公帳流水帳_2.匯率)) AS 主項金額
  66. FROM 公帳流水帳 AS 公帳流水帳_2 INNER JOIN 公帳控制表 AS 公帳控制表_2 ON 公帳流水帳_2.支付單號 = 公帳控制表_2.支付單號
  67. WHERE (LEFT(公帳控制表_2.審核日期,4) LIKE N'" & 年份_cb.Text & "')
  68. GROUP BY LEFT(公帳流水帳_2.類別, 4)) AS QQWW ON LEFT(會計科目.編號, 4) = QQWW.主碼
  69. FULL OUTER JOIN
  70. (SELECT LEFT(公帳流水帳_1.類別, 7) AS 子碼, SUM(公帳流水帳_1.零用金 * (公帳流水帳_1.匯率)) + SUM(公帳流水帳_1.支票數 * (公帳流水帳_1.匯率)) +
  71. SUM(Cast(公帳流水帳_1.收入 AS money) * (公帳流水帳_1.匯率)) - SUM(Cast(公帳流水帳_1.支出 AS money) * (公帳流水帳_1.匯率)) AS 子項金額
  72. FROM 公帳流水帳 AS 公帳流水帳_1 INNER JOIN 公帳控制表 AS 公帳控制表_1 ON 公帳流水帳_1.支付單號 = 公帳控制表_1.支付單號
  73. WHERE (LEFT(公帳控制表_1.審核日期,4) LIKE N'" & 年份_cb.Text & "')
  74. GROUP BY LEFT(公帳流水帳_1.類別, 7)) AS WWEE ON LEFT(會計科目.編號, 7) = WWEE.子碼
  75. WHERE (會計科目.顯示 = 1)
  76. ORDER BY LEFT(會計科目.編號, 1) DESC, 會計科目.編號"
  77. Set_DGV2結束()
  78. End Sub
  79. Private Sub Set_清單1()
  80. 月1_dgv.DataSource = Nothing : ds.Clear() : 月1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  81. 月1_dgv.ColumnHeadersHeight = 50 : 月1_dgv.AllowUserToAddRows = False
  82. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  83. SQL1 = "SELECT 會計科目.層級, 會計科目.第一階, 會計科目.第二階, 會計科目.第一階 AS 主項, 會計科目.第二階 AS 子項, 會計科目.會計科目 AS 子細項, QQWW.主項金額, WWEE.子項金額,
  84. EERR.細項金額, EERR.細項金額 AS [金額]
  85. FROM 會計科目 FULL OUTER JOIN
  86. (SELECT 公帳流水帳_3.類別 AS 細項, SUM(公帳流水帳_3.零用金 * (公帳流水帳_3.匯率)) + SUM(公帳流水帳_3.支票數 * (公帳流水帳_3.匯率)) +
  87. SUM(Cast(公帳流水帳_3.收入 AS money) * (公帳流水帳_3.匯率)) - SUM(Cast(公帳流水帳_3.支出 AS money) * (公帳流水帳_3.匯率)) AS 細項金額
  88. FROM 公帳流水帳 AS 公帳流水帳_3 INNER JOIN 公帳控制表 AS 公帳控制表_3 ON 公帳流水帳_3.支付單號 = 公帳控制表_3.支付單號
  89. WHERE (LEFT(公帳控制表_3.審核日期,7) LIKE N'" & 年份_cb.Text & "/01')
  90. GROUP BY 公帳流水帳_3.類別) AS EERR ON 會計科目.編號 = EERR.細項
  91. FULL OUTER JOIN
  92. (SELECT LEFT(公帳流水帳_2.類別, 4) AS 主碼, SUM(公帳流水帳_2.零用金 * (公帳流水帳_2.匯率)) + SUM(公帳流水帳_2.支票數 * (公帳流水帳_2.匯率)) +
  93. SUM(Cast(公帳流水帳_2.收入 AS money) * (公帳流水帳_2.匯率)) - SUM(Cast(公帳流水帳_2.支出 AS money) * (公帳流水帳_2.匯率)) AS 主項金額
  94. FROM 公帳流水帳 AS 公帳流水帳_2 INNER JOIN 公帳控制表 AS 公帳控制表_2 ON 公帳流水帳_2.支付單號 = 公帳控制表_2.支付單號
  95. WHERE (LEFT(公帳控制表_2.審核日期,7) LIKE N'" & 年份_cb.Text & "/01')
  96. GROUP BY LEFT(公帳流水帳_2.類別, 4)) AS QQWW ON LEFT(會計科目.編號, 4) = QQWW.主碼
  97. FULL OUTER JOIN
  98. (SELECT LEFT(公帳流水帳_1.類別, 7) AS 子碼, SUM(公帳流水帳_1.零用金 * (公帳流水帳_1.匯率)) + SUM(公帳流水帳_1.支票數 * (公帳流水帳_1.匯率)) +
  99. SUM(Cast(公帳流水帳_1.收入 AS money) * (公帳流水帳_1.匯率)) - SUM(Cast(公帳流水帳_1.支出 AS money) * (公帳流水帳_1.匯率)) AS 子項金額
  100. FROM 公帳流水帳 AS 公帳流水帳_1 INNER JOIN 公帳控制表 AS 公帳控制表_1 ON 公帳流水帳_1.支付單號 = 公帳控制表_1.支付單號
  101. WHERE (LEFT(公帳控制表_1.審核日期,7) LIKE N'" & 年份_cb.Text & "/01')
  102. GROUP BY LEFT(公帳流水帳_1.類別, 7)) AS WWEE ON LEFT(會計科目.編號, 7) = WWEE.子碼
  103. WHERE (會計科目.顯示 = 1)
  104. ORDER BY LEFT(會計科目.編號, 1) DESC, 會計科目.編號"
  105. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds) : 月1_dgv.DataSource = ds.Tables(0) : conn.Close()
  106. 月1_dgv.Columns(0).FillWeight = 20 : 月1_dgv.Columns(1).Visible = False : 月1_dgv.Columns(2).Visible = False : 月1_dgv.Columns(3).Visible = False
  107. 月1_dgv.Columns(4).Visible = False : 月1_dgv.Columns(5).Visible = False : 月1_dgv.Columns(6).Visible = False : 月1_dgv.Columns(7).Visible = False
  108. 月1_dgv.Columns(8).Visible = False : 月1_dgv.Columns(9).FillWeight = 75
  109. 月1_dgv.Columns(9).DefaultCellStyle.Format = "#,##0"
  110. 月1_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 月1_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  111. 月1_dgv.Columns(9).ReadOnly = True
  112. TextBox1.Text = "0" : TextBox2.Text = "0" : TextBox3.Text = "0" : TextBox4.Text = "0" : TextBox30.Text = "0" : TextBox76.Text = "0"
  113. For i As Integer = 0 To 月1_dgv.Rows.Count - 1
  114. If 月1_dgv.Rows(i).Cells("主項金額").Value.ToString = "" Then : 月1_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  115. If 月1_dgv.Rows(i).Cells("子項金額").Value.ToString = "" Then : 月1_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  116. If 月1_dgv.Rows(i).Cells("細項金額").Value.ToString = "" Then : 月1_dgv.Rows(i).Cells("細項金額").Value = 0 : End If
  117. If 月1_dgv.Rows(i).Cells("層級").Value.ToString <> "1" Then : 月1_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  118. If 月1_dgv.Rows(i).Cells("層級").Value.ToString <> "2" Then : 月1_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  119. If 月1_dgv.Rows(i).Cells("主項金額").Value.ToString <> "0" Then : 月1_dgv.Rows(i).Cells("金額").Value = 月1_dgv.Rows(i).Cells("主項金額").Value
  120. ElseIf 月1_dgv.Rows(i).Cells("子項金額").Value.ToString <> "0" Then : 月1_dgv.Rows(i).Cells("金額").Value = 月1_dgv.Rows(i).Cells("子項金額").Value
  121. ElseIf 月1_dgv.Rows(i).Cells("細項金額").Value.ToString <> "0" Then : 月1_dgv.Rows(i).Cells("金額").Value = 月1_dgv.Rows(i).Cells("細項金額").Value
  122. Else : 月1_dgv.Rows(i).Cells("金額").Value = 0 : End If
  123. If 月1_dgv("第一階", i).Value.ToString = "歲出合計" Then
  124. 月1_dgv("金額", i).Value = Val(月1_dgv.Rows(i).Cells("金額").Value) * -1
  125. End If
  126. If 月1_dgv.Rows(i).Cells("第一階").Value.ToString = "資本" Then : TextBox1.Text = Val(TextBox1.Text) + 月1_dgv.Rows(i).Cells("主項金額").Value : End If
  127. If 月1_dgv.Rows(i).Cells("第一階").Value.ToString = "歲入合計" Then : TextBox2.Text = Val(TextBox2.Text) + 月1_dgv.Rows(i).Cells("主項金額").Value : End If
  128. If 月1_dgv.Rows(i).Cells("第一階").Value.ToString = "歲出合計" Then : TextBox3.Text = Val(TextBox3.Text) + 月1_dgv.Rows(i).Cells("主項金額").Value : End If
  129. If 月1_dgv.Rows(i).Cells("第一階").Value.ToString = "上月結存" Then : TextBox30.Text = Val(TextBox30.Text) + 月1_dgv.Rows(i).Cells("主項金額").Value : End If
  130. Next
  131. TextBox3.Text = Val(TextBox3.Text) * -1
  132. TextBox4.Text = Val(TextBox30.Text) + Val(TextBox1.Text) + Val(TextBox2.Text) - Val(TextBox3.Text) : TextBox76.Text = Val(TextBox2.Text) - Val(TextBox3.Text)
  133. End Sub
  134. Private Sub Set_清單2()
  135. 月2_dgv.DataSource = Nothing : ds1.Clear() : 月2_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  136. 月2_dgv.ColumnHeadersHeight = 50 : 月2_dgv.AllowUserToAddRows = False
  137. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  138. SQL1 = "SELECT 會計科目.層級, 會計科目.第一階, 會計科目.第二階, 會計科目.第一階 AS 主項, 會計科目.第二階 AS 子項, 會計科目.會計科目 AS 子細項, QQWW.主項金額, WWEE.子項金額,
  139. EERR.細項金額, EERR.細項金額 AS [金額]
  140. FROM 會計科目 FULL OUTER JOIN
  141. (SELECT 公帳流水帳_3.類別 AS 細項, SUM(公帳流水帳_3.零用金 * (公帳流水帳_3.匯率)) + SUM(公帳流水帳_3.支票數 * (公帳流水帳_3.匯率)) +
  142. SUM(Cast(公帳流水帳_3.收入 AS money) * (公帳流水帳_3.匯率)) - SUM(Cast(公帳流水帳_3.支出 AS money) * (公帳流水帳_3.匯率)) AS 細項金額
  143. FROM 公帳流水帳 AS 公帳流水帳_3 INNER JOIN 公帳控制表 AS 公帳控制表_3 ON 公帳流水帳_3.支付單號 = 公帳控制表_3.支付單號
  144. WHERE (LEFT(公帳控制表_3.審核日期,7) LIKE N'" & 年份_cb.Text & "/02')
  145. GROUP BY 公帳流水帳_3.類別) AS EERR ON 會計科目.編號 = EERR.細項
  146. FULL OUTER JOIN
  147. (SELECT LEFT(公帳流水帳_2.類別, 4) AS 主碼, SUM(公帳流水帳_2.零用金 * (公帳流水帳_2.匯率)) + SUM(公帳流水帳_2.支票數 * (公帳流水帳_2.匯率)) +
  148. SUM(Cast(公帳流水帳_2.收入 AS money) * (公帳流水帳_2.匯率)) - SUM(Cast(公帳流水帳_2.支出 AS money) * (公帳流水帳_2.匯率)) AS 主項金額
  149. FROM 公帳流水帳 AS 公帳流水帳_2 INNER JOIN 公帳控制表 AS 公帳控制表_2 ON 公帳流水帳_2.支付單號 = 公帳控制表_2.支付單號
  150. WHERE (LEFT(公帳控制表_2.審核日期,7) LIKE N'" & 年份_cb.Text & "/02')
  151. GROUP BY LEFT(公帳流水帳_2.類別, 4)) AS QQWW ON LEFT(會計科目.編號, 4) = QQWW.主碼
  152. FULL OUTER JOIN
  153. (SELECT LEFT(公帳流水帳_1.類別, 7) AS 子碼, SUM(公帳流水帳_1.零用金 * (公帳流水帳_1.匯率)) + SUM(公帳流水帳_1.支票數 * (公帳流水帳_1.匯率)) +
  154. SUM(Cast(公帳流水帳_1.收入 AS money) * (公帳流水帳_1.匯率)) - SUM(Cast(公帳流水帳_1.支出 AS money) * (公帳流水帳_1.匯率)) AS 子項金額
  155. FROM 公帳流水帳 AS 公帳流水帳_1 INNER JOIN 公帳控制表 AS 公帳控制表_1 ON 公帳流水帳_1.支付單號 = 公帳控制表_1.支付單號
  156. WHERE (LEFT(公帳控制表_1.審核日期,7) LIKE N'" & 年份_cb.Text & "/02')
  157. GROUP BY LEFT(公帳流水帳_1.類別, 7)) AS WWEE ON LEFT(會計科目.編號, 7) = WWEE.子碼
  158. WHERE (會計科目.顯示 = 1)
  159. ORDER BY LEFT(會計科目.編號, 1) DESC, 會計科目.編號"
  160. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds1) : 月2_dgv.DataSource = ds1.Tables(0) : conn.Close()
  161. 月2_dgv.Columns(0).FillWeight = 20 : 月2_dgv.Columns(1).Visible = False : 月2_dgv.Columns(2).Visible = False : 月2_dgv.Columns(3).Visible = False
  162. 月2_dgv.Columns(4).Visible = False : 月2_dgv.Columns(5).Visible = False : 月2_dgv.Columns(6).Visible = False : 月2_dgv.Columns(7).Visible = False
  163. 月2_dgv.Columns(8).Visible = False : 月2_dgv.Columns(9).FillWeight = 75
  164. 月2_dgv.Columns(9).DefaultCellStyle.Format = "#,##0"
  165. 月2_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 月2_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  166. 月2_dgv.Columns(9).ReadOnly = True
  167. TextBox5.Text = "0" : TextBox6.Text = "0" : TextBox7.Text = "0" : TextBox8.Text = "0" : TextBox29.Text = "0" : TextBox75.Text = "0"
  168. For i As Integer = 0 To 月2_dgv.Rows.Count - 1
  169. If 月2_dgv.Rows(i).Cells("主項金額").Value.ToString = "" Then : 月2_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  170. If 月2_dgv.Rows(i).Cells("子項金額").Value.ToString = "" Then : 月2_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  171. If 月2_dgv.Rows(i).Cells("細項金額").Value.ToString = "" Then : 月2_dgv.Rows(i).Cells("細項金額").Value = 0 : End If
  172. If 月2_dgv.Rows(i).Cells("層級").Value.ToString <> "1" Then : 月2_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  173. If 月2_dgv.Rows(i).Cells("層級").Value.ToString <> "2" Then : 月2_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  174. If 月2_dgv.Rows(i).Cells("主項金額").Value.ToString <> "0" Then : 月2_dgv.Rows(i).Cells("金額").Value = 月2_dgv.Rows(i).Cells("主項金額").Value
  175. ElseIf 月2_dgv.Rows(i).Cells("子項金額").Value.ToString <> "0" Then : 月2_dgv.Rows(i).Cells("金額").Value = 月2_dgv.Rows(i).Cells("子項金額").Value
  176. ElseIf 月2_dgv.Rows(i).Cells("細項金額").Value.ToString <> "0" Then : 月2_dgv.Rows(i).Cells("金額").Value = 月2_dgv.Rows(i).Cells("細項金額").Value
  177. Else : 月2_dgv.Rows(i).Cells("金額").Value = 0 : End If
  178. If 月2_dgv("第一階", i).Value.ToString = "歲出合計" Then
  179. 月2_dgv("金額", i).Value = Val(月2_dgv.Rows(i).Cells("金額").Value) * -1
  180. End If
  181. If 月2_dgv.Rows(i).Cells("第一階").Value.ToString = "資本" Then : TextBox5.Text = Val(TextBox5.Text) + 月2_dgv.Rows(i).Cells("主項金額").Value : End If
  182. If 月2_dgv.Rows(i).Cells("第一階").Value.ToString = "歲入合計" Then : TextBox6.Text = Val(TextBox6.Text) + 月2_dgv.Rows(i).Cells("主項金額").Value : End If
  183. If 月2_dgv.Rows(i).Cells("第一階").Value.ToString = "歲出合計" Then : TextBox7.Text = Val(TextBox7.Text) + 月2_dgv.Rows(i).Cells("主項金額").Value : End If
  184. If 月2_dgv.Rows(i).Cells("第一階").Value.ToString = "上月結存" Then : TextBox29.Text = Val(TextBox29.Text) + 月2_dgv.Rows(i).Cells("主項金額").Value : End If
  185. Next
  186. If Val(TextBox29.Text) > 0 Then
  187. TextBox87.Text = Val(TextBox29.Text) - Val(TextBox4.Text)
  188. Else
  189. TextBox87.Text = 0
  190. End If
  191. TextBox7.Text = Val(TextBox7.Text) * -1
  192. TextBox8.Text = Val(TextBox29.Text) + Val(TextBox5.Text) + Val(TextBox6.Text) - Val(TextBox7.Text)
  193. TextBox75.Text = Val(TextBox6.Text) - Val(TextBox7.Text)
  194. End Sub
  195. Private Sub Set_清單3()
  196. 月3_dgv.DataSource = Nothing : ds3.Clear() : 月3_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  197. 月3_dgv.ColumnHeadersHeight = 50 : 月3_dgv.AllowUserToAddRows = False
  198. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  199. SQL1 = "SELECT 會計科目.層級, 會計科目.第一階, 會計科目.第二階, 會計科目.第一階 AS 主項, 會計科目.第二階 AS 子項, 會計科目.會計科目 AS 子細項, QQWW.主項金額, WWEE.子項金額,
  200. EERR.細項金額, EERR.細項金額 AS [金額]
  201. FROM 會計科目 FULL OUTER JOIN
  202. (SELECT 公帳流水帳_3.類別 AS 細項, SUM(公帳流水帳_3.零用金 * (公帳流水帳_3.匯率)) + SUM(公帳流水帳_3.支票數 * (公帳流水帳_3.匯率)) +
  203. SUM(Cast(公帳流水帳_3.收入 AS money) * (公帳流水帳_3.匯率)) - SUM(Cast(公帳流水帳_3.支出 AS money) * (公帳流水帳_3.匯率)) AS 細項金額
  204. FROM 公帳流水帳 AS 公帳流水帳_3 INNER JOIN 公帳控制表 AS 公帳控制表_3 ON 公帳流水帳_3.支付單號 = 公帳控制表_3.支付單號
  205. WHERE (LEFT(公帳控制表_3.審核日期,7) LIKE N'" & 年份_cb.Text & "/03')
  206. GROUP BY 公帳流水帳_3.類別) AS EERR ON 會計科目.編號 = EERR.細項
  207. FULL OUTER JOIN
  208. (SELECT LEFT(公帳流水帳_2.類別, 4) AS 主碼, SUM(公帳流水帳_2.零用金 * (公帳流水帳_2.匯率)) + SUM(公帳流水帳_2.支票數 * (公帳流水帳_2.匯率)) +
  209. SUM(Cast(公帳流水帳_2.收入 AS money) * (公帳流水帳_2.匯率)) - SUM(Cast(公帳流水帳_2.支出 AS money) * (公帳流水帳_2.匯率)) AS 主項金額
  210. FROM 公帳流水帳 AS 公帳流水帳_2 INNER JOIN 公帳控制表 AS 公帳控制表_2 ON 公帳流水帳_2.支付單號 = 公帳控制表_2.支付單號
  211. WHERE (LEFT(公帳控制表_2.審核日期,7) LIKE N'" & 年份_cb.Text & "/03')
  212. GROUP BY LEFT(公帳流水帳_2.類別, 4)) AS QQWW ON LEFT(會計科目.編號, 4) = QQWW.主碼
  213. FULL OUTER JOIN
  214. (SELECT LEFT(公帳流水帳_1.類別, 7) AS 子碼, SUM(公帳流水帳_1.零用金 * (公帳流水帳_1.匯率)) + SUM(公帳流水帳_1.支票數 * (公帳流水帳_1.匯率)) +
  215. SUM(Cast(公帳流水帳_1.收入 AS money) * (公帳流水帳_1.匯率)) - SUM(Cast(公帳流水帳_1.支出 AS money) * (公帳流水帳_1.匯率)) AS 子項金額
  216. FROM 公帳流水帳 AS 公帳流水帳_1 INNER JOIN 公帳控制表 AS 公帳控制表_1 ON 公帳流水帳_1.支付單號 = 公帳控制表_1.支付單號
  217. WHERE (LEFT(公帳控制表_1.審核日期,7) LIKE N'" & 年份_cb.Text & "/03')
  218. GROUP BY LEFT(公帳流水帳_1.類別, 7)) AS WWEE ON LEFT(會計科目.編號, 7) = WWEE.子碼
  219. WHERE (會計科目.顯示 = 1)
  220. ORDER BY LEFT(會計科目.編號, 1) DESC, 會計科目.編號"
  221. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds3) : 月3_dgv.DataSource = ds3.Tables(0) : conn.Close()
  222. 月3_dgv.Columns(0).FillWeight = 20 : 月3_dgv.Columns(1).Visible = False : 月3_dgv.Columns(2).Visible = False : 月3_dgv.Columns(3).Visible = False
  223. 月3_dgv.Columns(4).Visible = False : 月3_dgv.Columns(5).Visible = False : 月3_dgv.Columns(6).Visible = False : 月3_dgv.Columns(7).Visible = False
  224. 月3_dgv.Columns(8).Visible = False : 月3_dgv.Columns(9).FillWeight = 75
  225. 月3_dgv.Columns(9).DefaultCellStyle.Format = "#,##0"
  226. 月3_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 月3_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  227. 月3_dgv.Columns(9).ReadOnly = True
  228. TextBox9.Text = "0" : TextBox10.Text = "0" : TextBox11.Text = "0" : TextBox12.Text = "0" : TextBox28.Text = "0" : TextBox74.Text = "0"
  229. For i As Integer = 0 To 月3_dgv.Rows.Count - 1
  230. If 月3_dgv.Rows(i).Cells("主項金額").Value.ToString = "" Then : 月3_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  231. If 月3_dgv.Rows(i).Cells("子項金額").Value.ToString = "" Then : 月3_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  232. If 月3_dgv.Rows(i).Cells("細項金額").Value.ToString = "" Then : 月3_dgv.Rows(i).Cells("細項金額").Value = 0 : End If
  233. If 月3_dgv.Rows(i).Cells("層級").Value.ToString <> "1" Then : 月3_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  234. If 月3_dgv.Rows(i).Cells("層級").Value.ToString <> "2" Then : 月3_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  235. If 月3_dgv.Rows(i).Cells("主項金額").Value.ToString <> "0" Then : 月3_dgv.Rows(i).Cells("金額").Value = 月3_dgv.Rows(i).Cells("主項金額").Value
  236. ElseIf 月3_dgv.Rows(i).Cells("子項金額").Value.ToString <> "0" Then : 月3_dgv.Rows(i).Cells("金額").Value = 月3_dgv.Rows(i).Cells("子項金額").Value
  237. ElseIf 月3_dgv.Rows(i).Cells("細項金額").Value.ToString <> "0" Then : 月3_dgv.Rows(i).Cells("金額").Value = 月3_dgv.Rows(i).Cells("細項金額").Value
  238. Else : 月3_dgv.Rows(i).Cells("金額").Value = 0 : End If
  239. If 月3_dgv("第一階", i).Value.ToString = "歲出合計" Then
  240. 月3_dgv("金額", i).Value = Val(月3_dgv.Rows(i).Cells("金額").Value) * -1
  241. End If
  242. If 月3_dgv.Rows(i).Cells("第一階").Value.ToString = "資本" Then : TextBox9.Text = Val(TextBox9.Text) + 月3_dgv.Rows(i).Cells("主項金額").Value : End If
  243. If 月3_dgv.Rows(i).Cells("第一階").Value.ToString = "歲入合計" Then : TextBox10.Text = Val(TextBox10.Text) + 月3_dgv.Rows(i).Cells("主項金額").Value : End If
  244. If 月3_dgv.Rows(i).Cells("第一階").Value.ToString = "歲出合計" Then : TextBox11.Text = Val(TextBox11.Text) + 月3_dgv.Rows(i).Cells("主項金額").Value : End If
  245. If 月3_dgv.Rows(i).Cells("第一階").Value.ToString = "上月結存" Then : TextBox28.Text = Val(TextBox28.Text) + 月3_dgv.Rows(i).Cells("主項金額").Value : End If
  246. Next
  247. If Val(TextBox28.Text) > 0 Then
  248. TextBox86.Text = Val(TextBox28.Text) - Val(TextBox8.Text)
  249. Else
  250. TextBox86.Text = 0
  251. End If
  252. TextBox11.Text = Val(TextBox11.Text) * -1
  253. TextBox12.Text = Val(TextBox28.Text) + Val(TextBox9.Text) + Val(TextBox10.Text) - Val(TextBox11.Text)
  254. TextBox74.Text = Val(TextBox10.Text) - Val(TextBox11.Text)
  255. End Sub
  256. Private Sub Set_清單4()
  257. 月4_dgv.DataSource = Nothing : ds4.Clear() : 月4_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  258. 月4_dgv.ColumnHeadersHeight = 50 : 月4_dgv.AllowUserToAddRows = False
  259. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  260. SQL1 = "SELECT 會計科目.層級, 會計科目.第一階, 會計科目.第二階, 會計科目.第一階 AS 主項, 會計科目.第二階 AS 子項, 會計科目.會計科目 AS 子細項, QQWW.主項金額, WWEE.子項金額,
  261. EERR.細項金額, EERR.細項金額 AS [金額]
  262. FROM 會計科目 FULL OUTER JOIN
  263. (SELECT 公帳流水帳_3.類別 AS 細項, SUM(公帳流水帳_3.零用金 * (公帳流水帳_3.匯率)) + SUM(公帳流水帳_3.支票數 * (公帳流水帳_3.匯率)) +
  264. SUM(Cast(公帳流水帳_3.收入 AS money) * (公帳流水帳_3.匯率)) - SUM(Cast(公帳流水帳_3.支出 AS money) * (公帳流水帳_3.匯率)) AS 細項金額
  265. FROM 公帳流水帳 AS 公帳流水帳_3 INNER JOIN 公帳控制表 AS 公帳控制表_3 ON 公帳流水帳_3.支付單號 = 公帳控制表_3.支付單號
  266. WHERE (LEFT(公帳控制表_3.審核日期,7) LIKE N'" & 年份_cb.Text & "/04')
  267. GROUP BY 公帳流水帳_3.類別) AS EERR ON 會計科目.編號 = EERR.細項
  268. FULL OUTER JOIN
  269. (SELECT LEFT(公帳流水帳_2.類別, 4) AS 主碼, SUM(公帳流水帳_2.零用金 * (公帳流水帳_2.匯率)) + SUM(公帳流水帳_2.支票數 * (公帳流水帳_2.匯率)) +
  270. SUM(Cast(公帳流水帳_2.收入 AS money) * (公帳流水帳_2.匯率)) - SUM(Cast(公帳流水帳_2.支出 AS money) * (公帳流水帳_2.匯率)) AS 主項金額
  271. FROM 公帳流水帳 AS 公帳流水帳_2 INNER JOIN 公帳控制表 AS 公帳控制表_2 ON 公帳流水帳_2.支付單號 = 公帳控制表_2.支付單號
  272. WHERE (LEFT(公帳控制表_2.審核日期,7) LIKE N'" & 年份_cb.Text & "/04')
  273. GROUP BY LEFT(公帳流水帳_2.類別, 4)) AS QQWW ON LEFT(會計科目.編號, 4) = QQWW.主碼
  274. FULL OUTER JOIN
  275. (SELECT LEFT(公帳流水帳_1.類別, 7) AS 子碼, SUM(公帳流水帳_1.零用金 * (公帳流水帳_1.匯率)) + SUM(公帳流水帳_1.支票數 * (公帳流水帳_1.匯率)) +
  276. SUM(Cast(公帳流水帳_1.收入 AS money) * (公帳流水帳_1.匯率)) - SUM(Cast(公帳流水帳_1.支出 AS money) * (公帳流水帳_1.匯率)) AS 子項金額
  277. FROM 公帳流水帳 AS 公帳流水帳_1 INNER JOIN 公帳控制表 AS 公帳控制表_1 ON 公帳流水帳_1.支付單號 = 公帳控制表_1.支付單號
  278. WHERE (LEFT(公帳控制表_1.審核日期,7) LIKE N'" & 年份_cb.Text & "/04')
  279. GROUP BY LEFT(公帳流水帳_1.類別, 7)) AS WWEE ON LEFT(會計科目.編號, 7) = WWEE.子碼
  280. WHERE (會計科目.顯示 = 1)
  281. ORDER BY LEFT(會計科目.編號, 1) DESC, 會計科目.編號"
  282. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds4) : 月4_dgv.DataSource = ds4.Tables(0) : conn.Close()
  283. 月4_dgv.Columns(0).FillWeight = 20 : 月4_dgv.Columns(1).Visible = False : 月4_dgv.Columns(2).Visible = False : 月4_dgv.Columns(3).Visible = False
  284. 月4_dgv.Columns(4).Visible = False : 月4_dgv.Columns(5).Visible = False : 月4_dgv.Columns(6).Visible = False : 月4_dgv.Columns(7).Visible = False
  285. 月4_dgv.Columns(8).Visible = False : 月4_dgv.Columns(9).FillWeight = 75
  286. 月4_dgv.Columns(9).DefaultCellStyle.Format = "#,##0"
  287. 月4_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 月4_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  288. 月4_dgv.Columns(9).ReadOnly = True
  289. TextBox13.Text = "0" : TextBox14.Text = "0" : TextBox15.Text = "0" : TextBox16.Text = "0" : TextBox27.Text = "0" : TextBox73.Text = "0"
  290. For i As Integer = 0 To 月4_dgv.Rows.Count - 1
  291. If 月4_dgv.Rows(i).Cells("主項金額").Value.ToString = "" Then : 月4_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  292. If 月4_dgv.Rows(i).Cells("子項金額").Value.ToString = "" Then : 月4_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  293. If 月4_dgv.Rows(i).Cells("細項金額").Value.ToString = "" Then : 月4_dgv.Rows(i).Cells("細項金額").Value = 0 : End If
  294. If 月4_dgv.Rows(i).Cells("層級").Value.ToString <> "1" Then : 月4_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  295. If 月4_dgv.Rows(i).Cells("層級").Value.ToString <> "2" Then : 月4_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  296. If 月4_dgv.Rows(i).Cells("主項金額").Value.ToString <> "0" Then : 月4_dgv.Rows(i).Cells("金額").Value = 月4_dgv.Rows(i).Cells("主項金額").Value
  297. ElseIf 月4_dgv.Rows(i).Cells("子項金額").Value.ToString <> "0" Then : 月4_dgv.Rows(i).Cells("金額").Value = 月4_dgv.Rows(i).Cells("子項金額").Value
  298. ElseIf 月4_dgv.Rows(i).Cells("細項金額").Value.ToString <> "0" Then : 月4_dgv.Rows(i).Cells("金額").Value = 月4_dgv.Rows(i).Cells("細項金額").Value
  299. Else : 月4_dgv.Rows(i).Cells("金額").Value = 0 : End If
  300. If 月4_dgv("第一階", i).Value.ToString = "歲出合計" Then
  301. 月4_dgv("金額", i).Value = Val(月4_dgv.Rows(i).Cells("金額").Value) * -1
  302. End If
  303. If 月4_dgv.Rows(i).Cells("第一階").Value.ToString = "資本" Then : TextBox13.Text = Val(TextBox13.Text) + 月4_dgv.Rows(i).Cells("主項金額").Value : End If
  304. If 月4_dgv.Rows(i).Cells("第一階").Value.ToString = "歲入合計" Then : TextBox14.Text = Val(TextBox14.Text) + 月4_dgv.Rows(i).Cells("主項金額").Value : End If
  305. If 月4_dgv.Rows(i).Cells("第一階").Value.ToString = "歲出合計" Then : TextBox15.Text = Val(TextBox15.Text) + 月4_dgv.Rows(i).Cells("主項金額").Value : End If
  306. If 月4_dgv.Rows(i).Cells("第一階").Value.ToString = "上月結存" Then : TextBox27.Text = Val(TextBox27.Text) + 月4_dgv.Rows(i).Cells("主項金額").Value : End If
  307. Next
  308. If Val(TextBox27.Text) > 0 Then
  309. TextBox85.Text = Val(TextBox27.Text) - Val(TextBox12.Text)
  310. Else
  311. TextBox85.Text = 0
  312. End If
  313. TextBox15.Text = Val(TextBox15.Text) * -1
  314. TextBox16.Text = Val(TextBox27.Text) + Val(TextBox13.Text) + Val(TextBox14.Text) - Val(TextBox15.Text)
  315. TextBox73.Text = Val(TextBox14.Text) - Val(TextBox15.Text)
  316. End Sub
  317. Private Sub Set_清單5()
  318. 月5_dgv.DataSource = Nothing : ds5.Clear() : 月5_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  319. 月5_dgv.ColumnHeadersHeight = 50 : 月5_dgv.AllowUserToAddRows = False
  320. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  321. SQL1 = "SELECT 會計科目.層級, 會計科目.第一階, 會計科目.第二階, 會計科目.第一階 AS 主項, 會計科目.第二階 AS 子項, 會計科目.會計科目 AS 子細項, QQWW.主項金額, WWEE.子項金額,
  322. EERR.細項金額, EERR.細項金額 AS [金額]
  323. FROM 會計科目 FULL OUTER JOIN
  324. (SELECT 公帳流水帳_3.類別 AS 細項, SUM(公帳流水帳_3.零用金 * (公帳流水帳_3.匯率)) + SUM(公帳流水帳_3.支票數 * (公帳流水帳_3.匯率)) +
  325. SUM(Cast(公帳流水帳_3.收入 AS money) * (公帳流水帳_3.匯率)) - SUM(Cast(公帳流水帳_3.支出 AS money) * (公帳流水帳_3.匯率)) AS 細項金額
  326. FROM 公帳流水帳 AS 公帳流水帳_3 INNER JOIN 公帳控制表 AS 公帳控制表_3 ON 公帳流水帳_3.支付單號 = 公帳控制表_3.支付單號
  327. WHERE (LEFT(公帳控制表_3.審核日期,7) LIKE N'" & 年份_cb.Text & "/05')
  328. GROUP BY 公帳流水帳_3.類別) AS EERR ON 會計科目.編號 = EERR.細項
  329. FULL OUTER JOIN
  330. (SELECT LEFT(公帳流水帳_2.類別, 4) AS 主碼, SUM(公帳流水帳_2.零用金 * (公帳流水帳_2.匯率)) + SUM(公帳流水帳_2.支票數 * (公帳流水帳_2.匯率)) +
  331. SUM(Cast(公帳流水帳_2.收入 AS money) * (公帳流水帳_2.匯率)) - SUM(Cast(公帳流水帳_2.支出 AS money) * (公帳流水帳_2.匯率)) AS 主項金額
  332. FROM 公帳流水帳 AS 公帳流水帳_2 INNER JOIN 公帳控制表 AS 公帳控制表_2 ON 公帳流水帳_2.支付單號 = 公帳控制表_2.支付單號
  333. WHERE (LEFT(公帳控制表_2.審核日期,7) LIKE N'" & 年份_cb.Text & "/05')
  334. GROUP BY LEFT(公帳流水帳_2.類別, 4)) AS QQWW ON LEFT(會計科目.編號, 4) = QQWW.主碼
  335. FULL OUTER JOIN
  336. (SELECT LEFT(公帳流水帳_1.類別, 7) AS 子碼, SUM(公帳流水帳_1.零用金 * (公帳流水帳_1.匯率)) + SUM(公帳流水帳_1.支票數 * (公帳流水帳_1.匯率)) +
  337. SUM(Cast(公帳流水帳_1.收入 AS money) * (公帳流水帳_1.匯率)) - SUM(Cast(公帳流水帳_1.支出 AS money) * (公帳流水帳_1.匯率)) AS 子項金額
  338. FROM 公帳流水帳 AS 公帳流水帳_1 INNER JOIN 公帳控制表 AS 公帳控制表_1 ON 公帳流水帳_1.支付單號 = 公帳控制表_1.支付單號
  339. WHERE (LEFT(公帳控制表_1.審核日期,7) LIKE N'" & 年份_cb.Text & "/05')
  340. GROUP BY LEFT(公帳流水帳_1.類別, 7)) AS WWEE ON LEFT(會計科目.編號, 7) = WWEE.子碼
  341. WHERE (會計科目.顯示 = 1)
  342. ORDER BY LEFT(會計科目.編號, 1) DESC, 會計科目.編號"
  343. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds5) : 月5_dgv.DataSource = ds5.Tables(0) : conn.Close()
  344. 月5_dgv.Columns(0).FillWeight = 20 : 月5_dgv.Columns(1).Visible = False : 月5_dgv.Columns(2).Visible = False : 月5_dgv.Columns(3).Visible = False
  345. 月5_dgv.Columns(4).Visible = False : 月5_dgv.Columns(5).Visible = False : 月5_dgv.Columns(6).Visible = False : 月5_dgv.Columns(7).Visible = False
  346. 月5_dgv.Columns(8).Visible = False : 月5_dgv.Columns(9).FillWeight = 75
  347. 月5_dgv.Columns(9).DefaultCellStyle.Format = "#,##0"
  348. 月5_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 月5_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  349. 月5_dgv.Columns(9).ReadOnly = True
  350. TextBox17.Text = "0" : TextBox18.Text = "0" : TextBox19.Text = "0" : TextBox20.Text = "0" : TextBox26.Text = "0" : TextBox72.Text = "0"
  351. For i As Integer = 0 To 月5_dgv.Rows.Count - 1
  352. If 月5_dgv.Rows(i).Cells("主項金額").Value.ToString = "" Then : 月5_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  353. If 月5_dgv.Rows(i).Cells("子項金額").Value.ToString = "" Then : 月5_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  354. If 月5_dgv.Rows(i).Cells("細項金額").Value.ToString = "" Then : 月5_dgv.Rows(i).Cells("細項金額").Value = 0 : End If
  355. If 月5_dgv.Rows(i).Cells("層級").Value.ToString <> "1" Then : 月5_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  356. If 月5_dgv.Rows(i).Cells("層級").Value.ToString <> "2" Then : 月5_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  357. If 月5_dgv.Rows(i).Cells("主項金額").Value.ToString <> "0" Then : 月5_dgv.Rows(i).Cells("金額").Value = 月5_dgv.Rows(i).Cells("主項金額").Value
  358. ElseIf 月5_dgv.Rows(i).Cells("子項金額").Value.ToString <> "0" Then : 月5_dgv.Rows(i).Cells("金額").Value = 月5_dgv.Rows(i).Cells("子項金額").Value
  359. ElseIf 月5_dgv.Rows(i).Cells("細項金額").Value.ToString <> "0" Then : 月5_dgv.Rows(i).Cells("金額").Value = 月5_dgv.Rows(i).Cells("細項金額").Value
  360. Else : 月5_dgv.Rows(i).Cells("金額").Value = 0 : End If
  361. If 月5_dgv("第一階", i).Value.ToString = "歲出合計" Then
  362. 月5_dgv("金額", i).Value = Val(月5_dgv.Rows(i).Cells("金額").Value) * -1
  363. End If
  364. If 月5_dgv.Rows(i).Cells("第一階").Value.ToString = "資本" Then : TextBox17.Text = Val(TextBox17.Text) + 月5_dgv.Rows(i).Cells("主項金額").Value : End If
  365. If 月5_dgv.Rows(i).Cells("第一階").Value.ToString = "歲入合計" Then : TextBox18.Text = Val(TextBox18.Text) + 月5_dgv.Rows(i).Cells("主項金額").Value : End If
  366. If 月5_dgv.Rows(i).Cells("第一階").Value.ToString = "歲出合計" Then : TextBox19.Text = Val(TextBox19.Text) + 月5_dgv.Rows(i).Cells("主項金額").Value : End If
  367. If 月5_dgv.Rows(i).Cells("第一階").Value.ToString = "上月結存" Then : TextBox26.Text = Val(TextBox26.Text) + 月5_dgv.Rows(i).Cells("主項金額").Value : End If
  368. Next
  369. If Val(TextBox26.Text) > 0 Then
  370. TextBox84.Text = Val(TextBox26.Text) - Val(TextBox16.Text)
  371. Else
  372. TextBox84.Text = 0
  373. End If
  374. TextBox19.Text = Val(TextBox19.Text) * -1
  375. TextBox20.Text = Val(TextBox17.Text) + Val(TextBox18.Text) - Val(TextBox19.Text) + Val(TextBox26.Text)
  376. TextBox72.Text = Val(TextBox18.Text) - Val(TextBox19.Text)
  377. End Sub
  378. Private Sub Set_清單6()
  379. 月6_dgv.DataSource = Nothing : ds6.Clear() : 月6_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  380. 月6_dgv.ColumnHeadersHeight = 50 : 月6_dgv.AllowUserToAddRows = False
  381. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  382. SQL1 = "SELECT 會計科目.層級, 會計科目.第一階, 會計科目.第二階, 會計科目.第一階 AS 主項, 會計科目.第二階 AS 子項, 會計科目.會計科目 AS 子細項, QQWW.主項金額, WWEE.子項金額,
  383. EERR.細項金額, EERR.細項金額 AS [金額]
  384. FROM 會計科目 FULL OUTER JOIN
  385. (SELECT 公帳流水帳_3.類別 AS 細項, SUM(公帳流水帳_3.零用金 * (公帳流水帳_3.匯率)) + SUM(公帳流水帳_3.支票數 * (公帳流水帳_3.匯率)) +
  386. SUM(Cast(公帳流水帳_3.收入 AS money) * (公帳流水帳_3.匯率)) - SUM(Cast(公帳流水帳_3.支出 AS money) * (公帳流水帳_3.匯率)) AS 細項金額
  387. FROM 公帳流水帳 AS 公帳流水帳_3 INNER JOIN 公帳控制表 AS 公帳控制表_3 ON 公帳流水帳_3.支付單號 = 公帳控制表_3.支付單號
  388. WHERE (LEFT(公帳控制表_3.審核日期,7) LIKE N'" & 年份_cb.Text & "/06')
  389. GROUP BY 公帳流水帳_3.類別) AS EERR ON 會計科目.編號 = EERR.細項
  390. FULL OUTER JOIN
  391. (SELECT LEFT(公帳流水帳_2.類別, 4) AS 主碼, SUM(公帳流水帳_2.零用金 * (公帳流水帳_2.匯率)) + SUM(公帳流水帳_2.支票數 * (公帳流水帳_2.匯率)) +
  392. SUM(Cast(公帳流水帳_2.收入 AS money) * (公帳流水帳_2.匯率)) - SUM(Cast(公帳流水帳_2.支出 AS money) * (公帳流水帳_2.匯率)) AS 主項金額
  393. FROM 公帳流水帳 AS 公帳流水帳_2 INNER JOIN 公帳控制表 AS 公帳控制表_2 ON 公帳流水帳_2.支付單號 = 公帳控制表_2.支付單號
  394. WHERE (LEFT(公帳控制表_2.審核日期,7) LIKE N'" & 年份_cb.Text & "/06')
  395. GROUP BY LEFT(公帳流水帳_2.類別, 4)) AS QQWW ON LEFT(會計科目.編號, 4) = QQWW.主碼
  396. FULL OUTER JOIN
  397. (SELECT LEFT(公帳流水帳_1.類別, 7) AS 子碼, SUM(公帳流水帳_1.零用金 * (公帳流水帳_1.匯率)) + SUM(公帳流水帳_1.支票數 * (公帳流水帳_1.匯率)) +
  398. SUM(Cast(公帳流水帳_1.收入 AS money) * (公帳流水帳_1.匯率)) - SUM(Cast(公帳流水帳_1.支出 AS money) * (公帳流水帳_1.匯率)) AS 子項金額
  399. FROM 公帳流水帳 AS 公帳流水帳_1 INNER JOIN 公帳控制表 AS 公帳控制表_1 ON 公帳流水帳_1.支付單號 = 公帳控制表_1.支付單號
  400. WHERE (LEFT(公帳控制表_1.審核日期,7) LIKE N'" & 年份_cb.Text & "/06')
  401. GROUP BY LEFT(公帳流水帳_1.類別, 7)) AS WWEE ON LEFT(會計科目.編號, 7) = WWEE.子碼
  402. WHERE (會計科目.顯示 = 1)
  403. ORDER BY LEFT(會計科目.編號, 1) DESC, 會計科目.編號"
  404. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds6) : 月6_dgv.DataSource = ds6.Tables(0) : conn.Close()
  405. 月6_dgv.Columns(0).FillWeight = 20 : 月6_dgv.Columns(1).Visible = False : 月6_dgv.Columns(2).Visible = False : 月6_dgv.Columns(3).Visible = False
  406. 月6_dgv.Columns(4).Visible = False : 月6_dgv.Columns(5).Visible = False : 月6_dgv.Columns(6).Visible = False : 月6_dgv.Columns(7).Visible = False
  407. 月6_dgv.Columns(8).Visible = False : 月6_dgv.Columns(9).FillWeight = 75
  408. 月6_dgv.Columns(9).DefaultCellStyle.Format = "#,##0"
  409. 月6_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 月6_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  410. 月6_dgv.Columns(9).ReadOnly = True
  411. TextBox21.Text = "0" : TextBox22.Text = "0" : TextBox23.Text = "0" : TextBox24.Text = "0" : TextBox25.Text = "0" : TextBox71.Text = "0"
  412. For i As Integer = 0 To 月6_dgv.Rows.Count - 1
  413. If 月6_dgv.Rows(i).Cells("主項金額").Value.ToString = "" Then : 月6_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  414. If 月6_dgv.Rows(i).Cells("子項金額").Value.ToString = "" Then : 月6_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  415. If 月6_dgv.Rows(i).Cells("細項金額").Value.ToString = "" Then : 月6_dgv.Rows(i).Cells("細項金額").Value = 0 : End If
  416. If 月6_dgv.Rows(i).Cells("層級").Value.ToString <> "1" Then : 月6_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  417. If 月6_dgv.Rows(i).Cells("層級").Value.ToString <> "2" Then : 月6_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  418. If 月6_dgv.Rows(i).Cells("主項金額").Value.ToString <> "0" Then : 月6_dgv.Rows(i).Cells("金額").Value = 月6_dgv.Rows(i).Cells("主項金額").Value
  419. ElseIf 月6_dgv.Rows(i).Cells("子項金額").Value.ToString <> "0" Then : 月6_dgv.Rows(i).Cells("金額").Value = 月6_dgv.Rows(i).Cells("子項金額").Value
  420. ElseIf 月6_dgv.Rows(i).Cells("細項金額").Value.ToString <> "0" Then : 月6_dgv.Rows(i).Cells("金額").Value = 月6_dgv.Rows(i).Cells("細項金額").Value
  421. Else : 月6_dgv.Rows(i).Cells("金額").Value = 0 : End If
  422. If 月6_dgv("第一階", i).Value.ToString = "歲出合計" Then
  423. 月6_dgv("金額", i).Value = Val(月6_dgv.Rows(i).Cells("金額").Value) * -1
  424. End If
  425. If 月6_dgv.Rows(i).Cells("第一階").Value.ToString = "資本" Then : TextBox21.Text = Val(TextBox21.Text) + 月6_dgv.Rows(i).Cells("主項金額").Value : End If
  426. If 月6_dgv.Rows(i).Cells("第一階").Value.ToString = "歲入合計" Then : TextBox22.Text = Val(TextBox22.Text) + 月6_dgv.Rows(i).Cells("主項金額").Value : End If
  427. If 月6_dgv.Rows(i).Cells("第一階").Value.ToString = "歲出合計" Then : TextBox23.Text = Val(TextBox23.Text) + 月6_dgv.Rows(i).Cells("主項金額").Value : End If
  428. If 月6_dgv.Rows(i).Cells("第一階").Value.ToString = "上月結存" Then : TextBox25.Text = Val(TextBox25.Text) + 月6_dgv.Rows(i).Cells("主項金額").Value : End If
  429. Next
  430. If Val(TextBox25.Text) > 0 Then
  431. TextBox83.Text = Val(TextBox25.Text) - Val(TextBox20.Text)
  432. Else
  433. TextBox83.Text = 0
  434. End If
  435. TextBox23.Text = Val(TextBox23.Text) * -1
  436. TextBox24.Text = Val(TextBox21.Text) + Val(TextBox22.Text) - Val(TextBox23.Text) + Val(TextBox25.Text)
  437. TextBox71.Text = Val(TextBox22.Text) - Val(TextBox23.Text)
  438. End Sub
  439. Private Sub Set_清單7()
  440. 月7_dgv.DataSource = Nothing : ds7.Clear() : 月7_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  441. 月7_dgv.ColumnHeadersHeight = 50 : 月7_dgv.AllowUserToAddRows = False
  442. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  443. SQL1 = "SELECT 會計科目.層級, 會計科目.第一階, 會計科目.第二階, 會計科目.第一階 AS 主項, 會計科目.第二階 AS 子項, 會計科目.會計科目 AS 子細項, QQWW.主項金額, WWEE.子項金額,
  444. EERR.細項金額, EERR.細項金額 AS [金額]
  445. FROM 會計科目 FULL OUTER JOIN
  446. (SELECT 公帳流水帳_3.類別 AS 細項, SUM(公帳流水帳_3.零用金 * (公帳流水帳_3.匯率)) + SUM(公帳流水帳_3.支票數 * (公帳流水帳_3.匯率)) +
  447. SUM(Cast(公帳流水帳_3.收入 AS money) * (公帳流水帳_3.匯率)) - SUM(Cast(公帳流水帳_3.支出 AS money) * (公帳流水帳_3.匯率)) AS 細項金額
  448. FROM 公帳流水帳 AS 公帳流水帳_3 INNER JOIN 公帳控制表 AS 公帳控制表_3 ON 公帳流水帳_3.支付單號 = 公帳控制表_3.支付單號
  449. WHERE (LEFT(公帳控制表_3.審核日期,7) LIKE N'" & 年份_cb.Text & "/07')
  450. GROUP BY 公帳流水帳_3.類別) AS EERR ON 會計科目.編號 = EERR.細項
  451. FULL OUTER JOIN
  452. (SELECT LEFT(公帳流水帳_2.類別, 4) AS 主碼, SUM(公帳流水帳_2.零用金 * (公帳流水帳_2.匯率)) + SUM(公帳流水帳_2.支票數 * (公帳流水帳_2.匯率)) +
  453. SUM(Cast(公帳流水帳_2.收入 AS money) * (公帳流水帳_2.匯率)) - SUM(Cast(公帳流水帳_2.支出 AS money) * (公帳流水帳_2.匯率)) AS 主項金額
  454. FROM 公帳流水帳 AS 公帳流水帳_2 INNER JOIN 公帳控制表 AS 公帳控制表_2 ON 公帳流水帳_2.支付單號 = 公帳控制表_2.支付單號
  455. WHERE (LEFT(公帳控制表_2.審核日期,7) LIKE N'" & 年份_cb.Text & "/07')
  456. GROUP BY LEFT(公帳流水帳_2.類別, 4)) AS QQWW ON LEFT(會計科目.編號, 4) = QQWW.主碼
  457. FULL OUTER JOIN
  458. (SELECT LEFT(公帳流水帳_1.類別, 7) AS 子碼, SUM(公帳流水帳_1.零用金 * (公帳流水帳_1.匯率)) + SUM(公帳流水帳_1.支票數 * (公帳流水帳_1.匯率)) +
  459. SUM(Cast(公帳流水帳_1.收入 AS money) * (公帳流水帳_1.匯率)) - SUM(Cast(公帳流水帳_1.支出 AS money) * (公帳流水帳_1.匯率)) AS 子項金額
  460. FROM 公帳流水帳 AS 公帳流水帳_1 INNER JOIN 公帳控制表 AS 公帳控制表_1 ON 公帳流水帳_1.支付單號 = 公帳控制表_1.支付單號
  461. WHERE (LEFT(公帳控制表_1.審核日期,7) LIKE N'" & 年份_cb.Text & "/07')
  462. GROUP BY LEFT(公帳流水帳_1.類別, 7)) AS WWEE ON LEFT(會計科目.編號, 7) = WWEE.子碼
  463. WHERE (會計科目.顯示 = 1)
  464. ORDER BY LEFT(會計科目.編號, 1) DESC, 會計科目.編號"
  465. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds7) : 月7_dgv.DataSource = ds7.Tables(0) : conn.Close()
  466. 月7_dgv.Columns(0).FillWeight = 20 : 月7_dgv.Columns(1).Visible = False : 月7_dgv.Columns(2).Visible = False : 月7_dgv.Columns(3).Visible = False
  467. 月7_dgv.Columns(4).Visible = False : 月7_dgv.Columns(5).Visible = False : 月7_dgv.Columns(6).Visible = False : 月7_dgv.Columns(7).Visible = False
  468. 月7_dgv.Columns(8).Visible = False : 月7_dgv.Columns(9).FillWeight = 75
  469. 月7_dgv.Columns(9).DefaultCellStyle.Format = "#,##0"
  470. 月7_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 月7_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  471. 月7_dgv.Columns(9).ReadOnly = True
  472. TextBox31.Text = "0" : TextBox32.Text = "0" : TextBox33.Text = "0" : TextBox34.Text = "0" : TextBox35.Text = "0" : TextBox70.Text = "0"
  473. For i As Integer = 0 To 月7_dgv.Rows.Count - 1
  474. If 月7_dgv.Rows(i).Cells("主項金額").Value.ToString = "" Then : 月7_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  475. If 月7_dgv.Rows(i).Cells("子項金額").Value.ToString = "" Then : 月7_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  476. If 月7_dgv.Rows(i).Cells("細項金額").Value.ToString = "" Then : 月7_dgv.Rows(i).Cells("細項金額").Value = 0 : End If
  477. If 月7_dgv.Rows(i).Cells("層級").Value.ToString <> "1" Then : 月7_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  478. If 月7_dgv.Rows(i).Cells("層級").Value.ToString <> "2" Then : 月7_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  479. If 月7_dgv.Rows(i).Cells("主項金額").Value.ToString <> "0" Then : 月7_dgv.Rows(i).Cells("金額").Value = 月7_dgv.Rows(i).Cells("主項金額").Value
  480. ElseIf 月7_dgv.Rows(i).Cells("子項金額").Value.ToString <> "0" Then : 月7_dgv.Rows(i).Cells("金額").Value = 月7_dgv.Rows(i).Cells("子項金額").Value
  481. ElseIf 月7_dgv.Rows(i).Cells("細項金額").Value.ToString <> "0" Then : 月7_dgv.Rows(i).Cells("金額").Value = 月7_dgv.Rows(i).Cells("細項金額").Value
  482. Else : 月7_dgv.Rows(i).Cells("金額").Value = 0 : End If
  483. If 月7_dgv("第一階", i).Value.ToString = "歲出合計" Then
  484. 月7_dgv("金額", i).Value = Val(月7_dgv.Rows(i).Cells("金額").Value) * -1
  485. End If
  486. If 月7_dgv.Rows(i).Cells("第一階").Value.ToString = "資本" Then : TextBox35.Text = Val(TextBox35.Text) + 月7_dgv.Rows(i).Cells("主項金額").Value : End If
  487. If 月7_dgv.Rows(i).Cells("第一階").Value.ToString = "歲入合計" Then : TextBox34.Text = Val(TextBox34.Text) + 月7_dgv.Rows(i).Cells("主項金額").Value : End If
  488. If 月7_dgv.Rows(i).Cells("第一階").Value.ToString = "歲出合計" Then : TextBox33.Text = Val(TextBox33.Text) + 月7_dgv.Rows(i).Cells("主項金額").Value : End If
  489. If 月7_dgv.Rows(i).Cells("第一階").Value.ToString = "上月結存" Then : TextBox31.Text = Val(TextBox31.Text) + 月7_dgv.Rows(i).Cells("主項金額").Value : End If
  490. Next
  491. If Val(TextBox31.Text) > 0 Then
  492. TextBox82.Text = Val(TextBox31.Text) - Val(TextBox24.Text)
  493. Else
  494. TextBox82.Text = 0
  495. End If
  496. TextBox33.Text = Val(TextBox33.Text) * -1
  497. TextBox32.Text = Val(TextBox35.Text) + Val(TextBox34.Text) - Val(TextBox33.Text) + Val(TextBox31.Text)
  498. TextBox70.Text = Val(TextBox34.Text) - Val(TextBox33.Text)
  499. End Sub
  500. Private Sub Set_清單8()
  501. 月8_dgv.DataSource = Nothing : ds8.Clear() : 月8_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  502. 月8_dgv.ColumnHeadersHeight = 50 : 月8_dgv.AllowUserToAddRows = False
  503. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  504. SQL1 = "SELECT 會計科目.層級, 會計科目.第一階, 會計科目.第二階, 會計科目.第一階 AS 主項, 會計科目.第二階 AS 子項, 會計科目.會計科目 AS 子細項, QQWW.主項金額, WWEE.子項金額,
  505. EERR.細項金額, EERR.細項金額 AS [金額]
  506. FROM 會計科目 FULL OUTER JOIN
  507. (SELECT 公帳流水帳_3.類別 AS 細項, SUM(公帳流水帳_3.零用金 * (公帳流水帳_3.匯率)) + SUM(公帳流水帳_3.支票數 * (公帳流水帳_3.匯率)) +
  508. SUM(Cast(公帳流水帳_3.收入 AS money) * (公帳流水帳_3.匯率)) - SUM(Cast(公帳流水帳_3.支出 AS money) * (公帳流水帳_3.匯率)) AS 細項金額
  509. FROM 公帳流水帳 AS 公帳流水帳_3 INNER JOIN 公帳控制表 AS 公帳控制表_3 ON 公帳流水帳_3.支付單號 = 公帳控制表_3.支付單號
  510. WHERE (LEFT(公帳控制表_3.審核日期,7) LIKE N'" & 年份_cb.Text & "/08')
  511. GROUP BY 公帳流水帳_3.類別) AS EERR ON 會計科目.編號 = EERR.細項
  512. FULL OUTER JOIN
  513. (SELECT LEFT(公帳流水帳_2.類別, 4) AS 主碼, SUM(公帳流水帳_2.零用金 * (公帳流水帳_2.匯率)) + SUM(公帳流水帳_2.支票數 * (公帳流水帳_2.匯率)) +
  514. SUM(Cast(公帳流水帳_2.收入 AS money) * (公帳流水帳_2.匯率)) - SUM(Cast(公帳流水帳_2.支出 AS money) * (公帳流水帳_2.匯率)) AS 主項金額
  515. FROM 公帳流水帳 AS 公帳流水帳_2 INNER JOIN 公帳控制表 AS 公帳控制表_2 ON 公帳流水帳_2.支付單號 = 公帳控制表_2.支付單號
  516. WHERE (LEFT(公帳控制表_2.審核日期,7) LIKE N'" & 年份_cb.Text & "/08')
  517. GROUP BY LEFT(公帳流水帳_2.類別, 4)) AS QQWW ON LEFT(會計科目.編號, 4) = QQWW.主碼
  518. FULL OUTER JOIN
  519. (SELECT LEFT(公帳流水帳_1.類別, 7) AS 子碼, SUM(公帳流水帳_1.零用金 * (公帳流水帳_1.匯率)) + SUM(公帳流水帳_1.支票數 * (公帳流水帳_1.匯率)) +
  520. SUM(Cast(公帳流水帳_1.收入 AS money) * (公帳流水帳_1.匯率)) - SUM(Cast(公帳流水帳_1.支出 AS money) * (公帳流水帳_1.匯率)) AS 子項金額
  521. FROM 公帳流水帳 AS 公帳流水帳_1 INNER JOIN 公帳控制表 AS 公帳控制表_1 ON 公帳流水帳_1.支付單號 = 公帳控制表_1.支付單號
  522. WHERE (LEFT(公帳控制表_1.審核日期,7) LIKE N'" & 年份_cb.Text & "/08')
  523. GROUP BY LEFT(公帳流水帳_1.類別, 7)) AS WWEE ON LEFT(會計科目.編號, 7) = WWEE.子碼
  524. WHERE (會計科目.顯示 = 1)
  525. ORDER BY LEFT(會計科目.編號, 1) DESC, 會計科目.編號"
  526. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds8) : 月8_dgv.DataSource = ds8.Tables(0) : conn.Close()
  527. 月8_dgv.Columns(0).FillWeight = 20 : 月8_dgv.Columns(1).Visible = False : 月8_dgv.Columns(2).Visible = False : 月8_dgv.Columns(3).Visible = False
  528. 月8_dgv.Columns(4).Visible = False : 月8_dgv.Columns(5).Visible = False : 月8_dgv.Columns(6).Visible = False : 月8_dgv.Columns(7).Visible = False
  529. 月8_dgv.Columns(8).Visible = False : 月8_dgv.Columns(9).FillWeight = 75
  530. 月8_dgv.Columns(9).DefaultCellStyle.Format = "#,##0"
  531. 月8_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 月8_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  532. 月8_dgv.Columns(9).ReadOnly = True
  533. TextBox36.Text = "0" : TextBox37.Text = "0" : TextBox38.Text = "0" : TextBox39.Text = "0" : TextBox40.Text = "0" : TextBox69.Text = "0"
  534. For i As Integer = 0 To 月8_dgv.Rows.Count - 1
  535. If 月8_dgv.Rows(i).Cells("主項金額").Value.ToString = "" Then : 月8_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  536. If 月8_dgv.Rows(i).Cells("子項金額").Value.ToString = "" Then : 月8_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  537. If 月8_dgv.Rows(i).Cells("細項金額").Value.ToString = "" Then : 月8_dgv.Rows(i).Cells("細項金額").Value = 0 : End If
  538. If 月8_dgv.Rows(i).Cells("層級").Value.ToString <> "1" Then : 月8_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  539. If 月8_dgv.Rows(i).Cells("層級").Value.ToString <> "2" Then : 月8_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  540. If 月8_dgv.Rows(i).Cells("主項金額").Value.ToString <> "0" Then : 月8_dgv.Rows(i).Cells("金額").Value = 月8_dgv.Rows(i).Cells("主項金額").Value
  541. ElseIf 月8_dgv.Rows(i).Cells("子項金額").Value.ToString <> "0" Then : 月8_dgv.Rows(i).Cells("金額").Value = 月8_dgv.Rows(i).Cells("子項金額").Value
  542. ElseIf 月8_dgv.Rows(i).Cells("細項金額").Value.ToString <> "0" Then : 月8_dgv.Rows(i).Cells("金額").Value = 月8_dgv.Rows(i).Cells("細項金額").Value
  543. Else : 月8_dgv.Rows(i).Cells("金額").Value = 0 : End If
  544. If 月8_dgv("第一階", i).Value.ToString = "歲出合計" Then
  545. 月8_dgv("金額", i).Value = Val(月8_dgv.Rows(i).Cells("金額").Value) * -1
  546. End If
  547. If 月8_dgv.Rows(i).Cells("第一階").Value.ToString = "資本" Then : TextBox40.Text = Val(TextBox40.Text) + 月8_dgv.Rows(i).Cells("主項金額").Value : End If
  548. If 月8_dgv.Rows(i).Cells("第一階").Value.ToString = "歲入合計" Then : TextBox39.Text = Val(TextBox39.Text) + 月8_dgv.Rows(i).Cells("主項金額").Value : End If
  549. If 月8_dgv.Rows(i).Cells("第一階").Value.ToString = "歲出合計" Then : TextBox38.Text = Val(TextBox38.Text) + 月8_dgv.Rows(i).Cells("主項金額").Value : End If
  550. If 月8_dgv.Rows(i).Cells("第一階").Value.ToString = "上月結存" Then : TextBox36.Text = Val(TextBox36.Text) + 月8_dgv.Rows(i).Cells("主項金額").Value : End If
  551. Next
  552. If Val(TextBox36.Text) > 0 Then
  553. TextBox81.Text = Val(TextBox36.Text) - Val(TextBox32.Text)
  554. Else
  555. TextBox81.Text = 0
  556. End If
  557. TextBox38.Text = Val(TextBox38.Text) * -1
  558. TextBox37.Text = Val(TextBox40.Text) + Val(TextBox39.Text) - Val(TextBox38.Text) + Val(TextBox36.Text)
  559. TextBox69.Text = Val(TextBox39.Text) - Val(TextBox38.Text)
  560. End Sub
  561. Private Sub Set_清單9()
  562. 月9_dgv.DataSource = Nothing : ds9.Clear() : 月9_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  563. 月9_dgv.ColumnHeadersHeight = 50 : 月9_dgv.AllowUserToAddRows = False
  564. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  565. SQL1 = "SELECT 會計科目.層級, 會計科目.第一階, 會計科目.第二階, 會計科目.第一階 AS 主項, 會計科目.第二階 AS 子項, 會計科目.會計科目 AS 子細項, QQWW.主項金額, WWEE.子項金額,
  566. EERR.細項金額, EERR.細項金額 AS [金額]
  567. FROM 會計科目 FULL OUTER JOIN
  568. (SELECT 公帳流水帳_3.類別 AS 細項, SUM(公帳流水帳_3.零用金 * (公帳流水帳_3.匯率)) + SUM(公帳流水帳_3.支票數 * (公帳流水帳_3.匯率)) +
  569. SUM(Cast(公帳流水帳_3.收入 AS money) * (公帳流水帳_3.匯率)) - SUM(Cast(公帳流水帳_3.支出 AS money) * (公帳流水帳_3.匯率)) AS 細項金額
  570. FROM 公帳流水帳 AS 公帳流水帳_3 INNER JOIN 公帳控制表 AS 公帳控制表_3 ON 公帳流水帳_3.支付單號 = 公帳控制表_3.支付單號
  571. WHERE (LEFT(公帳控制表_3.審核日期,7) LIKE N'" & 年份_cb.Text & "/09')
  572. GROUP BY 公帳流水帳_3.類別) AS EERR ON 會計科目.編號 = EERR.細項
  573. FULL OUTER JOIN
  574. (SELECT LEFT(公帳流水帳_2.類別, 4) AS 主碼, SUM(公帳流水帳_2.零用金 * (公帳流水帳_2.匯率)) + SUM(公帳流水帳_2.支票數 * (公帳流水帳_2.匯率)) +
  575. SUM(Cast(公帳流水帳_2.收入 AS money) * (公帳流水帳_2.匯率)) - SUM(Cast(公帳流水帳_2.支出 AS money) * (公帳流水帳_2.匯率)) AS 主項金額
  576. FROM 公帳流水帳 AS 公帳流水帳_2 INNER JOIN 公帳控制表 AS 公帳控制表_2 ON 公帳流水帳_2.支付單號 = 公帳控制表_2.支付單號
  577. WHERE (LEFT(公帳控制表_2.審核日期,7) LIKE N'" & 年份_cb.Text & "/09')
  578. GROUP BY LEFT(公帳流水帳_2.類別, 4)) AS QQWW ON LEFT(會計科目.編號, 4) = QQWW.主碼
  579. FULL OUTER JOIN
  580. (SELECT LEFT(公帳流水帳_1.類別, 7) AS 子碼, SUM(公帳流水帳_1.零用金 * (公帳流水帳_1.匯率)) + SUM(公帳流水帳_1.支票數 * (公帳流水帳_1.匯率)) +
  581. SUM(Cast(公帳流水帳_1.收入 AS money) * (公帳流水帳_1.匯率)) - SUM(Cast(公帳流水帳_1.支出 AS money) * (公帳流水帳_1.匯率)) AS 子項金額
  582. FROM 公帳流水帳 AS 公帳流水帳_1 INNER JOIN 公帳控制表 AS 公帳控制表_1 ON 公帳流水帳_1.支付單號 = 公帳控制表_1.支付單號
  583. WHERE (LEFT(公帳控制表_1.審核日期,7) LIKE N'" & 年份_cb.Text & "/09')
  584. GROUP BY LEFT(公帳流水帳_1.類別, 7)) AS WWEE ON LEFT(會計科目.編號, 7) = WWEE.子碼
  585. WHERE (會計科目.顯示 = 1)
  586. ORDER BY LEFT(會計科目.編號, 1) DESC, 會計科目.編號"
  587. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds9) : 月9_dgv.DataSource = ds9.Tables(0) : conn.Close()
  588. 月9_dgv.Columns(0).FillWeight = 20 : 月9_dgv.Columns(1).Visible = False : 月9_dgv.Columns(2).Visible = False : 月9_dgv.Columns(3).Visible = False
  589. 月9_dgv.Columns(4).Visible = False : 月9_dgv.Columns(5).Visible = False : 月9_dgv.Columns(6).Visible = False : 月9_dgv.Columns(7).Visible = False
  590. 月9_dgv.Columns(8).Visible = False : 月9_dgv.Columns(9).FillWeight = 75
  591. 月9_dgv.Columns(9).DefaultCellStyle.Format = "#,##0"
  592. 月9_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 月9_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  593. 月9_dgv.Columns(9).ReadOnly = True
  594. TextBox41.Text = "0" : TextBox42.Text = "0" : TextBox43.Text = "0" : TextBox44.Text = "0" : TextBox45.Text = "0" : TextBox68.Text = "0"
  595. For i As Integer = 0 To 月9_dgv.Rows.Count - 1
  596. If 月9_dgv.Rows(i).Cells("主項金額").Value.ToString = "" Then : 月9_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  597. If 月9_dgv.Rows(i).Cells("子項金額").Value.ToString = "" Then : 月9_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  598. If 月9_dgv.Rows(i).Cells("細項金額").Value.ToString = "" Then : 月9_dgv.Rows(i).Cells("細項金額").Value = 0 : End If
  599. If 月9_dgv.Rows(i).Cells("層級").Value.ToString <> "1" Then : 月9_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  600. If 月9_dgv.Rows(i).Cells("層級").Value.ToString <> "2" Then : 月9_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  601. If 月9_dgv.Rows(i).Cells("主項金額").Value.ToString <> "0" Then : 月9_dgv.Rows(i).Cells("金額").Value = 月9_dgv.Rows(i).Cells("主項金額").Value
  602. ElseIf 月9_dgv.Rows(i).Cells("子項金額").Value.ToString <> "0" Then : 月9_dgv.Rows(i).Cells("金額").Value = 月9_dgv.Rows(i).Cells("子項金額").Value
  603. ElseIf 月9_dgv.Rows(i).Cells("細項金額").Value.ToString <> "0" Then : 月9_dgv.Rows(i).Cells("金額").Value = 月9_dgv.Rows(i).Cells("細項金額").Value
  604. Else : 月9_dgv.Rows(i).Cells("金額").Value = 0 : End If
  605. If 月9_dgv("第一階", i).Value.ToString = "歲出合計" Then
  606. 月9_dgv("金額", i).Value = Val(月9_dgv.Rows(i).Cells("金額").Value) * -1
  607. End If
  608. If 月9_dgv.Rows(i).Cells("第一階").Value.ToString = "資本" Then : TextBox45.Text = Val(TextBox45.Text) + 月9_dgv.Rows(i).Cells("主項金額").Value : End If
  609. If 月9_dgv.Rows(i).Cells("第一階").Value.ToString = "歲入合計" Then : TextBox44.Text = Val(TextBox44.Text) + 月9_dgv.Rows(i).Cells("主項金額").Value : End If
  610. If 月9_dgv.Rows(i).Cells("第一階").Value.ToString = "歲出合計" Then : TextBox43.Text = Val(TextBox43.Text) + 月9_dgv.Rows(i).Cells("主項金額").Value : End If
  611. If 月9_dgv.Rows(i).Cells("第一階").Value.ToString = "上月結存" Then : TextBox41.Text = Val(TextBox41.Text) + 月9_dgv.Rows(i).Cells("主項金額").Value : End If
  612. Next
  613. If Val(TextBox41.Text) > 0 Then
  614. TextBox80.Text = Val(TextBox41.Text) - Val(TextBox37.Text)
  615. Else
  616. TextBox80.Text = 0
  617. End If
  618. TextBox43.Text = Val(TextBox43.Text) * -1
  619. TextBox42.Text = Val(TextBox45.Text) + Val(TextBox44.Text) - Val(TextBox43.Text) + Val(TextBox41.Text)
  620. TextBox68.Text = Val(TextBox44.Text) - Val(TextBox43.Text)
  621. End Sub
  622. Private Sub Set_清單10()
  623. 月10_dgv.DataSource = Nothing : ds10.Clear() : 月10_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  624. 月10_dgv.ColumnHeadersHeight = 50 : 月10_dgv.AllowUserToAddRows = False
  625. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  626. SQL1 = "SELECT 會計科目.層級, 會計科目.第一階, 會計科目.第二階, 會計科目.第一階 AS 主項, 會計科目.第二階 AS 子項, 會計科目.會計科目 AS 子細項, QQWW.主項金額, WWEE.子項金額,
  627. EERR.細項金額, EERR.細項金額 AS [金額]
  628. FROM 會計科目 FULL OUTER JOIN
  629. (SELECT 公帳流水帳_3.類別 AS 細項, SUM(公帳流水帳_3.零用金 * (公帳流水帳_3.匯率)) + SUM(公帳流水帳_3.支票數 * (公帳流水帳_3.匯率)) +
  630. SUM(Cast(公帳流水帳_3.收入 AS money) * (公帳流水帳_3.匯率)) - SUM(Cast(公帳流水帳_3.支出 AS money) * (公帳流水帳_3.匯率)) AS 細項金額
  631. FROM 公帳流水帳 AS 公帳流水帳_3 INNER JOIN 公帳控制表 AS 公帳控制表_3 ON 公帳流水帳_3.支付單號 = 公帳控制表_3.支付單號
  632. WHERE (LEFT(公帳控制表_3.審核日期,7) LIKE N'" & 年份_cb.Text & "/10')
  633. GROUP BY 公帳流水帳_3.類別) AS EERR ON 會計科目.編號 = EERR.細項
  634. FULL OUTER JOIN
  635. (SELECT LEFT(公帳流水帳_2.類別, 4) AS 主碼, SUM(公帳流水帳_2.零用金 * (公帳流水帳_2.匯率)) + SUM(公帳流水帳_2.支票數 * (公帳流水帳_2.匯率)) +
  636. SUM(Cast(公帳流水帳_2.收入 AS money) * (公帳流水帳_2.匯率)) - SUM(Cast(公帳流水帳_2.支出 AS money) * (公帳流水帳_2.匯率)) AS 主項金額
  637. FROM 公帳流水帳 AS 公帳流水帳_2 INNER JOIN 公帳控制表 AS 公帳控制表_2 ON 公帳流水帳_2.支付單號 = 公帳控制表_2.支付單號
  638. WHERE (LEFT(公帳控制表_2.審核日期,7) LIKE N'" & 年份_cb.Text & "/10')
  639. GROUP BY LEFT(公帳流水帳_2.類別, 4)) AS QQWW ON LEFT(會計科目.編號, 4) = QQWW.主碼
  640. FULL OUTER JOIN
  641. (SELECT LEFT(公帳流水帳_1.類別, 7) AS 子碼, SUM(公帳流水帳_1.零用金 * (公帳流水帳_1.匯率)) + SUM(公帳流水帳_1.支票數 * (公帳流水帳_1.匯率)) +
  642. SUM(Cast(公帳流水帳_1.收入 AS money) * (公帳流水帳_1.匯率)) - SUM(Cast(公帳流水帳_1.支出 AS money) * (公帳流水帳_1.匯率)) AS 子項金額
  643. FROM 公帳流水帳 AS 公帳流水帳_1 INNER JOIN 公帳控制表 AS 公帳控制表_1 ON 公帳流水帳_1.支付單號 = 公帳控制表_1.支付單號
  644. WHERE (LEFT(公帳控制表_1.審核日期,7) LIKE N'" & 年份_cb.Text & "/10')
  645. GROUP BY LEFT(公帳流水帳_1.類別, 7)) AS WWEE ON LEFT(會計科目.編號, 7) = WWEE.子碼
  646. WHERE (會計科目.顯示 = 1)
  647. ORDER BY LEFT(會計科目.編號, 1) DESC, 會計科目.編號"
  648. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds10) : 月10_dgv.DataSource = ds10.Tables(0) : conn.Close()
  649. 月10_dgv.Columns(0).FillWeight = 20 : 月10_dgv.Columns(1).Visible = False : 月10_dgv.Columns(2).Visible = False : 月10_dgv.Columns(3).Visible = False
  650. 月10_dgv.Columns(4).Visible = False : 月10_dgv.Columns(5).Visible = False : 月10_dgv.Columns(6).Visible = False : 月10_dgv.Columns(7).Visible = False
  651. 月10_dgv.Columns(8).Visible = False : 月10_dgv.Columns(9).FillWeight = 75
  652. 月10_dgv.Columns(9).DefaultCellStyle.Format = "#,##0"
  653. 月10_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 月10_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  654. 月10_dgv.Columns(9).ReadOnly = True
  655. TextBox46.Text = "0" : TextBox47.Text = "0" : TextBox48.Text = "0" : TextBox49.Text = "0" : TextBox50.Text = "0" : TextBox67.Text = "0"
  656. For i As Integer = 0 To 月10_dgv.Rows.Count - 1
  657. If 月10_dgv.Rows(i).Cells("主項金額").Value.ToString = "" Then : 月10_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  658. If 月10_dgv.Rows(i).Cells("子項金額").Value.ToString = "" Then : 月10_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  659. If 月10_dgv.Rows(i).Cells("細項金額").Value.ToString = "" Then : 月10_dgv.Rows(i).Cells("細項金額").Value = 0 : End If
  660. If 月10_dgv.Rows(i).Cells("層級").Value.ToString <> "1" Then : 月10_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  661. If 月10_dgv.Rows(i).Cells("層級").Value.ToString <> "2" Then : 月10_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  662. If 月10_dgv.Rows(i).Cells("主項金額").Value.ToString <> "0" Then : 月10_dgv.Rows(i).Cells("金額").Value = 月10_dgv.Rows(i).Cells("主項金額").Value
  663. ElseIf 月10_dgv.Rows(i).Cells("子項金額").Value.ToString <> "0" Then : 月10_dgv.Rows(i).Cells("金額").Value = 月10_dgv.Rows(i).Cells("子項金額").Value
  664. ElseIf 月10_dgv.Rows(i).Cells("細項金額").Value.ToString <> "0" Then : 月10_dgv.Rows(i).Cells("金額").Value = 月10_dgv.Rows(i).Cells("細項金額").Value
  665. Else : 月10_dgv.Rows(i).Cells("金額").Value = 0 : End If
  666. If 月10_dgv("第一階", i).Value.ToString = "歲出合計" Then
  667. 月10_dgv("金額", i).Value = Val(月10_dgv.Rows(i).Cells("金額").Value) * -1
  668. End If
  669. If 月10_dgv.Rows(i).Cells("第一階").Value.ToString = "資本" Then : TextBox50.Text = Val(TextBox50.Text) + 月10_dgv.Rows(i).Cells("主項金額").Value : End If
  670. If 月10_dgv.Rows(i).Cells("第一階").Value.ToString = "歲入合計" Then : TextBox49.Text = Val(TextBox49.Text) + 月10_dgv.Rows(i).Cells("主項金額").Value : End If
  671. If 月10_dgv.Rows(i).Cells("第一階").Value.ToString = "歲出合計" Then : TextBox48.Text = Val(TextBox48.Text) + 月10_dgv.Rows(i).Cells("主項金額").Value : End If
  672. If 月10_dgv.Rows(i).Cells("第一階").Value.ToString = "上月結存" Then : TextBox46.Text = Val(TextBox46.Text) + 月10_dgv.Rows(i).Cells("主項金額").Value : End If
  673. Next
  674. If Val(TextBox46.Text) > 0 Then
  675. TextBox79.Text = Val(TextBox46.Text) - Val(TextBox42.Text)
  676. Else
  677. TextBox79.Text = 0
  678. End If
  679. TextBox48.Text = Val(TextBox48.Text) * -1
  680. TextBox47.Text = Val(TextBox50.Text) + Val(TextBox49.Text) - Val(TextBox48.Text) + Val(TextBox46.Text)
  681. TextBox67.Text = Val(TextBox49.Text) - Val(TextBox48.Text)
  682. End Sub
  683. Private Sub Set_清單11()
  684. 月11_dgv.DataSource = Nothing : ds11.Clear() : 月11_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  685. 月11_dgv.ColumnHeadersHeight = 50 : 月11_dgv.AllowUserToAddRows = False
  686. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  687. SQL1 = "SELECT 會計科目.層級, 會計科目.第一階, 會計科目.第二階, 會計科目.第一階 AS 主項, 會計科目.第二階 AS 子項, 會計科目.會計科目 AS 子細項, QQWW.主項金額, WWEE.子項金額,
  688. EERR.細項金額, EERR.細項金額 AS [金額]
  689. FROM 會計科目 FULL OUTER JOIN
  690. (SELECT 公帳流水帳_3.類別 AS 細項, SUM(公帳流水帳_3.零用金 * (公帳流水帳_3.匯率)) + SUM(公帳流水帳_3.支票數 * (公帳流水帳_3.匯率)) +
  691. SUM(Cast(公帳流水帳_3.收入 AS money) * (公帳流水帳_3.匯率)) - SUM(Cast(公帳流水帳_3.支出 AS money) * (公帳流水帳_3.匯率)) AS 細項金額
  692. FROM 公帳流水帳 AS 公帳流水帳_3 INNER JOIN 公帳控制表 AS 公帳控制表_3 ON 公帳流水帳_3.支付單號 = 公帳控制表_3.支付單號
  693. WHERE (LEFT(公帳控制表_3.審核日期,7) LIKE N'" & 年份_cb.Text & "/11')
  694. GROUP BY 公帳流水帳_3.類別) AS EERR ON 會計科目.編號 = EERR.細項
  695. FULL OUTER JOIN
  696. (SELECT LEFT(公帳流水帳_2.類別, 4) AS 主碼, SUM(公帳流水帳_2.零用金 * (公帳流水帳_2.匯率)) + SUM(公帳流水帳_2.支票數 * (公帳流水帳_2.匯率)) +
  697. SUM(Cast(公帳流水帳_2.收入 AS money) * (公帳流水帳_2.匯率)) - SUM(Cast(公帳流水帳_2.支出 AS money) * (公帳流水帳_2.匯率)) AS 主項金額
  698. FROM 公帳流水帳 AS 公帳流水帳_2 INNER JOIN 公帳控制表 AS 公帳控制表_2 ON 公帳流水帳_2.支付單號 = 公帳控制表_2.支付單號
  699. WHERE (LEFT(公帳控制表_2.審核日期,7) LIKE N'" & 年份_cb.Text & "/11')
  700. GROUP BY LEFT(公帳流水帳_2.類別, 4)) AS QQWW ON LEFT(會計科目.編號, 4) = QQWW.主碼
  701. FULL OUTER JOIN
  702. (SELECT LEFT(公帳流水帳_1.類別, 7) AS 子碼, SUM(公帳流水帳_1.零用金 * (公帳流水帳_1.匯率)) + SUM(公帳流水帳_1.支票數 * (公帳流水帳_1.匯率)) +
  703. SUM(Cast(公帳流水帳_1.收入 AS money) * (公帳流水帳_1.匯率)) - SUM(Cast(公帳流水帳_1.支出 AS money) * (公帳流水帳_1.匯率)) AS 子項金額
  704. FROM 公帳流水帳 AS 公帳流水帳_1 INNER JOIN 公帳控制表 AS 公帳控制表_1 ON 公帳流水帳_1.支付單號 = 公帳控制表_1.支付單號
  705. WHERE (LEFT(公帳控制表_1.審核日期,7) LIKE N'" & 年份_cb.Text & "/11')
  706. GROUP BY LEFT(公帳流水帳_1.類別, 7)) AS WWEE ON LEFT(會計科目.編號, 7) = WWEE.子碼
  707. WHERE (會計科目.顯示 = 1)
  708. ORDER BY LEFT(會計科目.編號, 1) DESC, 會計科目.編號"
  709. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds11) : 月11_dgv.DataSource = ds11.Tables(0) : conn.Close()
  710. 月11_dgv.Columns(0).FillWeight = 20 : 月11_dgv.Columns(1).Visible = False : 月11_dgv.Columns(2).Visible = False : 月11_dgv.Columns(3).Visible = False
  711. 月11_dgv.Columns(4).Visible = False : 月11_dgv.Columns(5).Visible = False : 月11_dgv.Columns(6).Visible = False : 月11_dgv.Columns(7).Visible = False
  712. 月11_dgv.Columns(8).Visible = False : 月11_dgv.Columns(9).FillWeight = 75
  713. 月11_dgv.Columns(9).DefaultCellStyle.Format = "#,##0"
  714. 月11_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 月11_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  715. 月11_dgv.Columns(9).ReadOnly = True
  716. TextBox51.Text = "0" : TextBox52.Text = "0" : TextBox53.Text = "0" : TextBox54.Text = "0" : TextBox55.Text = "0" : TextBox66.Text = "0"
  717. For i As Integer = 0 To 月11_dgv.Rows.Count - 1
  718. If 月11_dgv.Rows(i).Cells("主項金額").Value.ToString = "" Then : 月11_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  719. If 月11_dgv.Rows(i).Cells("子項金額").Value.ToString = "" Then : 月11_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  720. If 月11_dgv.Rows(i).Cells("細項金額").Value.ToString = "" Then : 月11_dgv.Rows(i).Cells("細項金額").Value = 0 : End If
  721. If 月11_dgv.Rows(i).Cells("層級").Value.ToString <> "1" Then : 月11_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  722. If 月11_dgv.Rows(i).Cells("層級").Value.ToString <> "2" Then : 月11_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  723. If 月11_dgv.Rows(i).Cells("主項金額").Value.ToString <> "0" Then : 月11_dgv.Rows(i).Cells("金額").Value = 月11_dgv.Rows(i).Cells("主項金額").Value
  724. ElseIf 月11_dgv.Rows(i).Cells("子項金額").Value.ToString <> "0" Then : 月11_dgv.Rows(i).Cells("金額").Value = 月11_dgv.Rows(i).Cells("子項金額").Value
  725. ElseIf 月11_dgv.Rows(i).Cells("細項金額").Value.ToString <> "0" Then : 月11_dgv.Rows(i).Cells("金額").Value = 月11_dgv.Rows(i).Cells("細項金額").Value
  726. Else : 月11_dgv.Rows(i).Cells("金額").Value = 0 : End If
  727. If 月11_dgv("第一階", i).Value.ToString = "歲出合計" Then
  728. 月11_dgv("金額", i).Value = Val(月11_dgv.Rows(i).Cells("金額").Value) * -1
  729. End If
  730. If 月11_dgv.Rows(i).Cells("第一階").Value.ToString = "資本" Then : TextBox55.Text = Val(TextBox55.Text) + 月11_dgv.Rows(i).Cells("主項金額").Value : End If
  731. If 月11_dgv.Rows(i).Cells("第一階").Value.ToString = "歲入合計" Then : TextBox54.Text = Val(TextBox54.Text) + 月11_dgv.Rows(i).Cells("主項金額").Value : End If
  732. If 月11_dgv.Rows(i).Cells("第一階").Value.ToString = "歲出合計" Then : TextBox53.Text = Val(TextBox53.Text) + 月11_dgv.Rows(i).Cells("主項金額").Value : End If
  733. If 月11_dgv.Rows(i).Cells("第一階").Value.ToString = "上月結存" Then : TextBox51.Text = Val(TextBox51.Text) + 月11_dgv.Rows(i).Cells("主項金額").Value : End If
  734. Next
  735. If Val(TextBox51.Text) > 0 Then
  736. TextBox78.Text = Val(TextBox51.Text) - Val(TextBox47.Text)
  737. Else
  738. TextBox78.Text = 0
  739. End If
  740. TextBox53.Text = Val(TextBox53.Text) * -1
  741. TextBox52.Text = Val(TextBox55.Text) + Val(TextBox54.Text) - Val(TextBox53.Text) + Val(TextBox51.Text)
  742. TextBox66.Text = Val(TextBox54.Text) - Val(TextBox53.Text)
  743. End Sub
  744. Private Sub Set_清單12()
  745. 月12_dgv.DataSource = Nothing : ds12.Clear() : 月12_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  746. 月12_dgv.ColumnHeadersHeight = 50 : 月12_dgv.AllowUserToAddRows = False
  747. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  748. SQL1 = "SELECT 會計科目.層級, 會計科目.第一階, 會計科目.第二階, 會計科目.第一階 AS 主項, 會計科目.第二階 AS 子項, 會計科目.會計科目 AS 子細項, QQWW.主項金額, WWEE.子項金額,
  749. EERR.細項金額, EERR.細項金額 AS [金額]
  750. FROM 會計科目 FULL OUTER JOIN
  751. (SELECT 公帳流水帳_3.類別 AS 細項, SUM(公帳流水帳_3.零用金 * (公帳流水帳_3.匯率)) + SUM(公帳流水帳_3.支票數 * (公帳流水帳_3.匯率)) +
  752. SUM(Cast(公帳流水帳_3.收入 AS money) * (公帳流水帳_3.匯率)) - SUM(Cast(公帳流水帳_3.支出 AS money) * (公帳流水帳_3.匯率)) AS 細項金額
  753. FROM 公帳流水帳 AS 公帳流水帳_3 INNER JOIN 公帳控制表 AS 公帳控制表_3 ON 公帳流水帳_3.支付單號 = 公帳控制表_3.支付單號
  754. WHERE (LEFT(公帳控制表_3.審核日期,7) LIKE N'" & 年份_cb.Text & "/12')
  755. GROUP BY 公帳流水帳_3.類別) AS EERR ON 會計科目.編號 = EERR.細項
  756. FULL OUTER JOIN
  757. (SELECT LEFT(公帳流水帳_2.類別, 4) AS 主碼, SUM(公帳流水帳_2.零用金 * (公帳流水帳_2.匯率)) + SUM(公帳流水帳_2.支票數 * (公帳流水帳_2.匯率)) +
  758. SUM(Cast(公帳流水帳_2.收入 AS money) * (公帳流水帳_2.匯率)) - SUM(Cast(公帳流水帳_2.支出 AS money) * (公帳流水帳_2.匯率)) AS 主項金額
  759. FROM 公帳流水帳 AS 公帳流水帳_2 INNER JOIN 公帳控制表 AS 公帳控制表_2 ON 公帳流水帳_2.支付單號 = 公帳控制表_2.支付單號
  760. WHERE (LEFT(公帳控制表_2.審核日期,7) LIKE N'" & 年份_cb.Text & "/12')
  761. GROUP BY LEFT(公帳流水帳_2.類別, 4)) AS QQWW ON LEFT(會計科目.編號, 4) = QQWW.主碼
  762. FULL OUTER JOIN
  763. (SELECT LEFT(公帳流水帳_1.類別, 7) AS 子碼, SUM(公帳流水帳_1.零用金 * (公帳流水帳_1.匯率)) + SUM(公帳流水帳_1.支票數 * (公帳流水帳_1.匯率)) +
  764. SUM(Cast(公帳流水帳_1.收入 AS money) * (公帳流水帳_1.匯率)) - SUM(Cast(公帳流水帳_1.支出 AS money) * (公帳流水帳_1.匯率)) AS 子項金額
  765. FROM 公帳流水帳 AS 公帳流水帳_1 INNER JOIN 公帳控制表 AS 公帳控制表_1 ON 公帳流水帳_1.支付單號 = 公帳控制表_1.支付單號
  766. WHERE (LEFT(公帳控制表_1.審核日期,7) LIKE N'" & 年份_cb.Text & "/12')
  767. GROUP BY LEFT(公帳流水帳_1.類別, 7)) AS WWEE ON LEFT(會計科目.編號, 7) = WWEE.子碼
  768. WHERE (會計科目.顯示 = 1)
  769. ORDER BY LEFT(會計科目.編號, 1) DESC, 會計科目.編號"
  770. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds12) : 月12_dgv.DataSource = ds12.Tables(0) : conn.Close()
  771. 月12_dgv.Columns(0).FillWeight = 20 : 月12_dgv.Columns(1).Visible = False : 月12_dgv.Columns(2).Visible = False : 月12_dgv.Columns(3).Visible = False
  772. 月12_dgv.Columns(4).Visible = False : 月12_dgv.Columns(5).Visible = False : 月12_dgv.Columns(6).Visible = False : 月12_dgv.Columns(7).Visible = False
  773. 月12_dgv.Columns(8).Visible = False : 月12_dgv.Columns(9).FillWeight = 75
  774. 月12_dgv.Columns(9).DefaultCellStyle.Format = "#,##0"
  775. 月12_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 月12_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  776. 月12_dgv.Columns(9).ReadOnly = True
  777. TextBox56.Text = "0" : TextBox57.Text = "0" : TextBox58.Text = "0" : TextBox59.Text = "0" : TextBox60.Text = "0" : TextBox65.Text = "0"
  778. For i As Integer = 0 To 月12_dgv.Rows.Count - 1
  779. If 月12_dgv.Rows(i).Cells("主項金額").Value.ToString = "" Then : 月12_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  780. If 月12_dgv.Rows(i).Cells("子項金額").Value.ToString = "" Then : 月12_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  781. If 月12_dgv.Rows(i).Cells("細項金額").Value.ToString = "" Then : 月12_dgv.Rows(i).Cells("細項金額").Value = 0 : End If
  782. If 月12_dgv.Rows(i).Cells("層級").Value.ToString <> "1" Then : 月12_dgv.Rows(i).Cells("主項金額").Value = 0 : End If
  783. If 月12_dgv.Rows(i).Cells("層級").Value.ToString <> "2" Then : 月12_dgv.Rows(i).Cells("子項金額").Value = 0 : End If
  784. If 月12_dgv.Rows(i).Cells("主項金額").Value.ToString <> "0" Then : 月12_dgv.Rows(i).Cells("金額").Value = 月12_dgv.Rows(i).Cells("主項金額").Value
  785. ElseIf 月12_dgv.Rows(i).Cells("子項金額").Value.ToString <> "0" Then : 月12_dgv.Rows(i).Cells("金額").Value = 月12_dgv.Rows(i).Cells("子項金額").Value
  786. ElseIf 月12_dgv.Rows(i).Cells("細項金額").Value.ToString <> "0" Then : 月12_dgv.Rows(i).Cells("金額").Value = 月12_dgv.Rows(i).Cells("細項金額").Value
  787. Else : 月12_dgv.Rows(i).Cells("金額").Value = 0 : End If
  788. If 月12_dgv("第一階", i).Value.ToString = "歲出合計" Then
  789. 月12_dgv("金額", i).Value = Val(月12_dgv.Rows(i).Cells("金額").Value) * -1
  790. End If
  791. If 月12_dgv.Rows(i).Cells("第一階").Value.ToString = "資本" Then : TextBox60.Text = Val(TextBox60.Text) + 月12_dgv.Rows(i).Cells("主項金額").Value : End If
  792. If 月12_dgv.Rows(i).Cells("第一階").Value.ToString = "歲入合計" Then : TextBox59.Text = Val(TextBox59.Text) + 月12_dgv.Rows(i).Cells("主項金額").Value : End If
  793. If 月12_dgv.Rows(i).Cells("第一階").Value.ToString = "歲出合計" Then : TextBox58.Text = Val(TextBox58.Text) + 月12_dgv.Rows(i).Cells("主項金額").Value : End If
  794. If 月12_dgv.Rows(i).Cells("第一階").Value.ToString = "上月結存" Then : TextBox56.Text = Val(TextBox56.Text) + 月12_dgv.Rows(i).Cells("主項金額").Value : End If
  795. Next
  796. If Val(TextBox56.Text) > 0 Then
  797. TextBox77.Text = Val(TextBox56.Text) - Val(TextBox52.Text)
  798. Else
  799. TextBox77.Text = 0
  800. End If
  801. TextBox58.Text = Val(TextBox58.Text) * -1
  802. TextBox57.Text = Val(TextBox60.Text) + Val(TextBox59.Text) - Val(TextBox58.Text) + Val(TextBox56.Text)
  803. TextBox65.Text = Val(TextBox59.Text) - Val(TextBox58.Text)
  804. End Sub
  805. Private Sub ComboBox1下拉表單資料載入()
  806. conn.Close()
  807. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  808. SQL1 = "SELECT 年份 FROM 年份清單 ORDER BY 年份 DESC"
  809. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  810. 年份_cb.Items.Clear()
  811. While (dr.Read()) : 年份_cb.Items.Add(dr("年份")) : End While
  812. conn.Close()
  813. End Sub
  814. Private Sub 格式設定()
  815. For no As Integer = 1 To 88
  816. Dim TextBoxOO As TextBox = CType(Me.Controls.Find("TextBox" + no.ToString(), True)(0), TextBox)
  817. TextBoxOO.Text = Format(Val(TextBoxOO.Text), "#,##0 ")
  818. Next
  819. For no As Integer = 64 To 88
  820. Dim TextBoxOO As TextBox = CType(Me.Controls.Find("TextBox" + no.ToString(), True)(0), TextBox)
  821. If Val(TextBoxOO.Text) > 1 Then : TextBoxOO.ForeColor = Color.Blue : ElseIf Val(TextBoxOO.Text) < 1 Then : TextBoxOO.ForeColor = Color.Red : End If
  822. Next
  823. End Sub
  824. Private Sub 營運報表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  825. Me.MdiParent = GCM_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  826. ComboBox1下拉表單資料載入() : 年份_cb.Text = Year(Today)
  827. Set_清單() : Set_清單1() : Set_清單2() : Set_清單3() : Set_清單4() : Set_清單5() : Set_清單6() : Set_清單7() : Set_清單8() : Set_清單9() : Set_清單10() : Set_清單11() : Set_清單12() : 格式設定()
  828. End Sub
  829. Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 年份_cb.SelectedIndexChanged
  830. Set_清單() : Set_清單1() : Set_清單2() : Set_清單3() : Set_清單4() : Set_清單5() : Set_清單6() : Set_清單7() : Set_清單8() : Set_清單9() : Set_清單10() : Set_清單11() : Set_清單12() : 格式設定()
  831. End Sub
  832. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  833. Set_清單() : Set_清單1() : Set_清單2() : Set_清單3() : Set_清單4() : Set_清單5() : Set_清單6() : Set_清單7() : Set_清單8() : Set_清單9() : Set_清單10() : Set_清單11() : Set_清單12() : 格式設定()
  834. End Sub
  835. Private Sub 主表_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 主表_dgv.RowPostPaint
  836. Dim linePen As New Pen(Color.Blue, 2) : Dim linePen1 As New Pen(Color.Red, 2)
  837. If e.RowIndex = 主表_dgv.Rows.Count - 1 Then : Exit Sub : Else
  838. If 主表_dgv(1, e.RowIndex).Value.ToString <> 主表_dgv(1, e.RowIndex + 1).Value.ToString Then
  839. Dim startX As Integer = IIf(主表_dgv.RowHeadersVisible, 主表_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  840. Dim endX As Integer = startX + 主表_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 主表_dgv.HorizontalScrollingOffset
  841. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  842. End If
  843. If 主表_dgv(2, e.RowIndex).Value.ToString <> 主表_dgv(2, e.RowIndex + 1).Value.ToString Then
  844. Dim startX As Integer = IIf(主表_dgv.RowHeadersVisible, 主表_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  845. Dim endX As Integer = startX + 主表_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 主表_dgv.HorizontalScrollingOffset
  846. e.Graphics.DrawLine(linePen1, startX, startY, endX, startY) : Exit Sub
  847. End If
  848. For i As Integer = 0 To 主表_dgv.Rows.Count - 1
  849. If 主表_dgv("層級", i).Value = 1 Then : 主表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink
  850. ElseIf 主表_dgv("層級", i).Value = 2 Then : 主表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
  851. End If
  852. If 主表_dgv("第一階", i).Value.ToString = "資本" Then : 主表_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Green
  853. ElseIf 主表_dgv("第一階", i).Value.ToString = "上月結存" Then : 主表_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Black
  854. ElseIf 主表_dgv("第一階", i).Value.ToString = "歲入合計" Then : 主表_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Blue
  855. ElseIf 主表_dgv("第一階", i).Value.ToString = "歲出合計" Then : 主表_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Red
  856. End If
  857. Next
  858. End If
  859. End Sub
  860. Private Sub 月1_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 月1_dgv.RowPostPaint
  861. Dim linePen As New Pen(Color.Blue, 2) : Dim linePen1 As New Pen(Color.Red, 2)
  862. If e.RowIndex = 月1_dgv.Rows.Count - 1 Then : Exit Sub : Else
  863. If 月1_dgv(1, e.RowIndex).Value.ToString <> 月1_dgv(1, e.RowIndex + 1).Value.ToString Then
  864. Dim startX As Integer = IIf(月1_dgv.RowHeadersVisible, 月1_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  865. Dim endX As Integer = startX + 月1_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月1_dgv.HorizontalScrollingOffset
  866. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  867. End If
  868. If 月1_dgv(2, e.RowIndex).Value.ToString <> 月1_dgv(2, e.RowIndex + 1).Value.ToString Then
  869. Dim startX As Integer = IIf(月1_dgv.RowHeadersVisible, 月1_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  870. Dim endX As Integer = startX + 月1_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月1_dgv.HorizontalScrollingOffset
  871. e.Graphics.DrawLine(linePen1, startX, startY, endX, startY) : Exit Sub
  872. End If
  873. For i As Integer = 0 To 月1_dgv.Rows.Count - 1
  874. If 月1_dgv("層級", i).Value = 1 Then : 月1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink
  875. ElseIf 月1_dgv("層級", i).Value = 2 Then : 月1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
  876. End If
  877. If 月1_dgv("第一階", i).Value.ToString = "資本" Then : 月1_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Green
  878. ElseIf 月1_dgv("第一階", i).Value.ToString = "上月結存" Then : 月1_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Black
  879. ElseIf 月1_dgv("第一階", i).Value.ToString = "歲入合計" Then : 月1_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Blue
  880. ElseIf 月1_dgv("第一階", i).Value.ToString = "歲出合計" Then : 月1_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Red
  881. End If
  882. Next
  883. End If
  884. End Sub
  885. Private Sub 月2_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 月2_dgv.RowPostPaint
  886. Dim linePen As New Pen(Color.Blue, 2) : Dim linePen1 As New Pen(Color.Red, 2)
  887. If e.RowIndex = 月2_dgv.Rows.Count - 1 Then : Exit Sub : Else
  888. If 月2_dgv(1, e.RowIndex).Value.ToString <> 月2_dgv(1, e.RowIndex + 1).Value.ToString Then
  889. Dim startX As Integer = IIf(月2_dgv.RowHeadersVisible, 月2_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  890. Dim endX As Integer = startX + 月2_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月2_dgv.HorizontalScrollingOffset
  891. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  892. End If
  893. If 月2_dgv(2, e.RowIndex).Value.ToString <> 月2_dgv(2, e.RowIndex + 1).Value.ToString Then
  894. Dim startX As Integer = IIf(月2_dgv.RowHeadersVisible, 月2_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  895. Dim endX As Integer = startX + 月2_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月2_dgv.HorizontalScrollingOffset
  896. e.Graphics.DrawLine(linePen1, startX, startY, endX, startY) : Exit Sub
  897. End If
  898. For i As Integer = 0 To 月2_dgv.Rows.Count - 1
  899. If 月2_dgv("層級", i).Value = 1 Then : 月2_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink
  900. ElseIf 月2_dgv("層級", i).Value = 2 Then : 月2_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
  901. End If
  902. If 月2_dgv("第一階", i).Value.ToString = "資本" Then : 月2_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Green
  903. ElseIf 月2_dgv("第一階", i).Value.ToString = "上月結存" Then : 月2_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Black
  904. ElseIf 月2_dgv("第一階", i).Value.ToString = "歲入合計" Then : 月2_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Blue
  905. ElseIf 月2_dgv("第一階", i).Value.ToString = "歲出合計" Then : 月2_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Red
  906. End If
  907. Next
  908. End If
  909. End Sub
  910. Private Sub 月3_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 月3_dgv.RowPostPaint
  911. Dim linePen As New Pen(Color.Blue, 2) : Dim linePen1 As New Pen(Color.Red, 2)
  912. If e.RowIndex = 月3_dgv.Rows.Count - 1 Then : Exit Sub : Else
  913. If 月3_dgv(1, e.RowIndex).Value.ToString <> 月3_dgv(1, e.RowIndex + 1).Value.ToString Then
  914. Dim startX As Integer = IIf(月3_dgv.RowHeadersVisible, 月3_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  915. Dim endX As Integer = startX + 月3_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月3_dgv.HorizontalScrollingOffset
  916. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  917. End If
  918. If 月3_dgv(2, e.RowIndex).Value.ToString <> 月3_dgv(2, e.RowIndex + 1).Value.ToString Then
  919. Dim startX As Integer = IIf(月3_dgv.RowHeadersVisible, 月3_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  920. Dim endX As Integer = startX + 月3_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月3_dgv.HorizontalScrollingOffset
  921. e.Graphics.DrawLine(linePen1, startX, startY, endX, startY) : Exit Sub
  922. End If
  923. For i As Integer = 0 To 月3_dgv.Rows.Count - 1
  924. If 月3_dgv("層級", i).Value = 1 Then : 月3_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink
  925. ElseIf 月3_dgv("層級", i).Value = 2 Then : 月3_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
  926. End If
  927. If 月3_dgv("第一階", i).Value.ToString = "資本" Then : 月3_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Green
  928. ElseIf 月3_dgv("第一階", i).Value.ToString = "上月結存" Then : 月3_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Black
  929. ElseIf 月3_dgv("第一階", i).Value.ToString = "歲入合計" Then : 月3_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Blue
  930. ElseIf 月3_dgv("第一階", i).Value.ToString = "歲出合計" Then : 月3_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Red
  931. End If
  932. Next
  933. End If
  934. End Sub
  935. Private Sub 月4_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 月4_dgv.RowPostPaint
  936. Dim linePen As New Pen(Color.Blue, 2) : Dim linePen1 As New Pen(Color.Red, 2)
  937. If e.RowIndex = 月4_dgv.Rows.Count - 1 Then : Exit Sub : Else
  938. If 月4_dgv(1, e.RowIndex).Value.ToString <> 月4_dgv(1, e.RowIndex + 1).Value.ToString Then
  939. Dim startX As Integer = IIf(月4_dgv.RowHeadersVisible, 月4_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  940. Dim endX As Integer = startX + 月4_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月4_dgv.HorizontalScrollingOffset
  941. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  942. End If
  943. If 月4_dgv(2, e.RowIndex).Value.ToString <> 月4_dgv(2, e.RowIndex + 1).Value.ToString Then
  944. Dim startX As Integer = IIf(月4_dgv.RowHeadersVisible, 月4_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  945. Dim endX As Integer = startX + 月4_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月4_dgv.HorizontalScrollingOffset
  946. e.Graphics.DrawLine(linePen1, startX, startY, endX, startY) : Exit Sub
  947. End If
  948. For i As Integer = 0 To 月4_dgv.Rows.Count - 1
  949. If 月4_dgv("層級", i).Value = 1 Then : 月4_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink
  950. ElseIf 月4_dgv("層級", i).Value = 2 Then : 月4_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
  951. End If
  952. If 月4_dgv("第一階", i).Value.ToString = "資本" Then : 月4_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Green
  953. ElseIf 月4_dgv("第一階", i).Value.ToString = "上月結存" Then : 月4_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Black
  954. ElseIf 月4_dgv("第一階", i).Value.ToString = "歲入合計" Then : 月4_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Blue
  955. ElseIf 月4_dgv("第一階", i).Value.ToString = "歲出合計" Then : 月4_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Red
  956. End If
  957. Next
  958. End If
  959. End Sub
  960. Private Sub 月5_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 月5_dgv.RowPostPaint
  961. Dim linePen As New Pen(Color.Blue, 2) : Dim linePen1 As New Pen(Color.Red, 2)
  962. If e.RowIndex = 月5_dgv.Rows.Count - 1 Then : Exit Sub : Else
  963. If 月5_dgv(1, e.RowIndex).Value.ToString <> 月5_dgv(1, e.RowIndex + 1).Value.ToString Then
  964. Dim startX As Integer = IIf(月5_dgv.RowHeadersVisible, 月5_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  965. Dim endX As Integer = startX + 月5_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月5_dgv.HorizontalScrollingOffset
  966. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  967. End If
  968. If 月5_dgv(2, e.RowIndex).Value.ToString <> 月5_dgv(2, e.RowIndex + 1).Value.ToString Then
  969. Dim startX As Integer = IIf(月5_dgv.RowHeadersVisible, 月5_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  970. Dim endX As Integer = startX + 月5_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月5_dgv.HorizontalScrollingOffset
  971. e.Graphics.DrawLine(linePen1, startX, startY, endX, startY) : Exit Sub
  972. End If
  973. For i As Integer = 0 To 月5_dgv.Rows.Count - 1
  974. If 月5_dgv("層級", i).Value = 1 Then : 月5_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink
  975. ElseIf 月5_dgv("層級", i).Value = 2 Then : 月5_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
  976. End If
  977. If 月5_dgv("第一階", i).Value.ToString = "資本" Then : 月5_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Green
  978. ElseIf 月5_dgv("第一階", i).Value.ToString = "上月結存" Then : 月5_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Black
  979. ElseIf 月5_dgv("第一階", i).Value.ToString = "歲入合計" Then : 月5_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Blue
  980. ElseIf 月5_dgv("第一階", i).Value.ToString = "歲出合計" Then : 月5_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Red
  981. End If
  982. Next
  983. End If
  984. End Sub
  985. Private Sub 月6_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 月6_dgv.RowPostPaint
  986. Dim linePen As New Pen(Color.Blue, 2) : Dim linePen1 As New Pen(Color.Red, 2)
  987. If e.RowIndex = 月6_dgv.Rows.Count - 1 Then : Exit Sub : Else
  988. If 月6_dgv(1, e.RowIndex).Value.ToString <> 月6_dgv(1, e.RowIndex + 1).Value.ToString Then
  989. Dim startX As Integer = IIf(月6_dgv.RowHeadersVisible, 月6_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  990. Dim endX As Integer = startX + 月6_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月6_dgv.HorizontalScrollingOffset
  991. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  992. End If
  993. If 月6_dgv(2, e.RowIndex).Value.ToString <> 月6_dgv(2, e.RowIndex + 1).Value.ToString Then
  994. Dim startX As Integer = IIf(月6_dgv.RowHeadersVisible, 月6_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  995. Dim endX As Integer = startX + 月6_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月6_dgv.HorizontalScrollingOffset
  996. e.Graphics.DrawLine(linePen1, startX, startY, endX, startY) : Exit Sub
  997. End If
  998. For i As Integer = 0 To 月6_dgv.Rows.Count - 1
  999. If 月6_dgv("層級", i).Value = 1 Then : 月6_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink
  1000. ElseIf 月6_dgv("層級", i).Value = 2 Then : 月6_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
  1001. End If
  1002. If 月6_dgv("第一階", i).Value.ToString = "資本" Then : 月6_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Green
  1003. ElseIf 月6_dgv("第一階", i).Value.ToString = "上月結存" Then : 月6_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Black
  1004. ElseIf 月6_dgv("第一階", i).Value.ToString = "歲入合計" Then : 月6_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Blue
  1005. ElseIf 月6_dgv("第一階", i).Value.ToString = "歲出合計" Then : 月6_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Red
  1006. End If
  1007. Next
  1008. End If
  1009. End Sub
  1010. Private Sub 月7_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 月7_dgv.RowPostPaint
  1011. Dim linePen As New Pen(Color.Blue, 2) : Dim linePen1 As New Pen(Color.Red, 2)
  1012. If e.RowIndex = 月7_dgv.Rows.Count - 1 Then : Exit Sub : Else
  1013. If 月7_dgv(1, e.RowIndex).Value.ToString <> 月7_dgv(1, e.RowIndex + 1).Value.ToString Then
  1014. Dim startX As Integer = IIf(月7_dgv.RowHeadersVisible, 月7_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  1015. Dim endX As Integer = startX + 月7_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月7_dgv.HorizontalScrollingOffset
  1016. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  1017. End If
  1018. If 月7_dgv(2, e.RowIndex).Value.ToString <> 月7_dgv(2, e.RowIndex + 1).Value.ToString Then
  1019. Dim startX As Integer = IIf(月7_dgv.RowHeadersVisible, 月7_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  1020. Dim endX As Integer = startX + 月7_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月7_dgv.HorizontalScrollingOffset
  1021. e.Graphics.DrawLine(linePen1, startX, startY, endX, startY) : Exit Sub
  1022. End If
  1023. For i As Integer = 0 To 月7_dgv.Rows.Count - 1
  1024. If 月7_dgv("層級", i).Value = 1 Then : 月7_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink
  1025. ElseIf 月7_dgv("層級", i).Value = 2 Then : 月7_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
  1026. End If
  1027. If 月7_dgv("第一階", i).Value.ToString = "資本" Then : 月7_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Green
  1028. ElseIf 月7_dgv("第一階", i).Value.ToString = "上月結存" Then : 月7_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Black
  1029. ElseIf 月7_dgv("第一階", i).Value.ToString = "歲入合計" Then : 月7_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Blue
  1030. ElseIf 月7_dgv("第一階", i).Value.ToString = "歲出合計" Then : 月7_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Red
  1031. End If
  1032. Next
  1033. End If
  1034. End Sub
  1035. Private Sub 月8_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 月8_dgv.RowPostPaint
  1036. Dim linePen As New Pen(Color.Blue, 2) : Dim linePen1 As New Pen(Color.Red, 2)
  1037. If e.RowIndex = 月8_dgv.Rows.Count - 1 Then : Exit Sub : Else
  1038. If 月8_dgv(1, e.RowIndex).Value.ToString <> 月8_dgv(1, e.RowIndex + 1).Value.ToString Then
  1039. Dim startX As Integer = IIf(月8_dgv.RowHeadersVisible, 月8_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  1040. Dim endX As Integer = startX + 月8_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月8_dgv.HorizontalScrollingOffset
  1041. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  1042. End If
  1043. If 月8_dgv(2, e.RowIndex).Value.ToString <> 月8_dgv(2, e.RowIndex + 1).Value.ToString Then
  1044. Dim startX As Integer = IIf(月8_dgv.RowHeadersVisible, 月8_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  1045. Dim endX As Integer = startX + 月8_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月8_dgv.HorizontalScrollingOffset
  1046. e.Graphics.DrawLine(linePen1, startX, startY, endX, startY) : Exit Sub
  1047. End If
  1048. For i As Integer = 0 To 月8_dgv.Rows.Count - 1
  1049. If 月8_dgv("層級", i).Value = 1 Then : 月8_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink
  1050. ElseIf 月8_dgv("層級", i).Value = 2 Then : 月8_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
  1051. End If
  1052. If 月8_dgv("第一階", i).Value.ToString = "資本" Then : 月8_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Green
  1053. ElseIf 月8_dgv("第一階", i).Value.ToString = "上月結存" Then : 月8_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Black
  1054. ElseIf 月8_dgv("第一階", i).Value.ToString = "歲入合計" Then : 月8_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Blue
  1055. ElseIf 月8_dgv("第一階", i).Value.ToString = "歲出合計" Then : 月8_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Red
  1056. End If
  1057. Next
  1058. End If
  1059. End Sub
  1060. Private Sub 月9_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 月9_dgv.RowPostPaint
  1061. Dim linePen As New Pen(Color.Blue, 2) : Dim linePen1 As New Pen(Color.Red, 2)
  1062. If e.RowIndex = 月9_dgv.Rows.Count - 1 Then : Exit Sub : Else
  1063. If 月9_dgv(1, e.RowIndex).Value.ToString <> 月9_dgv(1, e.RowIndex + 1).Value.ToString Then
  1064. Dim startX As Integer = IIf(月9_dgv.RowHeadersVisible, 月9_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  1065. Dim endX As Integer = startX + 月9_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月9_dgv.HorizontalScrollingOffset
  1066. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  1067. End If
  1068. If 月9_dgv(2, e.RowIndex).Value.ToString <> 月9_dgv(2, e.RowIndex + 1).Value.ToString Then
  1069. Dim startX As Integer = IIf(月9_dgv.RowHeadersVisible, 月9_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  1070. Dim endX As Integer = startX + 月9_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月9_dgv.HorizontalScrollingOffset
  1071. e.Graphics.DrawLine(linePen1, startX, startY, endX, startY) : Exit Sub
  1072. End If
  1073. For i As Integer = 0 To 月9_dgv.Rows.Count - 1
  1074. If 月9_dgv("層級", i).Value = 1 Then : 月9_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink
  1075. ElseIf 月9_dgv("層級", i).Value = 2 Then : 月9_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
  1076. End If
  1077. If 月9_dgv("第一階", i).Value.ToString = "資本" Then : 月9_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Green
  1078. ElseIf 月9_dgv("第一階", i).Value.ToString = "上月結存" Then : 月9_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Black
  1079. ElseIf 月9_dgv("第一階", i).Value.ToString = "歲入合計" Then : 月9_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Blue
  1080. ElseIf 月9_dgv("第一階", i).Value.ToString = "歲出合計" Then : 月9_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Red
  1081. End If
  1082. Next
  1083. End If
  1084. End Sub
  1085. Private Sub 月10_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 月10_dgv.RowPostPaint
  1086. Dim linePen As New Pen(Color.Blue, 2) : Dim linePen1 As New Pen(Color.Red, 2)
  1087. If e.RowIndex = 月10_dgv.Rows.Count - 1 Then : Exit Sub : Else
  1088. If 月10_dgv(1, e.RowIndex).Value.ToString <> 月10_dgv(1, e.RowIndex + 1).Value.ToString Then
  1089. Dim startX As Integer = IIf(月10_dgv.RowHeadersVisible, 月10_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  1090. Dim endX As Integer = startX + 月10_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月10_dgv.HorizontalScrollingOffset
  1091. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  1092. End If
  1093. If 月10_dgv(2, e.RowIndex).Value.ToString <> 月10_dgv(2, e.RowIndex + 1).Value.ToString Then
  1094. Dim startX As Integer = IIf(月10_dgv.RowHeadersVisible, 月10_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  1095. Dim endX As Integer = startX + 月10_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月10_dgv.HorizontalScrollingOffset
  1096. e.Graphics.DrawLine(linePen1, startX, startY, endX, startY) : Exit Sub
  1097. End If
  1098. For i As Integer = 0 To 月10_dgv.Rows.Count - 1
  1099. If 月10_dgv("層級", i).Value = 1 Then : 月10_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink
  1100. ElseIf 月10_dgv("層級", i).Value = 2 Then : 月10_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
  1101. End If
  1102. If 月10_dgv("第一階", i).Value.ToString = "資本" Then : 月10_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Green
  1103. ElseIf 月10_dgv("第一階", i).Value.ToString = "上月結存" Then : 月10_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Black
  1104. ElseIf 月10_dgv("第一階", i).Value.ToString = "歲入合計" Then : 月10_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Blue
  1105. ElseIf 月10_dgv("第一階", i).Value.ToString = "歲出合計" Then : 月10_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Red
  1106. End If
  1107. Next
  1108. End If
  1109. End Sub
  1110. Private Sub 月11_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 月11_dgv.RowPostPaint
  1111. Dim linePen As New Pen(Color.Blue, 2) : Dim linePen1 As New Pen(Color.Red, 2)
  1112. If e.RowIndex = 月11_dgv.Rows.Count - 1 Then : Exit Sub : Else
  1113. If 月11_dgv(1, e.RowIndex).Value.ToString <> 月11_dgv(1, e.RowIndex + 1).Value.ToString Then
  1114. Dim startX As Integer = IIf(月11_dgv.RowHeadersVisible, 月11_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  1115. Dim endX As Integer = startX + 月11_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月11_dgv.HorizontalScrollingOffset
  1116. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  1117. End If
  1118. If 月11_dgv(2, e.RowIndex).Value.ToString <> 月11_dgv(2, e.RowIndex + 1).Value.ToString Then
  1119. Dim startX As Integer = IIf(月11_dgv.RowHeadersVisible, 月11_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  1120. Dim endX As Integer = startX + 月11_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月11_dgv.HorizontalScrollingOffset
  1121. e.Graphics.DrawLine(linePen1, startX, startY, endX, startY) : Exit Sub
  1122. End If
  1123. For i As Integer = 0 To 月11_dgv.Rows.Count - 1
  1124. If 月11_dgv("層級", i).Value = 1 Then : 月11_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink
  1125. ElseIf 月11_dgv("層級", i).Value = 2 Then : 月11_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
  1126. End If
  1127. If 月11_dgv("第一階", i).Value.ToString = "資本" Then : 月11_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Green
  1128. ElseIf 月11_dgv("第一階", i).Value.ToString = "上月結存" Then : 月11_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Black
  1129. ElseIf 月11_dgv("第一階", i).Value.ToString = "歲入合計" Then : 月11_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Blue
  1130. ElseIf 月11_dgv("第一階", i).Value.ToString = "歲出合計" Then : 月11_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Red
  1131. End If
  1132. Next
  1133. End If
  1134. End Sub
  1135. Private Sub 月12_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 月12_dgv.RowPostPaint
  1136. Dim linePen As New Pen(Color.Blue, 2) : Dim linePen1 As New Pen(Color.Red, 2)
  1137. If e.RowIndex = 月12_dgv.Rows.Count - 1 Then : Exit Sub : Else
  1138. If 月12_dgv(1, e.RowIndex).Value.ToString <> 月12_dgv(1, e.RowIndex + 1).Value.ToString Then
  1139. Dim startX As Integer = IIf(月12_dgv.RowHeadersVisible, 月12_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  1140. Dim endX As Integer = startX + 月12_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月12_dgv.HorizontalScrollingOffset
  1141. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  1142. End If
  1143. If 月12_dgv(2, e.RowIndex).Value.ToString <> 月12_dgv(2, e.RowIndex + 1).Value.ToString Then
  1144. Dim startX As Integer = IIf(月12_dgv.RowHeadersVisible, 月12_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  1145. Dim endX As Integer = startX + 月12_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月12_dgv.HorizontalScrollingOffset
  1146. e.Graphics.DrawLine(linePen1, startX, startY, endX, startY) : Exit Sub
  1147. End If
  1148. For i As Integer = 0 To 月12_dgv.Rows.Count - 1
  1149. If 月12_dgv("層級", i).Value = 1 Then : 月12_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink
  1150. ElseIf 月12_dgv("層級", i).Value = 2 Then : 月12_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
  1151. End If
  1152. If 月12_dgv("第一階", i).Value.ToString = "資本" Then : 月12_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Green
  1153. ElseIf 月12_dgv("第一階", i).Value.ToString = "上月結存" Then : 月12_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Black
  1154. ElseIf 月12_dgv("第一階", i).Value.ToString = "歲入合計" Then : 月12_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Blue
  1155. ElseIf 月12_dgv("第一階", i).Value.ToString = "歲出合計" Then : 月12_dgv.Rows(i).DefaultCellStyle.ForeColor = Color.Red
  1156. End If
  1157. Next
  1158. End If
  1159. End Sub
  1160. Private Sub DataGridView2_Scroll(ByVal sender As Object, ByVal e As ScrollEventArgs) Handles 主表_dgv.Scroll
  1161. 月1_dgv.FirstDisplayedScrollingRowIndex = 主表_dgv.FirstDisplayedScrollingRowIndex : 月2_dgv.FirstDisplayedScrollingRowIndex = 主表_dgv.FirstDisplayedScrollingRowIndex
  1162. 月3_dgv.FirstDisplayedScrollingRowIndex = 主表_dgv.FirstDisplayedScrollingRowIndex : 月4_dgv.FirstDisplayedScrollingRowIndex = 主表_dgv.FirstDisplayedScrollingRowIndex
  1163. 月5_dgv.FirstDisplayedScrollingRowIndex = 主表_dgv.FirstDisplayedScrollingRowIndex : 月6_dgv.FirstDisplayedScrollingRowIndex = 主表_dgv.FirstDisplayedScrollingRowIndex
  1164. 月7_dgv.FirstDisplayedScrollingRowIndex = 主表_dgv.FirstDisplayedScrollingRowIndex : 月8_dgv.FirstDisplayedScrollingRowIndex = 主表_dgv.FirstDisplayedScrollingRowIndex
  1165. 月9_dgv.FirstDisplayedScrollingRowIndex = 主表_dgv.FirstDisplayedScrollingRowIndex : 月10_dgv.FirstDisplayedScrollingRowIndex = 主表_dgv.FirstDisplayedScrollingRowIndex
  1166. 月11_dgv.FirstDisplayedScrollingRowIndex = 主表_dgv.FirstDisplayedScrollingRowIndex : 月12_dgv.FirstDisplayedScrollingRowIndex = 主表_dgv.FirstDisplayedScrollingRowIndex
  1167. End Sub
  1168. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
  1169. Set_DGV2開始()
  1170. SQL1 = "SELECT 會計科目.層級, 會計科目.第一階, 會計科目.第二階, 會計科目.第一階 AS 主項, 會計科目.第二階 AS 子項, 會計科目.會計科目 AS 子細項, QQWW.主項金額, WWEE.子項金額, EERR.細項金額
  1171. FROM 會計科目 FULL OUTER JOIN
  1172. (SELECT 公帳流水帳_3.類別 AS 細項, SUM(公帳流水帳_3.零用金 * (公帳流水帳_3.匯率)) + SUM(公帳流水帳_3.支票數 * (公帳流水帳_3.匯率)) +
  1173. SUM(Cast(公帳流水帳_3.收入 AS money) * (公帳流水帳_3.匯率)) - SUM(Cast(公帳流水帳_3.支出 AS money) * (公帳流水帳_3.匯率)) AS 細項金額
  1174. FROM 公帳流水帳 AS 公帳流水帳_3 INNER JOIN 公帳控制表 AS 公帳控制表_3 ON 公帳流水帳_3.支付單號 = 公帳控制表_3.支付單號
  1175. GROUP BY 公帳流水帳_3.類別) AS EERR ON 會計科目.編號 = EERR.細項
  1176. FULL OUTER JOIN
  1177. (SELECT LEFT(公帳流水帳_2.類別, 4) AS 主碼, SUM(公帳流水帳_2.零用金 * (公帳流水帳_2.匯率)) + SUM(公帳流水帳_2.支票數 * (公帳流水帳_2.匯率)) +
  1178. SUM(Cast(公帳流水帳_2.收入 AS money) * (公帳流水帳_2.匯率)) - SUM(Cast(公帳流水帳_2.支出 AS money) * (公帳流水帳_2.匯率)) AS 主項金額
  1179. FROM 公帳流水帳 AS 公帳流水帳_2 INNER JOIN 公帳控制表 AS 公帳控制表_2 ON 公帳流水帳_2.支付單號 = 公帳控制表_2.支付單號
  1180. GROUP BY LEFT(公帳流水帳_2.類別, 4)) AS QQWW ON LEFT(會計科目.編號, 4) = QQWW.主碼
  1181. FULL OUTER JOIN
  1182. (SELECT LEFT(公帳流水帳_1.類別, 7) AS 子碼, SUM(公帳流水帳_1.零用金 * (公帳流水帳_1.匯率)) + SUM(公帳流水帳_1.支票數 * (公帳流水帳_1.匯率)) +
  1183. SUM(Cast(公帳流水帳_1.收入 AS money) * (公帳流水帳_1.匯率)) - SUM(Cast(公帳流水帳_1.支出 AS money) * (公帳流水帳_1.匯率)) AS 子項金額
  1184. FROM 公帳流水帳 AS 公帳流水帳_1 INNER JOIN 公帳控制表 AS 公帳控制表_1 ON 公帳流水帳_1.支付單號 = 公帳控制表_1.支付單號
  1185. GROUP BY LEFT(公帳流水帳_1.類別, 7)) AS WWEE ON LEFT(會計科目.編號, 7) = WWEE.子碼
  1186. WHERE (會計科目.顯示 = 1)
  1187. ORDER BY LEFT(會計科目.編號, 1) DESC, 會計科目.編號"
  1188. Set_DGV2結束() : Set_清單1() : Set_清單2() : Set_清單3() : Set_清單4() : Set_清單5() : Set_清單6() : Set_清單7() : Set_清單8() : Set_清單9() : Set_清單10() : Set_清單11() : Set_清單12() : 格式設定()
  1189. End Sub
  1190. End Class