No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

財務_收支單申請.vb 28KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374
  1. Option Strict Off
  2. Public Class 財務_收支單申請
  3. ReadOnly ds As New DataSet : ReadOnly ds1 As New DataSet
  4. Private DTP As String
  5. Private DTP1 As String
  6. Private WWEE As String
  7. Private 新流水1 As String
  8. Private 新項次 As String
  9. Private ReadOnly 新流水2 As String
  10. Dim NUM1 As Integer : Dim 匯率1 As Double
  11. Private Sub Set_清單1()
  12. DataGridView2.DataSource = Nothing : ds1.Clear()
  13. DataGridView2.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  14. DataGridView2.ColumnHeadersHeight = 25
  15. DataGridView2.AllowUserToAddRows = False
  16. ConnOpen()
  17. If RadioButton1.Checked = True And RadioButton2.Checked = False And RadioButton3.Checked = False Then
  18. WWEE = "WHERE (審核人 LIKE '') "
  19. ElseIf RadioButton1.Checked = False And RadioButton2.Checked = True And RadioButton3.Checked = False Then
  20. WWEE = "WHERE (審核人 LIKE '作廢%') "
  21. ElseIf RadioButton1.Checked = False And RadioButton2.Checked = False And RadioButton3.Checked = True Then
  22. WWEE = "WHERE (審核人 NOT LIKE '作廢%') AND (審核人 NOT LIKE '') "
  23. End If
  24. SQL1 = "SELECT 支付單號 AS 收支單號, 申請日期, 審核日期, 申請人 FROM 財務控制表 " & WWEE & " ORDER BY 申請日期 DESC"
  25. CmdSet_For_DGV() : da.Fill(ds1) : DataGridView2.DataSource = ds1.Tables(0) : conn.Close()
  26. DataGridView2.Columns(0).FillWeight = 160 : DataGridView2.Columns(1).FillWeight = 100 : DataGridView2.Columns(2).FillWeight = 100 : DataGridView2.Columns(3).Visible = False
  27. End Sub
  28. Private Sub Set_費用清單()
  29. 明細_dgv.DataSource = Nothing : ds.Clear()
  30. 明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  31. 明細_dgv.ColumnHeadersHeight = 25
  32. 明細_dgv.AllowUserToAddRows = False
  33. 明細_dgv.RowTemplate.Height = 35
  34. ConnOpen()
  35. SQL1 = "SELECT 財務流水帳.支付單號, 財務流水帳.項次, 會計科目.會計科目, 財務流水帳.明細 AS 用途,
  36. 財務流水帳.零用金, 財務流水帳.支票數 AS 支票, Cast(財務流水帳.收入 AS money) AS 現金,
  37. Cast(財務流水帳.支出 AS money) AS 支出, 財務流水帳.備註 AS 票期, 財務流水帳.匯率,
  38. 財務流水帳.銀行 AS 幣別, 財務流水帳.類別, 財務流水帳.流水號, 財務流水帳.含稅
  39. FROM 財務流水帳 INNER JOIN
  40. 會計科目 ON 財務流水帳.類別 = 會計科目.編號
  41. WHERE (財務流水帳.支付單號 LIKE '" & TextBox1.Text & "')
  42. ORDER BY 財務流水帳.項次"
  43. CmdSet_For_DGV() : da.Fill(ds) : 明細_dgv.DataSource = ds.Tables(0) : conn.Close()
  44. 明細_dgv.Columns(0).Visible = False : 明細_dgv.Columns(1).FillWeight = 80 : 明細_dgv.Columns(2).FillWeight = 300 : 明細_dgv.Columns(3).FillWeight = 500
  45. 明細_dgv.Columns(4).FillWeight = 140 : 明細_dgv.Columns(5).FillWeight = 140 : 明細_dgv.Columns(6).FillWeight = 140 : 明細_dgv.Columns(7).FillWeight = 140
  46. 明細_dgv.Columns(8).FillWeight = 140 : 明細_dgv.Columns(9).FillWeight = 140 : 明細_dgv.Columns(10).FillWeight = 140 : 明細_dgv.Columns(11).Visible = False
  47. 明細_dgv.Columns(12).Visible = False : 明細_dgv.Columns(13).FillWeight = 80
  48. 明細_dgv.Columns(1).ReadOnly = True : 明細_dgv.Columns(2).ReadOnly = True : 明細_dgv.Columns(9).ReadOnly = True : 明細_dgv.Columns(10).ReadOnly = True
  49. 明細_dgv.Columns(4).DefaultCellStyle.Format = "#,##0.00" : 明細_dgv.Columns(5).DefaultCellStyle.Format = "#,##0.00" : 明細_dgv.Columns(6).DefaultCellStyle.Format = "#,##0.00"
  50. 明細_dgv.Columns(7).DefaultCellStyle.Format = "#,##0.00" : 明細_dgv.Columns(8).DefaultCellStyle.Format = "#,##0.00"
  51. 明細_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  52. 明細_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  53. 明細_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  54. 明細_dgv.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  55. 明細_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  56. 明細_dgv.Columns(10).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(10).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  57. 明細_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  58. 明細_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  59. TextBox5.Text = "0.00" : TextBox2.Text = "0.00" : TextBox6.Text = "0.00" : TextBox7.Text = "0" : TextBox8.Text = "0.00"
  60. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  61. TextBox5.Text = Val(TextBox5.Text) + Val(明細_dgv.Rows(i).Cells("現金").Value) : TextBox2.Text = Val(TextBox2.Text) + Val(明細_dgv.Rows(i).Cells("支出").Value)
  62. TextBox7.Text = Val(TextBox7.Text) + 明細_dgv.Rows(i).Cells("零用金").Value : TextBox8.Text = Val(TextBox8.Text) + 明細_dgv.Rows(i).Cells("支票").Value
  63. Next i
  64. TextBox6.Text = Val(TextBox7.Text) + Val(TextBox5.Text) - Val(TextBox2.Text)
  65. If Val(TextBox6.Text) > 0 Then : TextBox6.ForeColor = Color.Blue : Else : TextBox6.ForeColor = Color.Red : End If
  66. TextBox5.Text = Format(Val(TextBox5.Text), "#,##0.00") : TextBox2.Text = Format(Val(TextBox2.Text), "#,##0.00") : TextBox6.Text = Format(Val(TextBox6.Text), "#,##0.00")
  67. TextBox7.Text = Format(Val(TextBox7.Text), "#,##0.00") : TextBox8.Text = Format(Val(TextBox8.Text), "#,##0.00")
  68. End Sub
  69. Private Sub ComboBox1下拉表單資料載入()
  70. conn.Close()
  71. ConnOpen()
  72. SQL1 = "SELECT 會計科目, 編號 FROM 會計科目 WHERE (LEFT(編號, 7) LIKE N'" & ComboBox4.Text & "') AND (停用 = 0) AND (統制科目 = 0) ORDER BY 編號"
  73. CmdSet_For_dr() : ComboBox1.Items.Clear() : ComboBox6.Items.Clear()
  74. While (dr.Read()) : ComboBox1.Items.Add(dr("會計科目")) : ComboBox6.Items.Add(dr("編號")) : End While : conn.Close()
  75. If ComboBox1.Items.Count <> 0 Then : ComboBox1.SelectedIndex = 0 : End If
  76. End Sub
  77. Private Sub ComboBox2下拉表單資料載入()
  78. conn.Close()
  79. ConnOpen()
  80. SQL1 = "SELECT 第一階, LEFT(編號, 4) AS 編號 FROM 會計科目 WHERE (停用 = 0) GROUP BY 第一階, LEFT(編號, 4) ORDER BY 編號"
  81. CmdSet_For_dr() : ComboBox5.Items.Clear() : ComboBox2.Items.Clear() : ComboBox5.Text = "" : ComboBox2.Text = ""
  82. While (dr.Read()) : ComboBox5.Items.Add(dr("第一階")) : ComboBox2.Items.Add(dr("編號")) : End While : conn.Close()
  83. End Sub
  84. Private Sub ComboBox3下拉表單資料載入()
  85. conn.Close()
  86. ConnOpen()
  87. SQL1 = "SELECT LEFT(編號, 7) AS 編號, 第二階, 層級 FROM 會計科目 WHERE (LEFT(編號, 4) LIKE N'" & ComboBox2.Text & "') AND (層級 NOT LIKE '3') AND (停用 = 0)
  88. GROUP BY LEFT(編號, 7), 第二階, 層級 ORDER BY 編號"
  89. CmdSet_For_dr() : ComboBox3.Items.Clear() : ComboBox4.Items.Clear() : ComboBox3.Text = "" : ComboBox4.Text = ""
  90. While (dr.Read()) : ComboBox3.Items.Add(dr("第二階")) : ComboBox4.Items.Add(dr("編號")) : End While : conn.Close()
  91. End Sub
  92. Private Sub 匯率()
  93. ConnOpen()
  94. SQL1 = "SELECT 中心匯率, 美金匯率 FROM 歷史匯率表
  95. WHERE (年 LIKE '" & Strings.Left(Format(DateTimePicker1.Value, "yyyyMMdd"), 4) & "%') AND (月 LIKE '" & Strings.Mid(Format(DateTimePicker1.Value, "yyyyMMdd"), 5, 2) & "%')"
  96. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  97. If dr.Read() Then
  98. 人民幣匯率_tb.Text = dr("中心匯率").ToString : 美金匯率_tb.Text = dr("美金匯率").ToString : conn.Close() : dr.Close()
  99. Else
  100. conn.Close() : dr.Close() : 匯率修改.Close() : 匯率修改.Show() : 匯率修改.BringToFront()
  101. End If
  102. End Sub
  103. Private Sub 營運成本支付申請_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  104. Me.MdiParent = GCM_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  105. RadioButton1.Checked = True : DateTimePicker2.Visible = False : 複製單據開單ToolStripMenuItem.Enabled = False : ComboBox6.Visible = False
  106. DataGridView2.Visible = True : Set_清單1() : ComboBox2下拉表單資料載入()
  107. 匯率()
  108. End Sub
  109. Private Sub ComboBox5_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox5.TextChanged
  110. ComboBox2.SelectedIndex = ComboBox5.SelectedIndex : TextBox9.Text = "" : ComboBox3下拉表單資料載入() : ComboBox1下拉表單資料載入()
  111. End Sub
  112. Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox2.TextChanged
  113. ComboBox5.SelectedIndex = ComboBox2.SelectedIndex : ComboBox3下拉表單資料載入() : ComboBox1下拉表單資料載入()
  114. End Sub
  115. Private Sub ComboBox3_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox3.TextChanged
  116. ComboBox4.SelectedIndex = ComboBox3.SelectedIndex : ComboBox1下拉表單資料載入()
  117. End Sub
  118. Private Sub ComboBox4_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox4.TextChanged
  119. ComboBox3.SelectedIndex = ComboBox4.SelectedIndex : ComboBox1下拉表單資料載入()
  120. End Sub
  121. Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
  122. ComboBox6.SelectedIndex = ComboBox1.SelectedIndex
  123. End Sub
  124. Private Sub ComboBox6_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox6.SelectedIndexChanged
  125. ComboBox1.SelectedIndex = ComboBox6.SelectedIndex
  126. End Sub
  127. Private Sub TextBox9_TextChanged(sender As Object, e As EventArgs) Handles TextBox9.TextChanged
  128. conn.Close()
  129. ConnOpen()
  130. SQL1 = "SELECT 會計科目, 編號 FROM 會計科目 WHERE (會計科目 LIKE N'%" & TextBox9.Text & "%') AND (停用 = 0) AND (統制科目 = 0) ORDER BY 編號"
  131. CmdSet_For_dr() : ComboBox1.Items.Clear() : ComboBox6.Items.Clear()
  132. While (dr.Read()) : ComboBox1.Items.Add(dr("會計科目")) : ComboBox6.Items.Add(dr("編號")) : End While : conn.Close()
  133. If ComboBox1.Items.Count <> 0 Then : ComboBox1.SelectedIndex = 0 : End If
  134. End Sub
  135. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
  136. If Label62.Visible = True Then : Label62.Visible = False : Else : Label62.Visible = True : End If
  137. End Sub
  138. Private Sub DataGridView1_CellContentCl(sender As Object, e As DataGridViewCellEventArgs) Handles 明細_dgv.CellEndEdit
  139. TextBox5.Text = "0" : TextBox2.Text = "0" : TextBox6.Text = "0" : TextBox7.Text = "0" : TextBox8.Text = "0"
  140. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  141. TextBox5.Text = Val(TextBox5.Text) + 明細_dgv.Rows(i).Cells("現金").Value : TextBox2.Text = Val(TextBox2.Text) + 明細_dgv.Rows(i).Cells("支出").Value
  142. TextBox7.Text = Val(TextBox7.Text) + 明細_dgv.Rows(i).Cells("零用金").Value : TextBox8.Text = Val(TextBox8.Text) + 明細_dgv.Rows(i).Cells("支票").Value
  143. Next i
  144. TextBox6.Text = Val(TextBox7.Text) + Val(TextBox5.Text) - Val(TextBox2.Text)
  145. If Val(TextBox6.Text) > 0 Then : TextBox6.ForeColor = Color.Blue : Else : TextBox6.ForeColor = Color.Red : End If
  146. TextBox5.Text = Format(Val(TextBox5.Text), "#,##0") : TextBox2.Text = Format(Val(TextBox2.Text), "#,##0") : TextBox6.Text = Format(Val(TextBox6.Text), "#,##0")
  147. TextBox7.Text = Format(Val(TextBox7.Text), "#,##0") : TextBox8.Text = Format(Val(TextBox8.Text), "#,##0")
  148. Dim EU As String
  149. EU = 明細_dgv("票期", e.RowIndex).Value.ToString
  150. If EU = "" Then
  151. Else
  152. DateTimePicker2.Text = EU
  153. 明細_dgv.Rows(e.RowIndex).Cells("票期").Value = Format(DateTimePicker2.Value, "yyyy/MM/dd")
  154. End If
  155. End Sub
  156. Private Sub DataGridView2_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView2.CellClick
  157. If e.RowIndex = -1 Then : Else
  158. TextBox1.Text = DataGridView2(0, e.RowIndex).Value.ToString : DateTimePicker1.Value = DataGridView2(1, e.RowIndex).Value.ToString : Set_費用清單()
  159. TextBox3.Text = DataGridView2(3, e.RowIndex).Value.ToString
  160. End If
  161. End Sub
  162. Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles 明細_dgv.CellClick
  163. If e.RowIndex = -1 Then : Else
  164. TextBox4.Text = 明細_dgv(1, e.RowIndex).Value.ToString
  165. End If
  166. End Sub
  167. Private Sub Set_切換格式()
  168. 明細_dgv.DataSource = Nothing : ds.Clear() : TextBox1.Text = "" : TextBox3.Text = "" : TextBox4.Text = "" : TextBox5.Text = "" : TextBox2.Text = "" : TextBox6.Text = ""
  169. TextBox7.Text = "" : TextBox8.Text = "" : ComboBox1下拉表單資料載入() : Set_清單1()
  170. End Sub
  171. Private Sub RadioButton1_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton1.Click
  172. RadioButton1.Checked = True : RadioButton2.Checked = False : RadioButton3.Checked = False : 申請完成ToolStripMenuItem.Enabled = True : 複製單據開單ToolStripMenuItem.Enabled = False
  173. 開立零用金支付單ToolStripMenuItem.Enabled = True : Button2.Enabled = True : 新增一筆資料ToolStripMenuItem.Enabled = True
  174. 刪除支付單中選中的資料ToolStripMenuItem.Enabled = True : 刪除選中的零用金支付單ToolStripMenuItem.Enabled = True : Set_切換格式()
  175. End Sub
  176. Private Sub RadioButton2_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton2.Click
  177. RadioButton1.Checked = False : RadioButton2.Checked = True : RadioButton3.Checked = False : 申請完成ToolStripMenuItem.Enabled = False : 複製單據開單ToolStripMenuItem.Enabled = False
  178. 開立零用金支付單ToolStripMenuItem.Enabled = False : Button2.Enabled = False : 新增一筆資料ToolStripMenuItem.Enabled = False
  179. 刪除支付單中選中的資料ToolStripMenuItem.Enabled = False : 刪除選中的零用金支付單ToolStripMenuItem.Enabled = False : Set_切換格式()
  180. End Sub
  181. Private Sub RadioButton3_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton3.Click
  182. If CC(28) = False Then
  183. RadioButton1.Checked = False : RadioButton2.Checked = False : RadioButton3.Checked = True : 申請完成ToolStripMenuItem.Enabled = False : 複製單據開單ToolStripMenuItem.Enabled = True
  184. 開立零用金支付單ToolStripMenuItem.Enabled = False : Button2.Enabled = False : 新增一筆資料ToolStripMenuItem.Enabled = False
  185. 刪除支付單中選中的資料ToolStripMenuItem.Enabled = False : 刪除選中的零用金支付單ToolStripMenuItem.Enabled = False : Set_切換格式()
  186. Else
  187. RadioButton1.Checked = False : RadioButton2.Checked = False : RadioButton3.Checked = True : 申請完成ToolStripMenuItem.Enabled = True : 複製單據開單ToolStripMenuItem.Enabled = True
  188. 開立零用金支付單ToolStripMenuItem.Enabled = True : Button2.Enabled = True : 新增一筆資料ToolStripMenuItem.Enabled = True
  189. 刪除支付單中選中的資料ToolStripMenuItem.Enabled = True : 刪除選中的零用金支付單ToolStripMenuItem.Enabled = True : Set_切換格式()
  190. End If
  191. End Sub
  192. Private Sub 存檔()
  193. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  194. 資料數 = 明細_dgv.Rows.Count : MyMoule.進度條()
  195. ConnOpen()
  196. SQL1 = "UPDATE 財務流水帳 SET 明細 = N'" & 明細_dgv.Rows(i).Cells("用途").Value & "', 支出 = N'" & 明細_dgv.Rows(i).Cells("支出").Value &
  197. "', 備註 = N'" & 明細_dgv.Rows(i).Cells("票期").Value & "' , 類別 = N'" & 明細_dgv.Rows(i).Cells("類別").Value &
  198. "', 收入 = N'" & 明細_dgv.Rows(i).Cells("現金").Value & "', 零用金 = N'" & 明細_dgv.Rows(i).Cells("零用金").Value &
  199. "', 支票數 = N'" & 明細_dgv.Rows(i).Cells("支票").Value & "', 匯率 = N'" & 明細_dgv.Rows(i).Cells("匯率").Value &
  200. "', 含稅 = N'" & 明細_dgv.Rows(i).Cells("含稅").Value & "'
  201. WHERE (支付單號 LIKE '" & TextBox1.Text & "' AND 項次 LIKE '" & 明細_dgv.Rows(i).Cells("項次").Value & "')"
  202. cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  203. Next
  204. ProgressBar1.Value = 0 : 最終數 = 0
  205. End Sub
  206. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
  207. Timer1.Enabled = False : Label62.Visible = False
  208. 開立零用金支付單ToolStripMenuItem.Enabled = True : RadioButton1.Enabled = True : RadioButton2.Enabled = True : DataGridView2.Enabled = True : RadioButton3.Enabled = True
  209. 存檔() : Set_清單1()
  210. MsgBox("申請完成,請通知主管審核。")
  211. End Sub
  212. Private Sub Set_日期格式轉換()
  213. If CheckBox1.Checked = False Then
  214. DTP = Format(Today(), "yyyy/MM/dd") : DTP1 = Format(Today(), "yyyyMMdd")
  215. Else
  216. DTP1 = Format(DateTimePicker1.Value, "yyyyMMdd") : DTP = Format(DateTimePicker1.Value, "yyyy/MM/dd")
  217. End If
  218. End Sub
  219. Private Sub Set_流水號()
  220. conn.Close() : dr.Close()
  221. Dim NUM1 As Integer
  222. For NUM1 = 0 To 99
  223. Dim d As String : Dim f As String : Dim g As Integer = 1
  224. If Month(Now) < 10 Then : d = "0" & CStr(Month(Now))
  225. Else : d = CStr(Month(Now))
  226. End If
  227. If Now.Day() < 10 Then : f = "0" & CStr(Now.Day())
  228. Else : f = CStr(Now.Day())
  229. End If
  230. If NUM1 < 10 Then : 新流水1 = "B" & Microsoft.VisualBasic.Right(CStr(Year(Now)), 2) & d & f & "0" & NUM1
  231. Else : 新流水1 = "B" & Microsoft.VisualBasic.Right(CStr(Year(Now)), 2) & d & f & NUM1
  232. End If
  233. ConnOpen()
  234. SQL1 = "SELECT 流水號 FROM 財務流水帳 WHERE (流水號 ='" & 新流水1 & "')"
  235. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  236. If dr.Read() Then : conn.Close() : Else : conn.Close() : NUM1 = 99 : End If
  237. Next
  238. End Sub
  239. Private Sub 開立零用金支付單()
  240. Dim NUM1 As Integer : Timer1.Enabled = True
  241. Set_日期格式轉換()
  242. For i As Integer = 1 To 999
  243. NUM1 = 0 + i
  244. If NUM1 < 10 Then : TextBox1.Text = "OE-" & DTP1 & "-00" & NUM1
  245. ElseIf NUM1 > 9 And NUM1 < 100 Then : TextBox1.Text = "OE-" & DTP1 & "-0" & NUM1
  246. ElseIf NUM1 > 99 Then : TextBox1.Text = "OE-" & DTP1 & "-" & NUM1
  247. End If
  248. conn.Close()
  249. ConnOpen()
  250. SQL1 = "SELECT TOP (1) 支付單號 FROM 財務控制表 WHERE ( 支付單號 LIKE '" & TextBox1.Text & "')"
  251. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  252. If dr.Read() Then : Else : i = 999 : conn.Close() : End If : conn.Close()
  253. Next
  254. ConnOpen()
  255. SQL1 = "INSERT INTO 財務控制表 (支付單號, 申請人, 申請日期, 審核人, 審核日期, 會計, 作帳日期, 出納, 出納日期, 備註, 公司編號) " &
  256. "VALUES (N'" & TextBox1.Text & "', N'" & gUserName & "', N'" & DTP & "', N'', N'', N'', N'', N'', N'', N'', N'工巧明')"
  257. CmdSet_For_dr()
  258. TextBox3.Text = gUserName
  259. End Sub
  260. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  261. 開立零用金支付單() : 開立零用金支付單ToolStripMenuItem.Enabled = False : RadioButton1.Enabled = False : RadioButton2.Enabled = False : RadioButton3.Enabled = False
  262. DataGridView2.Enabled = False : RadioButton1.Checked = True : RadioButton2.Checked = False : RadioButton3.Checked = False : 申請完成ToolStripMenuItem.Enabled = True
  263. 複製單據開單ToolStripMenuItem.Enabled = False : 開立零用金支付單ToolStripMenuItem.Enabled = True : Button2.Enabled = True : 新增一筆資料ToolStripMenuItem.Enabled = True
  264. 刪除支付單中選中的資料ToolStripMenuItem.Enabled = True : 刪除選中的零用金支付單ToolStripMenuItem.Enabled = True
  265. Set_清單1()
  266. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  267. Set_流水號()
  268. ConnOpen()
  269. SQL1 = "INSERT INTO 財務流水帳 (流水號, 銀行, 日期, 類別, 收入, 支出, 明細, 人員, 支付單號, 項次, 會計, 出納, 現金, 備用金, 公帳, 支票,
  270. 出納日期, 零用金, 支票數, 匯率, 備註)
  271. VALUES (N'" & 新流水1 & "', N'" & 明細_dgv.Rows(i).Cells("幣別").Value & "'', N'" & DTP & "', N'" & 明細_dgv.Rows(i).Cells("類別").Value &
  272. "', N'" & 明細_dgv.Rows(i).Cells("現金").Value & "', N'" & 明細_dgv.Rows(i).Cells("支出").Value & "', N'" & 明細_dgv.Rows(i).Cells("用途").Value &
  273. "', N'', N'" & gUserName & "', N'" & TextBox1.Text & "', N'" & 明細_dgv.Rows(i).Cells("項次").Value & "', N'1', N'0', N'0', N'0', N'0', N'0', N'" & DTP &
  274. "', N'" & 明細_dgv.Rows(i).Cells("零用金").Value & "', N'" & 明細_dgv.Rows(i).Cells("支票").Value & "', N'" & 明細_dgv.Rows(i).Cells("匯率").Value &
  275. "', N'" & 明細_dgv.Rows(i).Cells("票期").Value & "')"
  276. CmdSet_For_dr()
  277. Next
  278. Set_費用清單() : MsgBox("複製單據開立完成。")
  279. End Sub
  280. Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged
  281. 匯率()
  282. End Sub
  283. '----------------------滑鼠右鍵--------------------------------------------------------------------------------------------------------------------------------------------------------------------
  284. Private Sub 重新讀取ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 重新讀取ToolStripMenuItem.Click
  285. Set_清單1()
  286. End Sub
  287. Private Sub 開立零用金支付單ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 開立零用金支付單ToolStripMenuItem.Click
  288. 開立零用金支付單() : 開立零用金支付單ToolStripMenuItem.Enabled = False : RadioButton1.Enabled = False : RadioButton2.Enabled = False : RadioButton3.Enabled = False : DataGridView2.Enabled = False
  289. 明細_dgv.DataSource = Nothing : ds.Clear() : conn.Close()
  290. Set_清單1()
  291. End Sub
  292. Private Sub 刪除選中的零用金支付單ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 刪除選中的零用金支付單ToolStripMenuItem.Click
  293. Dim aa As MsgBoxResult
  294. aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel)
  295. If aa = MsgBoxResult.Ok Then
  296. ConnOpen()
  297. SQL1 = "DELETE FROM 財務控制表 WHERE (支付單號 LIKE '" & TextBox1.Text & "')"
  298. cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : conn.Close()
  299. ConnOpen()
  300. SQL1 = "DELETE FROM 財務流水帳 WHERE (支付單號 LIKE '" & TextBox1.Text & "')"
  301. cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : conn.Close()
  302. TextBox1.Text = "" : TextBox3.Text = "" : TextBox4.Text = ""
  303. 明細_dgv.DataSource = Nothing : ds.Clear()
  304. Set_清單1()
  305. End If
  306. End Sub
  307. Private Sub 刪除支付單中選中的資料ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 刪除支付單中選中的資料ToolStripMenuItem.Click
  308. If TextBox4.Text = "" Then
  309. MsgBox("未選擇需要刪除的資料。")
  310. Else
  311. 存檔()
  312. ConnOpen()
  313. SQL1 = "DELETE FROM 財務流水帳 WHERE (支付單號 LIKE '" & TextBox1.Text & "' AND 項次 LIKE '" & TextBox4.Text & "')"
  314. cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : conn.Close()
  315. Set_費用清單()
  316. Dim NUM1 As Integer = 0
  317. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  318. NUM1 += 1 : If NUM1 < 10 Then : 新項次 = "0" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = NUM1 : End If
  319. ConnOpen()
  320. SQL1 = "UPDATE 財務流水帳 SET 項次 = N'" & 新項次 & "' WHERE (支付單號 LIKE '" & TextBox1.Text & "' AND 項次 LIKE '" & 明細_dgv.Rows(i).Cells("項次").Value & "')"
  321. cmd.CommandText = SQL1 : cmd.ExecuteNonQuery()
  322. conn.Close()
  323. Next
  324. Set_費用清單()
  325. End If
  326. End Sub
  327. Private Sub 新增一筆資料ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 新增一筆資料ToolStripMenuItem.Click
  328. If ComboBox6.Text = "" Or 幣別_cb.Text = "" Then
  329. MsgBox("沒有選擇會計科目或幣別。")
  330. Else
  331. If TextBox1.Text = "" Then
  332. 開立零用金支付單()
  333. End If
  334. Set_日期格式轉換() : Set_流水號()
  335. 存檔()
  336. ConnOpen()
  337. SQL1 = "SELECT TOP(1) 項次 FROM 財務流水帳 WHERE 支付單號 LIKE '" & TextBox1.Text & "' ORDER BY 項次 DESC"
  338. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  339. If dr.Read() Then : 新項次 = dr("項次") : Else : 新項次 = "00" : End If : conn.Close()
  340. NUM1 = Double.Parse(新項次) + 1
  341. If NUM1 < 10 Then : 新項次 = "0" & NUM1
  342. ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = NUM1
  343. End If
  344. ConnOpen()
  345. If 幣別_cb.Text = "台幣現金" Then
  346. 匯率1 = 1
  347. ElseIf 幣別_cb.Text = "人民幣現金" Then
  348. 匯率1 = 人民幣匯率_tb.Text
  349. ElseIf 幣別_cb.Text = "美金" Then
  350. 匯率1 = 美金匯率_tb.Text
  351. End If
  352. SQL1 = "INSERT INTO 財務流水帳 (流水號, 銀行, 日期, 類別, 收入, 支出, 明細, 人員, 支付單號, 項次, 會計, 出納, 現金, 備用金, 公帳, 支票,
  353. 出納日期, 零用金, 支票數, 匯率, 備註) " &
  354. "VALUES (N'" & 新流水1 & "', N'" & 幣別_cb.Text & "', N'" & DTP & "', N'" & ComboBox6.Text & "', N'0', N'0', N'', N'" & gUserName & "', N'" & TextBox1.Text & "', N'" & 新項次 &
  355. "', N'0', N'0', N'0', N'0', N'0', N'0', N'" & DTP & "', N'0', N'0', N'" & 匯率1 & "', N'')"
  356. CmdSet_For_dr()
  357. Set_費用清單()
  358. End If
  359. End Sub
  360. Private Sub 申請完成ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 申請完成ToolStripMenuItem.Click
  361. Me.Button2.PerformClick()
  362. End Sub
  363. Private Sub 複製單據開單ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 複製單據開單ToolStripMenuItem.Click
  364. Me.Button1.PerformClick()
  365. End Sub
  366. End Class