Нет описания
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

財務流水帳系統.vb 28KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442
  1. Option Strict Off
  2. Public Class 財務流水帳系統
  3. Private ReadOnly ds As DataSet = New DataSet
  4. Private ReadOnly ds1 As DataSet = New DataSet
  5. Private ReadOnly ds2 As DataSet = New DataSet
  6. Private ReadOnly ds3 As DataSet = New DataSet
  7. Private ReadOnly ds4 As DataSet = New DataSet
  8. Private Sub Set_時間()
  9. DateTimePicker4.Value = Today
  10. TextBox14.Text = Format(DateTimePicker3.Value, "yyyy")
  11. TextBox15.Text = Format(DateTimePicker3.Value, "MM")
  12. TextBox17.Text = Format(DateTimePicker4.Value, "yyyy")
  13. TextBox18.Text = Format(DateTimePicker4.Value, "MM")
  14. End Sub
  15. Private Sub Set_匯率()
  16. Set_時間()
  17. If TextBox17.Text = TextBox14.Text And TextBox18.Text = TextBox15.Text Then
  18. ConnOpen()
  19. SQL1 = "SELECT 匯率 FROM 匯率表 WHERE (對應 = '人民幣兌台幣')"
  20. CmdSet_For_dr()
  21. If dr.Read() Then : Label2.Text = dr("匯率").ToString : End If
  22. ER = Double.Parse(dr("匯率").ToString)
  23. conn.Close() : dr.Close()
  24. Else
  25. ConnOpen()
  26. SQL1 = "SELECT 中心匯率 FROM 歷史匯率表 WHERE (年 LIKE '" & TextBox14.Text & "%') AND (月 LIKE '" & TextBox15.Text & "%')"
  27. CmdSet_For_dr()
  28. If dr.Read() Then
  29. Label2.Text = dr("中心匯率").ToString
  30. ER = Double.Parse(dr("中心匯率").ToString)
  31. Else
  32. MsgBox("請先維護匯率表資料")
  33. End If
  34. conn.Close() : dr.Close()
  35. End If
  36. End Sub
  37. Private Sub Set_匯總()
  38. Set_匯率()
  39. ConnOpen()
  40. SQL1 = "SELECT ROUND(SUM(CONVERT(FLOAT, 收入)) - SUM(CONVERT(FLOAT, 支出)), 2) AS 剩餘 From 流水帳 Where (類別 Like '互沖帳') AND " &
  41. "(明細 LIKE '%跟公司借款%' OR 明細 Like '%與公司還款%')"
  42. CmdSet_For_dr()
  43. If dr.Read() Then : TextBox9.Text = dr("剩餘").ToString : If TextBox9.Text = "" Then : TextBox9.Text = 0 : End If : End If
  44. TextBox9.Text = Format(Val(TextBox9.Text), "#,##0.00")
  45. conn.Close() : dr.Close()
  46. ConnOpen()
  47. SQL1 = "SELECT ROUND(SUM(CONVERT(FLOAT, 收入)) - SUM(CONVERT(FLOAT, 支出)), 2) AS 台幣現金總資產 FROM 財務流水帳 WHERE (銀行 LIKE '%台幣現金%')"
  48. CmdSet_For_dr()
  49. If dr.Read() Then : N23 = Double.Parse(dr("台幣現金總資產").ToString) : R23 = CDbl(CStr(Math.Round(N23 / ER, 2)))
  50. Label150.Text = "$" & Format(Val(dr("台幣現金總資產").ToString), "#,##0.00") : Label148.Text = "¥" & Format(Val(R23), "#,##0.00") : End If
  51. If Label150.Text = "$" Then : Label150.Text = "$0.00" : Label148.Text = "¥ 0.00" : End If
  52. conn.Close() : dr.Close()
  53. ConnOpen()
  54. SQL1 = "SELECT ROUND(SUM(CONVERT(FLOAT, 收入)) - SUM(CONVERT(FLOAT, 支出)), 2) AS 人民幣現金總資產 FROM 財務流水帳 WHERE (銀行 LIKE '%人民幣現金%')"
  55. CmdSet_For_dr()
  56. If dr.Read() Then
  57. R24 = Double.Parse(dr("人民幣現金總資產").ToString) : N24 = CDbl(CStr(Math.Round(ER * R24, 2)))
  58. Label147.Text = "¥" & Format(Val(dr("人民幣現金總資產").ToString), "#,##0.00") : Label149.Text = "$" & Format(Val(N24), "#,##0.00")
  59. End If
  60. If Label147.Text = "¥" Then : Label147.Text = "¥0.00" : Label149.Text = "$ 0.00" : End If
  61. conn.Close() : dr.Close()
  62. ConnOpen()
  63. ConnOpen()
  64. SQL1 = "SELECT ROUND(SUM(CONVERT(FLOAT, 收入)), 2) AS 台幣資金 From 財務流水帳 Where (銀行 Like '%台幣現金%') AND (類別 LIKE '%互沖帳%') AND " &
  65. "(明細 LIKE '%轉入款-%') AND (人員 LIKE '%李玖瑽%')"
  66. SQL1 = "SELECT ROUND(SUM(CONVERT(FLOAT, 收入)), 2) AS 人民幣資金 From 財務流水帳 Where (銀行 Like '%人民幣現金%') AND (類別 LIKE '%互沖帳%') AND " &
  67. "(明細 LIKE '%轉入款-%') AND (人員 LIKE '%李玖瑽%')"
  68. CmdSet_For_dr()
  69. CmdSet_For_dr()
  70. If dr.Read() Then : Label12.Text = "$" & dr("台幣資金").ToString : End If
  71. If dr.Read() Then : Label10.Text = "¥" & dr("人民幣資金").ToString : End If
  72. If Label12.Text = "$" And Label10.Text <> "¥" Then
  73. N1 = 0 : R1 = Double.Parse(dr("人民幣資金").ToString) : Label12.Text = "$" & Format(Val(CStr(Math.Round((R1 * ER), 2))), "#,##0.00") : Label10.Text = "¥" & Format(Val(R1), "#,##0.00")
  74. ElseIf Label10.Text = "¥" And Label12.Text <> "$" Then
  75. N1 = Double.Parse(dr("台幣資金").ToString) : R1 = 0 : Label12.Text = "$" & Format(Val(N1), "#,##0.00") : Label10.Text = "¥" & Format(Val(CStr(Math.Round((N1 / ER), 2))), "#,##0.00")
  76. ElseIf Label10.Text <> "¥" And Label12.Text <> "$" Then
  77. N1 = Double.Parse(dr("台幣資金").ToString) : R1 = Double.Parse(dr("人民幣資金").ToString)
  78. Label12.Text = "$" & Format(Val(CStr(Math.Round((N1 + R1 * ER), 2))), "#,##0.00") : Label10.Text = "¥" & Format(Val(CStr(Math.Round((N1 / ER + R1), 2))), "#,##0.00")
  79. ElseIf Label10.Text = "¥" And Label12.Text = "$" Then
  80. Label12.Text = "$ 0" : Label10.Text = "¥0"
  81. End If
  82. conn.Close() : dr.Close() : conn.Close() : dr.Close()
  83. ConnOpen()
  84. ConnOpen()
  85. SQL1 = "SELECT ROUND(SUM(CONVERT(FLOAT, 收入)), 2) AS 台幣資金 From 財務流水帳 WHERE (銀行 Like '%台幣現金%') AND (類別 LIKE '%互沖帳%') AND " &
  86. "(明細 LIKE '%轉入款-%') AND (人員 LIKE '%李協叡%')"
  87. SQL1 = "SELECT ROUND(SUM(CONVERT(FLOAT, 收入)), 2) AS 人民幣資金 From 財務流水帳 Where (銀行 Like '%人民幣現金%') AND (類別 LIKE '%互沖帳%') AND " &
  88. "(明細 LIKE '%轉入款-%') AND (人員 LIKE '%李協叡%')"
  89. CmdSet_For_dr()
  90. CmdSet_For_dr()
  91. If dr.Read() Then : Label11.Text = "$" & dr("台幣資金").ToString : End If
  92. If dr.Read() Then : Label9.Text = "¥" & dr("人民幣資金").ToString : End If
  93. If Label11.Text = "$" And Label9.Text <> "¥" Then
  94. N2 = 0 : R2 = Double.Parse(dr("人民幣資金").ToString) : Label11.Text = "$" & Format(Val(CStr(Math.Round((R2 * ER), 2))), "#,##0.00") : Label9.Text = "¥" & Format(Val(R2), "#,##0.00")
  95. ElseIf Label9.Text = "¥" And Label11.Text <> "$" Then
  96. N2 = Double.Parse(dr("台幣資金").ToString) : R2 = 0 : Label11.Text = "$" & Format(Val(N2), "#,##0.00") : Label9.Text = "¥" & Format(Val(CStr(Math.Round((N2 / ER), 2))), "#,##0.00")
  97. ElseIf Label9.Text <> "¥" And Label11.Text <> "$" Then
  98. N2 = Double.Parse(dr("台幣資金").ToString) : R2 = Double.Parse(dr("人民幣資金").ToString)
  99. Label11.Text = "$" & Format(Val(CStr(Math.Round((N2 + R2 * ER), 2))), "#,##0.00") : Label9.Text = "¥" & Format(Val(CStr(Math.Round((N2 / ER + R2), 2))), "#,##0.00")
  100. ElseIf Label9.Text = "¥" And Label11.Text = "$" Then
  101. Label11.Text = "$ 0" : Label9.Text = "¥0"
  102. End If
  103. conn.Close() : dr.Close() : conn.Close() : dr.Close()
  104. ConnOpen()
  105. ConnOpen()
  106. SQL1 = "SELECT ROUND(SUM(CONVERT(FLOAT, 收入)), 2) AS 台幣資金 From 財務流水帳 Where (銀行 Like '%台幣現金%') AND (類別 LIKE '%互沖帳%') AND " &
  107. "(明細 LIKE '%轉入款-%') AND (人員 LIKE '%楊國興%')"
  108. SQL1 = "SELECT ROUND(SUM(CONVERT(FLOAT, 收入)), 2) AS 人民幣資金 From 財務流水帳 Where (銀行 Like '%人民幣現金%') AND (類別 LIKE '%互沖帳%') AND " &
  109. "(明細 LIKE '%轉入款-%') AND (人員 LIKE '%楊國興%')"
  110. CmdSet_For_dr()
  111. CmdSet_For_dr()
  112. If dr.Read() Then : Label13.Text = "$" & dr("台幣資金").ToString : End If
  113. If dr.Read() Then : Label5.Text = "¥" & dr("人民幣資金").ToString : End If
  114. If Label13.Text = "$" And Label5.Text <> "¥" Then
  115. N3 = 0 : R3 = Double.Parse(dr("人民幣資金").ToString) : Label13.Text = "$" & Format(Val(CStr(Math.Round((R3 * ER), 2))), "#,##0.00") : Label5.Text = "¥" & Format(Val(R3), "#,##0.00")
  116. ElseIf Label5.Text = "¥" And Label13.Text <> "$" Then
  117. N3 = Double.Parse(dr("台幣資金").ToString) : R3 = 0 : Label13.Text = "$" & Format(Val(N3), "#,##0.00") : Label5.Text = "¥" & Format(Val(CStr(Math.Round((N3 / ER), 2))), "#,##0.00")
  118. ElseIf Label5.Text <> "¥" And Label13.Text <> "$" Then
  119. N3 = Double.Parse(dr("台幣資金").ToString) : R3 = Double.Parse(dr("人民幣資金").ToString)
  120. Label13.Text = "$" & Format(Val(CStr(Math.Round((N3 + R3 * ER), 2))), "#,##0.00") : Label5.Text = "¥" & Format(Val(CStr(Math.Round((N3 / ER + R3), 2))), "#,##0.00")
  121. ElseIf Label5.Text = "¥" And Label13.Text = "$" Then
  122. Label13.Text = "$ 0" : Label5.Text = "¥0"
  123. End If
  124. conn.Close() : dr.Close() : conn.Close() : dr.Close()
  125. SUM1 = N1 + N2 + N3 + ((R1 + R2 + R3) * ER)
  126. Label25.Text = "$" & Format(Val(CStr(Math.Round(N1 + N2 + N3 + ((R1 + R2 + R3) * ER), 2))), "#,##0.00")
  127. Label24.Text = "¥" & Format(Val(CStr(Math.Round(R1 + R2 + R3 + ((N1 + N2 + N3) / ER), 2))), "#,##0.00")
  128. Label7.Text = CStr(Math.Round(((N1 + (R1 * ER)) / SUM1) * 100, 2)) & "%" : Label6.Text = CStr(Math.Round(((N2 + (R2 * ER)) / SUM1) * 100, 2)) & "%"
  129. Label4.Text = CStr(Math.Round(((N3 + (R3 * ER)) / SUM1) * 100, 2)) & "%"
  130. End Sub
  131. Private Sub Set_明細()
  132. Set_匯率()
  133. If Format(DateTimePicker3.Value, "MM") - 1 = 0 Then
  134. TextBox7.Text = Format(DateTimePicker3.Value, "yyyy") - 1
  135. TextBox23.Text = 12
  136. Else
  137. TextBox7.Text = Format(DateTimePicker3.Value, "yyyy")
  138. TextBox23.Text = Format(DateTimePicker3.Value, "MM") - 1
  139. End If
  140. DataGridView1.DataSource = Nothing : ds.Clear()
  141. DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  142. DataGridView1.ColumnHeadersHeight = 25
  143. DataGridView1.AllowUserToAddRows = False
  144. ConnOpen()
  145. If TextBox2.Text = "" Then
  146. SQL1 = "SELECT 流水號, 銀行, 日期, 類別, 明細, 收入, 支出, 人員 FROM 財務流水帳 WHERE (銀行 LIKE '%人民幣現金%') AND " &
  147. "(日期 BETWEEN '" & Format(DateTimePicker2.Value, "yyyy/MM/dd") & "' AND '" & Format(DateTimePicker3.Value, "yyyy/MM/dd") & "') " &
  148. " ORDER BY CONVERT(date, 日期) DESC"
  149. ElseIf TextBox2.Text <> "" Then
  150. SQL1 = "SELECT 流水號, 銀行, 日期, 類別, 明細, 收入, 支出, 人員 FROM 財務流水帳 WHERE (銀行 LIKE '" & TextBox2.Text & "') AND " &
  151. "(日期 BETWEEN '" & Format(DateTimePicker2.Value, "yyyy/MM/dd") & "' AND '" & Format(DateTimePicker3.Value, "yyyy/MM/dd") & "') " &
  152. " ORDER BY CONVERT(date, 日期) DESC"
  153. End If
  154. CmdSet_For_DGV() : da.Fill(ds) : DataGridView1.DataSource = ds.Tables(0) : conn.Close()
  155. DataGridView2.DataSource = Nothing : ds1.Clear()
  156. DataGridView2.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  157. DataGridView2.ColumnHeadersHeight = 25
  158. DataGridView2.AllowUserToAddRows = False
  159. ConnOpen()
  160. SQL1 = "SELECT 類別, ROUND(SUM(CONVERT(FLOAT, 支出)),2) AS 支出, ROUND(SUM(CONVERT(FLOAT, 支出)) / (SELECT SUM(CONVERT(FLOAT, 支出)) AS 總支出 FROM 財務流水帳 " &
  161. "WHERE (銀行 LIKE '%台幣現金%') AND (日期 BETWEEN '" & Format(DateTimePicker2.Value, "yyyy/MM/dd") & "' AND '" & Format(DateTimePicker3.Value, "yyyy/MM/dd") & "')) * 100, 2) " &
  162. "AS 百分比 FROM 財務流水帳 AS 財務流水帳_1 " &
  163. "WHERE (銀行 LIKE '%台幣現金%') AND (日期 BETWEEN '" & Format(DateTimePicker2.Value, "yyyy/MM/dd") & "' AND '" & Format(DateTimePicker3.Value, "yyyy/MM/dd") & "') " &
  164. "AND (類別 NOT LIKE '%互沖帳%') AND (類別 NOT LIKE '%收入%') GROUP BY 類別"
  165. CmdSet_For_DGV() : da.Fill(ds1) : DataGridView2.DataSource = ds1.Tables(0) : conn.Close()
  166. DataGridView3.DataSource = Nothing : ds2.Clear()
  167. DataGridView3.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  168. DataGridView3.ColumnHeadersHeight = 25
  169. DataGridView3.AllowUserToAddRows = False
  170. ConnOpen()
  171. SQL1 = "SELECT 類別, ROUND(SUM(CONVERT(FLOAT, 支出)),2) AS 支出, ROUND(SUM(CONVERT(FLOAT, 支出)) / (SELECT SUM(CONVERT(FLOAT, 支出)) AS 總支出 FROM 財務流水帳 " &
  172. "WHERE (銀行 LIKE '%人民幣現金%') AND (日期 BETWEEN '" & Format(DateTimePicker2.Value, "yyyy/MM/dd") & "' AND '" & Format(DateTimePicker3.Value, "yyyy/MM/dd") & "')) * 100, 2) " &
  173. "AS 百分比 FROM 財務流水帳 AS 財務流水帳_1 " &
  174. "WHERE (銀行 LIKE '%人民幣現金%') AND (日期 BETWEEN '" & Format(DateTimePicker2.Value, "yyyy/MM/dd") & "' AND '" & Format(DateTimePicker3.Value, "yyyy/MM/dd") & "') " &
  175. "AND (類別 NOT LIKE '%互沖帳%') AND (類別 NOT LIKE '%收入%') GROUP BY 類別"
  176. CmdSet_For_DGV() : da.Fill(ds2) : DataGridView3.DataSource = ds2.Tables(0) : conn.Close()
  177. DataGridView4.DataSource = Nothing : ds3.Clear()
  178. DataGridView4.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  179. DataGridView4.ColumnHeadersHeight = 25
  180. DataGridView4.AllowUserToAddRows = False
  181. ConnOpen()
  182. SQL1 = "SELECT 類別, ROUND(SUM(CONVERT(FLOAT, 收入)),2) AS 收入, ROUND(SUM(CONVERT(FLOAT, 收入)) / (SELECT SUM(CONVERT(FLOAT, 收入)) AS 總收入 FROM 財務流水帳 " &
  183. "WHERE (銀行 LIKE '%台幣現金%') AND (日期 BETWEEN '" & Format(DateTimePicker2.Value, "yyyy/MM/dd") & "' AND '" & Format(DateTimePicker3.Value, "yyyy/MM/dd") & "')) * 100, 2) " &
  184. "AS 百分比 FROM 財務流水帳 AS 財務流水帳_1 " &
  185. "WHERE (銀行 LIKE '%台幣現金%') AND (日期 BETWEEN '" & Format(DateTimePicker2.Value, "yyyy/MM/dd") & "' AND '" & Format(DateTimePicker3.Value, "yyyy/MM/dd") & "') " &
  186. "AND ((類別 LIKE '%收入%') OR (類別 LIKE '%互沖帳%')) GROUP BY 類別"
  187. CmdSet_For_DGV() : da.Fill(ds3) : DataGridView4.DataSource = ds3.Tables(0) : conn.Close()
  188. DataGridView5.DataSource = Nothing : ds4.Clear()
  189. DataGridView5.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  190. DataGridView5.ColumnHeadersHeight = 25
  191. DataGridView5.AllowUserToAddRows = False
  192. ConnOpen()
  193. SQL1 = "SELECT 類別, ROUND(SUM(CONVERT(FLOAT, 收入)),2) AS 收入, ROUND(SUM(CONVERT(FLOAT, 收入)) / (SELECT SUM(CONVERT(FLOAT, 收入)) AS 總收入 FROM 財務流水帳 " &
  194. "WHERE (銀行 LIKE '%人民幣現金%') AND (日期 BETWEEN '" & Format(DateTimePicker2.Value, "yyyy/MM/dd") & "' AND '" & Format(DateTimePicker3.Value, "yyyy/MM/dd") & "')) * 100, 2) " &
  195. "AS 百分比 FROM 財務流水帳 AS 財務流水帳_1 " &
  196. "WHERE (銀行 LIKE '%人民幣現金%') AND (日期 BETWEEN '" & Format(DateTimePicker2.Value, "yyyy/MM/dd") & "' AND '" & Format(DateTimePicker3.Value, "yyyy/MM/dd") & "') " &
  197. "AND ((類別 LIKE '%收入%') OR (類別 LIKE '%互沖帳%')) GROUP BY 類別"
  198. CmdSet_For_DGV() : da.Fill(ds4) : DataGridView5.DataSource = ds4.Tables(0) : conn.Close()
  199. Dim MyCount As Double = 0
  200. For i As Integer = 0 To DataGridView2.Rows.Count - 1
  201. If DataGridView2.RowCount = 0 Then : TextBox41.Text = "0" : Else : MyCount += DataGridView2.Rows(i).Cells("支出").Value : End If
  202. Next i
  203. TextBox41.Text = MyCount
  204. TextBox26.Text = Format(Val(TextBox41.Text), "#,##0.00")
  205. MyCount = 0
  206. For i As Integer = 0 To DataGridView3.Rows.Count - 1
  207. If DataGridView3.RowCount = 0 Then : TextBox19.Text = "0" : Else : MyCount += DataGridView3.Rows(i).Cells("支出").Value : End If
  208. Next i
  209. TextBox19.Text = MyCount
  210. TextBox27.Text = Format(Val(TextBox19.Text), "#,##0.00")
  211. MyCount = 0
  212. For i As Integer = 0 To DataGridView4.Rows.Count - 1
  213. If DataGridView4.RowCount = 0 Then : TextBox55.Text = "0" : Else : MyCount += DataGridView4.Rows(i).Cells("收入").Value : End If
  214. Next i
  215. TextBox55.Text = MyCount
  216. TextBox22.Text = Format(Val(TextBox55.Text), "#,##0.00")
  217. MyCount = 0
  218. For i As Integer = 0 To DataGridView5.Rows.Count - 1
  219. If DataGridView5.RowCount = 0 Then : TextBox25.Text = "0" : Else : MyCount += DataGridView5.Rows(i).Cells("收入").Value : End If
  220. Next i
  221. TextBox25.Text = MyCount
  222. TextBox24.Text = Format(Val(TextBox25.Text), "#,##0.00")
  223. ConnOpen()
  224. SQL1 = "SELECT CONVERT(FLOAT, 收入) - CONVERT(FLOAT, 支出) AS 台幣結算 From 財務流水帳 Where (Year(Convert(Char(10), 日期, 110)) = '" & TextBox7.Text & "') AND " &
  225. "(MONTH(CONVERT(CHAR(10), 日期, 110)) = '" & TextBox23.Text & "') AND (人員 = '會計') AND (銀行 = '台幣結算')"
  226. CmdSet_For_dr()
  227. If dr.Read() Then : TextBox56.Text = dr("台幣結算").ToString : Else : TextBox56.Text = "0" : End If
  228. TextBox20.Text = Format(Val(TextBox56.Text), "#,##0.00")
  229. conn.Close() : dr.Close()
  230. ConnOpen()
  231. SQL1 = "SELECT CONVERT(FLOAT, 收入) - CONVERT(FLOAT, 支出) AS 人民幣結算 From 財務流水帳 Where (Year(Convert(Char(10), 日期, 110)) = '" & TextBox7.Text & "') AND " &
  232. "(MONTH(CONVERT(CHAR(10), 日期, 110)) = '" & TextBox23.Text & "') AND (人員 = '會計') AND (銀行 = '人民幣結算')"
  233. CmdSet_For_dr()
  234. If dr.Read() Then : TextBox8.Text = dr("人民幣結算").ToString : Else : TextBox8.Text = "0" : End If
  235. TextBox21.Text = Format(Val(TextBox8.Text), "#,##0.00")
  236. conn.Close() : dr.Close()
  237. TextBox38.Text = CStr(Math.Round((Double.Parse(TextBox56.Text)) + (Double.Parse(TextBox55.Text)) - (Double.Parse(TextBox41.Text)), 2))
  238. TextBox28.Text = Format(Val(TextBox38.Text), "#,##0.00")
  239. TextBox11.Text = CStr(Math.Round((Double.Parse(TextBox8.Text)) + (Double.Parse(TextBox25.Text)) - (Double.Parse(TextBox19.Text)), 2))
  240. TextBox29.Text = Format(Val(TextBox11.Text), "#,##0.00")
  241. TextBox10.Text = CStr(Math.Round((Double.Parse(TextBox38.Text)) + ((Double.Parse(TextBox11.Text)) * ER), 2))
  242. TextBox30.Text = Format(Val(TextBox10.Text), "#,##0.00")
  243. TextBox12.Text = CStr(Math.Round((Double.Parse(TextBox55.Text)) + (Double.Parse(TextBox56.Text)), 2))
  244. TextBox13.Text = CStr(Math.Round((Double.Parse(TextBox25.Text)) + (Double.Parse(TextBox8.Text)), 2))
  245. If ComboBox2.Text = "" Then : GroupBox5.Text = "台幣現金-帳本清單" : Else : GroupBox5.Text = ComboBox2.Text + "-帳本清單" : End If
  246. End Sub
  247. Private Sub Set_grid()
  248. DataGridView1.Columns(0).Width = 75 : DataGridView1.Columns(1).Visible = False : DataGridView1.Columns(2).Width = 75 : DataGridView1.Columns(3).Width = 60
  249. DataGridView1.Columns(4).Width = 180 : DataGridView1.Columns(5).Width = 60 : DataGridView1.Columns(6).Width = 60 : DataGridView1.Columns(7).Visible = False
  250. End Sub
  251. Private Sub Set_流水號()
  252. conn.Close() : dr.Close()
  253. Dim NUM1 As Integer
  254. For NUM1 = 0 To 99
  255. Dim d As String : Dim f As String : Dim g As Integer = 1
  256. If Month(Now) < 10 Then
  257. d = "0" & CStr(Month(Now))
  258. Else
  259. d = CStr(Month(Now))
  260. End If
  261. If Now.Day() < 10 Then
  262. f = "0" & CStr(Now.Day())
  263. Else
  264. f = CStr(Now.Day())
  265. End If
  266. If NUM1 < 10 Then
  267. TextBox6.Text = "B" & Microsoft.VisualBasic.Right(CStr(Year(Now)), 2) & d & f & "0" & NUM1
  268. Else
  269. TextBox6.Text = "B" & Microsoft.VisualBasic.Right(CStr(Year(Now)), 2) & d & f & NUM1
  270. End If
  271. TextBox16.Text = ""
  272. ConnOpen()
  273. SQL1 = "SELECT 流水號 FROM 財務流水帳 WHERE (流水號 ='" & TextBox6.Text & "')"
  274. CmdSet_For_dr()
  275. If dr.Read() Then
  276. TextBox16.Text = dr("流水號").ToString
  277. End If
  278. conn.Close()
  279. If TextBox16.Text = "" Then
  280. TextBox16.Text = "可用"
  281. TextBox1.Text = TextBox6.Text
  282. NUM1 = 99
  283. End If
  284. Next
  285. End Sub
  286. Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
  287. If e.RowIndex = -1 Then : Else
  288. TextBox1.Text = DataGridView1(0, e.RowIndex).Value.ToString
  289. TextBox2.Text = DataGridView1(1, e.RowIndex).Value.ToString
  290. DateTimePicker1.Text = DataGridView1(2, e.RowIndex).Value.ToString
  291. ComboBox1.Text = DataGridView1(3, e.RowIndex).Value.ToString
  292. TextBox3.Text = DataGridView1(4, e.RowIndex).Value.ToString
  293. TextBox4.Text = DataGridView1(5, e.RowIndex).Value.ToString
  294. TextBox5.Text = DataGridView1(6, e.RowIndex).Value.ToString
  295. ComboBox3.Text = DataGridView1(7, e.RowIndex).Value.ToString
  296. End If
  297. End Sub
  298. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  299. Me.MdiParent = GCM_ERP_SYS
  300. Me.WindowState = 2
  301. DateTimePicker2.Value = CDate(Year(Now) & "/" & Month(Now) & "/1") : DateTimePicker3.Value = Today
  302. Set_匯總() : Set_明細() : Set_grid()
  303. End Sub
  304. Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove
  305. timeNow = 0
  306. GCM_ERP_SYS.Timer1.Enabled = False
  307. GCM_ERP_SYS.Timer1.Enabled = True
  308. End Sub
  309. Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress
  310. timeNow = 0
  311. GCM_ERP_SYS.Timer1.Enabled = False
  312. GCM_ERP_SYS.Timer1.Enabled = True
  313. End Sub
  314. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  315. DateTimePicker1.Enabled = True : ComboBox1.Enabled = True : Button7.Enabled = True : Button5.Enabled = True
  316. End Sub
  317. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  318. Button4.Enabled = True : Button5.Enabled = True
  319. End Sub
  320. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
  321. Button5.Enabled = True : Button8.Enabled = True
  322. End Sub
  323. Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
  324. If ComboBox1.Text = "" Or TextBox2.Text = "" Or ComboBox3.Text = "" Then
  325. MsgBox("請選擇銀行或帳目類別")
  326. Else
  327. Set_流水號()
  328. If TextBox16.Text = "可用" Then
  329. Dim a As String = InputBox("請輸入帳務明細") : Dim b As String = InputBox("請輸入收入金額") : Dim c As String = InputBox("請輸入支出金額")
  330. TextBox3.Text = a : TextBox4.Text = b : TextBox5.Text = c
  331. ConnOpen()
  332. SQL1 = "INSERT INTO 財務流水帳 (流水號, 銀行, 日期, 類別, 明細, 收入, 支出, 人員) VALUES ('" & TextBox1.Text & "','" & TextBox2.Text &
  333. "','" & Format(DateTimePicker1.Value, "yyyy/MM/dd") & "','" & ComboBox1.Text & "','" & TextBox3.Text & "','" & TextBox4.Text &
  334. "','" & TextBox5.Text & "','" & ComboBox3.Text & "')"
  335. CmdSet_For_DGV()
  336. MsgBox("新增完成")
  337. conn.Close()
  338. End If
  339. End If
  340. Button7.Enabled = False : Button5.Enabled = False
  341. Set_匯總() : Set_明細() : Set_grid()
  342. End Sub
  343. Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
  344. ConnOpen()
  345. SQL1 = "UPDATE 財務流水帳 SET 銀行 = '" & TextBox2.Text & "', 日期 = '" & Format(DateTimePicker1.Value, "yyyy/MM/dd") &
  346. "', 類別 = '" & ComboBox1.Text & "', 明細 = '" & TextBox3.Text & "', 收入 = '" & TextBox4.Text &
  347. "', 支出 = '" & TextBox5.Text & "', 人員 = '" & ComboBox3.Text & "' WHERE (流水號 = '" & TextBox1.Text & "')"
  348. CmdSet_For_dr
  349. MsgBox("修改完成")
  350. conn.Close()
  351. Button4.Enabled = False : Button5.Enabled = False
  352. Set_匯總() : Set_明細() : Set_grid()
  353. End Sub
  354. Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
  355. SQL1 = "DELETE FROM 財務流水帳 WHERE (流水號 = '" & TextBox1.Text & "')"
  356. cmd.CommandText = SQL : cmd.Connection = conn
  357. ConnOpen()
  358. Dim aa As MsgBoxResult
  359. aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel)
  360. If aa = MsgBoxResult.Ok Then : cmd.ExecuteNonQuery() : MsgBox("刪除完成") : End If
  361. conn.Close()
  362. Button5.Enabled = False : Button8.Enabled = False
  363. Set_匯總() : Set_明細() : Set_grid()
  364. End Sub
  365. Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
  366. Button4.Enabled = False : Button5.Enabled = False : Button7.Enabled = False : Button8.Enabled = False
  367. End Sub
  368. Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox2.SelectedIndexChanged
  369. If ComboBox2.Text = "" Then : TextBox2.Text = "" : TextBox57.Text = "" : End If
  370. If ComboBox2.Text = "台幣現金" Then : TextBox2.Text = "台幣現金" : TextBox57.Text = "台幣現金" : End If
  371. If ComboBox2.Text = "人民幣現金" Then : TextBox2.Text = "人民幣現金" : TextBox57.Text = "人民幣現金" : End If
  372. Set_明細() : Set_grid()
  373. End Sub
  374. Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
  375. Set_匯總() : Set_明細() : Set_grid()
  376. End Sub
  377. Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
  378. ConnOpen()
  379. SQL1 = "SELECT 流水號, 銀行, 日期, 類別, 收入, 支出, 明細, 人員 FROM 財務流水帳 " &
  380. "WHERE (YEAR(CONVERT(CHAR(10), 日期, 110)) = '" & Format(DateTimePicker3.Value, "yyyy") & "') " &
  381. "AND (MONTH(CONVERT(CHAR(10), 日期, 110)) = '" & Format(DateTimePicker3.Value, "MM") & "') AND (人員 = '會計') AND (銀行 = '人民幣結算')"
  382. CmdSet_For_dr()
  383. If dr.Read() Then
  384. MsgBox("資料已存在")
  385. Else
  386. Set_流水號()
  387. If TextBox16.Text = "可用" Then
  388. ConnOpen()
  389. SQL1 = "INSERT INTO 財務流水帳 (流水號, 銀行, 日期, 類別, 明細, 收入, 支出, 人員) VALUES ('" & TextBox1.Text & "','台幣結算','" & Format(DateTimePicker3.Value, "yyyy/MM/dd") & "
  390. ','月結算','" & Format(DateTimePicker2.Value, "yyyy/MM/dd") & "到" & Format(DateTimePicker3.Value, "yyyy/MM/dd") & "','" & TextBox12.Text &
  391. "','" & TextBox41.Text & "','會計')"
  392. CmdSet_For_DGV()
  393. conn.Close()
  394. End If
  395. Set_流水號()
  396. If TextBox16.Text = "可用" Then
  397. ConnOpen()
  398. SQL1 = "INSERT INTO 財務流水帳 (流水號, 銀行, 日期, 類別, 明細, 收入, 支出, 人員) VALUES ('" & TextBox1.Text & "','人民幣結算','" & Format(DateTimePicker3.Value, "yyyy/MM/dd") & "
  399. ','月結算','" & Format(DateTimePicker2.Value, "yyyy/MM/dd") & "到" & Format(DateTimePicker3.Value, "yyyy/MM/dd") & "','" & TextBox13.Text &
  400. "','" & TextBox19.Text & "','會計')"
  401. CmdSet_For_DGV()
  402. MsgBox("新增完成")
  403. conn.Close()
  404. End If
  405. End If
  406. conn.Close() : dr.Close()
  407. End Sub
  408. End Class