Без опису
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

財務_收支單審核_GCM.vb 20KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
  1. Option Strict Off
  2. Imports System.IO
  3. Public Class 財務_收支單審核_GCM
  4. ReadOnly ds As New DataSet : ReadOnly ds1 As New DataSet : ReadOnly ds2 As New DataSet
  5. Private ReadOnly QQW(11) As String
  6. Dim DTP As String : Dim WWEE As String : Private II As Integer : Dim 匯率1 As Double
  7. Private Sub Set_清單1()
  8. 收支單_dgv.DataSource = Nothing : ds1.Clear()
  9. 收支單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  10. 收支單_dgv.ColumnHeadersHeight = 25
  11. 收支單_dgv.AllowUserToAddRows = False
  12. ConnOpen()
  13. If 未核准的收支單_rb.Checked = True And 作廢的收支單_rb.Checked = False Then
  14. WWEE = "WHERE (審核人 LIKE '') "
  15. ElseIf 未核准的收支單_rb.Checked = False And 作廢的收支單_rb.Checked = True Then
  16. WWEE = "WHERE (審核人 LIKE '作廢%') "
  17. End If
  18. SQL1 = "SELECT 支付單號 AS 收支單號, 申請日期, 審核日期, 申請人 FROM 財務控制表 " & WWEE & " ORDER BY 支付單號 DESC"
  19. CmdSet_For_DGV() : da.Fill(ds1) : 收支單_dgv.DataSource = ds1.Tables(0) : conn.Close()
  20. 收支單_dgv.Columns(0).FillWeight = 160 : 收支單_dgv.Columns(1).FillWeight = 100 : 收支單_dgv.Columns(2).FillWeight = 100 : 收支單_dgv.Columns(3).Visible = False
  21. End Sub
  22. Private Sub Set_費用清單()
  23. 明細_dgv.DataSource = Nothing : ds.Clear()
  24. 明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  25. 明細_dgv.ColumnHeadersHeight = 25
  26. 明細_dgv.AllowUserToAddRows = False
  27. 明細_dgv.RowTemplate.Height = 35
  28. ConnOpen()
  29. SQL1 = "SELECT 財務流水帳.支付單號, 財務流水帳.項次, 會計科目.會計科目, 財務流水帳.明細 AS 用途,
  30. Cast(財務流水帳.零用金 AS money) AS 零用金, Cast(財務流水帳.支票數 AS money) AS 支票, Cast(財務流水帳.收入 AS money) AS 收入,
  31. Cast(財務流水帳.支出 AS money) AS 支出, 財務流水帳.備註 AS 票期, 財務流水帳.匯率, 財務流水帳.銀行 AS 幣別, 財務流水帳.類別,
  32. 財務流水帳.流水號, 財務流水帳.含稅
  33. FROM 財務流水帳 INNER JOIN
  34. 會計科目 ON 財務流水帳.類別 = 會計科目.編號
  35. WHERE (財務流水帳.支付單號 LIKE '" & 收支單號_tb.Text & "')
  36. ORDER BY 財務流水帳.項次"
  37. CmdSet_For_DGV() : da.Fill(ds) : 明細_dgv.DataSource = ds.Tables(0) : conn.Close()
  38. 明細_dgv.Columns(0).Visible = False : 明細_dgv.Columns(1).FillWeight = 80 : 明細_dgv.Columns(2).FillWeight = 250 : 明細_dgv.Columns(3).FillWeight = 400
  39. 明細_dgv.Columns(4).Visible = False : 明細_dgv.Columns(5).FillWeight = 120 : 明細_dgv.Columns(6).FillWeight = 165 : 明細_dgv.Columns(7).FillWeight = 165
  40. 明細_dgv.Columns(8).FillWeight = 150 : 明細_dgv.Columns(9).FillWeight = 130 : 明細_dgv.Columns(10).FillWeight = 140 : 明細_dgv.Columns(11).Visible = False
  41. 明細_dgv.Columns(12).Visible = False : 明細_dgv.Columns(13).FillWeight = 80
  42. 明細_dgv.Columns(1).ReadOnly = True : 明細_dgv.Columns(2).ReadOnly = True : 明細_dgv.Columns(9).ReadOnly = True : 明細_dgv.Columns(10).ReadOnly = True
  43. 明細_dgv.Columns(4).DefaultCellStyle.Format = "#,##0.00" : 明細_dgv.Columns(5).DefaultCellStyle.Format = "#,##0.00" : 明細_dgv.Columns(6).DefaultCellStyle.Format = "#,##0.00"
  44. 明細_dgv.Columns(7).DefaultCellStyle.Format = "#,##0.00" : 明細_dgv.Columns(8).DefaultCellStyle.Format = "#,##0.00"
  45. 明細_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  46. 明細_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  47. 明細_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  48. 明細_dgv.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  49. 明細_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  50. 明細_dgv.Columns(10).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(10).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  51. 明細_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  52. 明細_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  53. 收入_tb.Text = "0" : 支出_tb.Text = "0" : 餘額_tb.Text = "0" : 零用金_tb.Text = "0" : 支票_tb.Text = "0"
  54. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  55. 收入_tb.Text = Val(收入_tb.Text) + 明細_dgv.Rows(i).Cells("收入").Value * 明細_dgv.Rows(i).Cells("匯率").Value
  56. 支出_tb.Text = Val(支出_tb.Text) + 明細_dgv.Rows(i).Cells("支出").Value * 明細_dgv.Rows(i).Cells("匯率").Value
  57. 零用金_tb.Text = Val(零用金_tb.Text) + 明細_dgv.Rows(i).Cells("零用金").Value * 明細_dgv.Rows(i).Cells("匯率").Value
  58. 支票_tb.Text = Val(支票_tb.Text) + 明細_dgv.Rows(i).Cells("支票").Value * 明細_dgv.Rows(i).Cells("匯率").Value
  59. Next i
  60. 餘額_tb.Text = Val(零用金_tb.Text) + Val(收入_tb.Text) - Val(支出_tb.Text)
  61. If Val(餘額_tb.Text) > 0 Then : 餘額_tb.ForeColor = Color.Blue : Else : 餘額_tb.ForeColor = Color.Red : End If
  62. 收入_tb.Text = Format(Val(收入_tb.Text), "#,##0.00") : 支出_tb.Text = Format(Val(支出_tb.Text), "#,##0.00") : 餘額_tb.Text = Format(Val(餘額_tb.Text), "#,##0.00")
  63. 零用金_tb.Text = Format(Val(零用金_tb.Text), "#,##0.00") : 支票_tb.Text = Format(Val(支票_tb.Text), "#,##0.00")
  64. End Sub
  65. Private Sub Set_清單()
  66. 簽名檔_dgv.DataSource = Nothing : ds2.Clear()
  67. 簽名檔_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  68. 簽名檔_dgv.ColumnHeadersHeight = 25
  69. 簽名檔_dgv.AllowUserToAddRows = False
  70. ConnOpen()
  71. SQL1 = "SELECT 圖片流水號 AS 圖檔編碼, 簽名檔人名 FROM GCM主管簽名檔管理 ORDER BY 圖片流水號 DESC"
  72. CmdSet_For_DGV() : da.Fill(ds2) : 簽名檔_dgv.DataSource = ds2.Tables(0) : conn.Close()
  73. 簽名檔_dgv.Columns(0).FillWeight = 173 : 簽名檔_dgv.Columns(1).Visible = False
  74. If 簽名檔_dgv.Rows.Count = 0 Then : Else
  75. TextBox14.Text = 簽名檔_dgv(0, 0).Value.ToString
  76. ConnOpen()
  77. SQL1 = "SELECT 簽名檔圖片 FROM GCM主管簽名檔管理 WHERE 圖片流水號 LIKE '" & TextBox14.Text & "'"
  78. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  79. While dr.Read() = True
  80. Dim unused As Byte() = New Byte(-1) {}
  81. Dim bytes As Byte() = DirectCast(dr.Item("簽名檔圖片"), Byte())
  82. Dim oStream As New MemoryStream(bytes)
  83. PictureBox1.Image = Bitmap.FromStream(oStream)
  84. End While
  85. conn.Close()
  86. PictureBox1.SizeMode = 4
  87. For QAZ = 0 To 999
  88. QQW(0) = Strings.Right(簽名檔_dgv(0, 0).Value.ToString, 2) : QQW(1) = Strings.Right(Year(Today), 2) : QQW(2) = Strings.Left(Year(Today), 2) : QQW(3) = Month(Today) + 9
  89. QQW(4) = Strings.Right(QQW(0), 1) : QQW(5) = Strings.Left(QQW(0), 1) : QQW(6) = Strings.Right(QQW(1), 1) : QQW(7) = Strings.Left(QQW(1), 1) : QQW(8) = Strings.Right(QQW(2), 1)
  90. QQW(9) = Strings.Left(QQW(2), 1) : QQW(10) = Strings.Right(QQW(3), 1) : QQW(11) = Strings.Left(QQW(3), 1)
  91. For RT = 4 To 11
  92. Delay(3)
  93. Dim ran = New Random(DateTime.Now.Millisecond) : Dim NUM1 As Integer = ran.Next(1, 4096)
  94. For I = 0 To 4096 : If NUM1 > 9 Then : NUM1 -= 9 : ElseIf NUM1 < 9 Then : I = 4096 : End If : Next
  95. If NUM1 = 1 Then : II = RT : 轉換() : ElseIf NUM1 = 2 Then : II = RT : 轉換() : ElseIf NUM1 = 3 Then : ElseIf NUM1 = 4 Then : II = RT : 轉換() : ElseIf NUM1 = 5 Then
  96. ElseIf NUM1 = 6 Then : II = RT : 轉換() : ElseIf NUM1 = 7 Then : ElseIf NUM1 = 8 Then : II = RT : 轉換() : ElseIf NUM1 = 9 Then : II = RT : 轉換() : End If
  97. Next
  98. Dim ran1 = New Random(DateTime.Now.Millisecond) : Dim NUM2 As Integer = ran1.Next(1, 4096)
  99. For I = 0 To 4096 : If NUM2 > 99 Then : NUM2 -= 49 : ElseIf NUM2 < 99 Then : I = 4096 : End If : Next
  100. TextBox13.Text = QQW(11) & "2" & QQW(9) & "7" & QQW(7) & "0" & QQW(5) & QQW(4) & "1" & QQW(6) & "3" & QQW(8) & "9" & QQW(10) & NUM2
  101. ConnOpen()
  102. SQL1 = "SELECT 簽名編碼 FROM 財務控制表 WHERE 簽名編碼 LIKE '" & TextBox13.Text & "'"
  103. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  104. If dr.Read() = True Then : Else : QAZ = 999 : End If : conn.Close()
  105. Next
  106. End If
  107. End Sub
  108. Private Sub 轉換()
  109. If QQW(II) = "1" Then : QQW(II) = "A" : ElseIf QQW(II) = "2" Then : QQW(II) = "B" : ElseIf QQW(II) = "3" Then : QQW(II) = "C" : ElseIf QQW(II) = "4" Then : QQW(II) = "D"
  110. ElseIf QQW(II) = "5" Then : QQW(II) = "E" : ElseIf QQW(II) = "6" Then : QQW(II) = "F" : ElseIf QQW(II) = "7" Then : QQW(II) = "G" : ElseIf QQW(II) = "8" Then : QQW(II) = "H"
  111. ElseIf QQW(II) = "9" Then : QQW(II) = "I" : ElseIf QQW(II) = "0" Then : QQW(II) = "J"
  112. End If
  113. End Sub
  114. Public Sub Delay(ByRef Interval As Double) 'Interval单位为毫秒
  115. Dim time As DateTime = DateTime.Now : Dim Span As Double = Interval * 1234 : While ((DateTime.Now.Ticks - time.Ticks) < Span) : Application.DoEvents() : End While
  116. End Sub
  117. Private Sub 匯率()
  118. ConnOpen()
  119. SQL1 = "SELECT 中心匯率, 美金匯率, 印尼匯率 FROM 歷史匯率表
  120. WHERE (年 LIKE '" & Strings.Left(Format(日期_dtp.Value, "yyyyMMdd"), 4) & "%') AND (月 LIKE '" & Strings.Mid(Format(日期_dtp.Value, "yyyyMMdd"), 5, 2) & "%')"
  121. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  122. If dr.Read() Then
  123. 人民幣匯率_tb.Text = dr("中心匯率").ToString : 美金匯率_tb.Text = dr("美金匯率").ToString : 印尼匯率_tb.Text = dr("印尼匯率").ToString : conn.Close() : dr.Close()
  124. Else
  125. conn.Close() : dr.Close() : 匯率修改.Close() : 匯率修改.Show() : 匯率修改.BringToFront()
  126. End If
  127. End Sub
  128. Private Sub 營運費用支付審核_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  129. Me.MdiParent = GCM_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  130. 未核准的收支單_rb.Checked = True : 收支單_dgv.Visible = True
  131. 匯率() : Set_清單1() : Set_清單()
  132. End Sub
  133. Private Sub 收支單_dgv_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles 收支單_dgv.CellClick
  134. If e.RowIndex = -1 Then : Else
  135. 收支單號_tb.Text = 收支單_dgv(0, e.RowIndex).Value.ToString : 日期_dtp.Value = 收支單_dgv(1, e.RowIndex).Value.ToString : Set_費用清單()
  136. 申請人_tb.Text = 收支單_dgv(3, e.RowIndex).Value.ToString
  137. End If
  138. End Sub
  139. Private Sub 簽名檔_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 簽名檔_dgv.CellClick
  140. If e.RowIndex = -1 Then : Else
  141. TextBox14.Text = 簽名檔_dgv(0, e.RowIndex).Value.ToString
  142. ConnOpen()
  143. SQL1 = "SELECT 簽名檔圖片 FROM GCM主管簽名檔管理 WHERE 圖片流水號 LIKE '" & TextBox14.Text & "'"
  144. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  145. While dr.Read() = True
  146. Dim unused As Byte() = New Byte(-1) {}
  147. Dim bytes As Byte() = DirectCast(dr.Item("簽名檔圖片"), Byte())
  148. Dim oStream As New MemoryStream(bytes)
  149. PictureBox1.Image = Bitmap.FromStream(oStream)
  150. End While
  151. conn.Close()
  152. PictureBox1.SizeMode = 4
  153. For QAZ = 0 To 999
  154. QQW(0) = Strings.Right(簽名檔_dgv(0, e.RowIndex).Value.ToString, 2) : QQW(1) = Strings.Right(Year(Today), 2) : QQW(2) = Strings.Left(Year(Today), 2) : QQW(3) = Month(Today) + 9
  155. QQW(4) = Strings.Right(QQW(0), 1) : QQW(5) = Strings.Left(QQW(0), 1) : QQW(6) = Strings.Right(QQW(1), 1) : QQW(7) = Strings.Left(QQW(1), 1) : QQW(8) = Strings.Right(QQW(2), 1)
  156. QQW(9) = Strings.Left(QQW(2), 1) : QQW(10) = Strings.Right(QQW(3), 1) : QQW(11) = Strings.Left(QQW(3), 1)
  157. For RT = 4 To 11
  158. Delay(3)
  159. Dim ran = New Random(DateTime.Now.Millisecond) : Dim NUM1 As Integer = ran.Next(1, 4096)
  160. For I = 0 To 4096 : If NUM1 > 9 Then : NUM1 -= 9 : ElseIf NUM1 < 9 Then : I = 4096 : End If : Next
  161. If NUM1 = 1 Then : II = RT : 轉換() : ElseIf NUM1 = 2 Then : II = RT : 轉換() : ElseIf NUM1 = 3 Then : ElseIf NUM1 = 4 Then : II = RT : 轉換() : ElseIf NUM1 = 5 Then
  162. ElseIf NUM1 = 6 Then : II = RT : 轉換() : ElseIf NUM1 = 7 Then : ElseIf NUM1 = 8 Then : II = RT : 轉換() : ElseIf NUM1 = 9 Then : II = RT : 轉換() : End If
  163. Next
  164. Dim ran1 = New Random(DateTime.Now.Millisecond) : Dim NUM2 As Integer = ran1.Next(1, 4096)
  165. For I = 0 To 4096 : If NUM2 > 99 Then : NUM2 -= 49 : ElseIf NUM2 < 99 Then : I = 4096 : End If : Next
  166. TextBox13.Text = QQW(11) & "2" & QQW(9) & "7" & QQW(7) & "0" & QQW(5) & QQW(4) & "1" & QQW(6) & "3" & QQW(8) & "9" & QQW(10) & NUM2
  167. ConnOpen()
  168. SQL1 = "SELECT 簽名編碼 FROM 財務控制表 WHERE 簽名編碼 LIKE '" & TextBox13.Text & "'"
  169. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  170. If dr.Read() = True Then : Else : QAZ = 999 : End If : conn.Close()
  171. Next
  172. End If
  173. End Sub
  174. Private Sub Set_切換格式()
  175. 明細_dgv.DataSource = Nothing : ds.Clear() : 收支單號_tb.Text = "" : 申請人_tb.Text = "" : 收入_tb.Text = "" : 支出_tb.Text = "" : 餘額_tb.Text = ""
  176. 零用金_tb.Text = "" : 支票_tb.Text = "" : Set_清單1()
  177. End Sub
  178. Private Sub 未核准的收支單_rb_CheckedChanged(sender As Object, e As EventArgs) Handles 未核准的收支單_rb.Click
  179. 未核准的收支單_rb.Checked = True : 作廢的收支單_rb.Checked = False
  180. 明細_dgv.DataSource = Nothing : ds.Clear() : 收支單號_tb.Text = "" : 申請人_tb.Text = "" : 收入_tb.Text = "" : 支出_tb.Text = "" : 餘額_tb.Text = ""
  181. 審核通過_bt.Enabled = True : 單據作廢_bt.Enabled = True : 審核通過ToolStripMenuItem.Enabled = True : 單據作廢ToolStripMenuItem.Enabled = True : Set_切換格式()
  182. End Sub
  183. Private Sub 作廢的收支單_rb_CheckedChanged(sender As Object, e As EventArgs) Handles 作廢的收支單_rb.Click
  184. 未核准的收支單_rb.Checked = False : 作廢的收支單_rb.Checked = True
  185. 明細_dgv.DataSource = Nothing : ds.Clear() : 收支單號_tb.Text = "" : 申請人_tb.Text = "" : 收入_tb.Text = "" : 支出_tb.Text = "" : 餘額_tb.Text = ""
  186. 審核通過_bt.Enabled = False : 單據作廢_bt.Enabled = False : 審核通過ToolStripMenuItem.Enabled = False : 單據作廢ToolStripMenuItem.Enabled = False : Set_切換格式()
  187. End Sub
  188. Private Sub Set_日期格式轉換()
  189. DTP = Format(Today(), "yyyy/MM/dd")
  190. End Sub
  191. Private Sub 審核通過_bt_Click(sender As Object, e As EventArgs) Handles 審核通過_bt.Click
  192. If 收支單號_tb.Text = "" Then
  193. MsgBox("請選擇需要審核的單據。")
  194. Else
  195. If 補單_ch.Checked = False Then
  196. Set_日期格式轉換()
  197. Else
  198. DTP = Format(日期_dtp.Value, "yyyy/MM/dd")
  199. End If
  200. conn.Close()
  201. ConnOpen()
  202. SQL1 = "UPDATE 財務控制表 SET 審核人 = N'" & gUserName & "', 審核日期 = N'" & DTP & "', 核准圖檔 = N'" & TextBox14.Text & "', 簽名編碼 = N'" & TextBox13.Text &
  203. "', 出納 = '" & gUserName & "', 出納日期 = N'" & DTP & "'
  204. WHERE (支付單號 = N'" & 收支單號_tb.Text & "')"
  205. CmdSet_For_dr() : conn.Close()
  206. ConnOpen()
  207. SQL1 = "UPDATE 財務流水帳 SET 出納 = '1', 出納日期 = N'" & DTP & "'
  208. WHERE (支付單號 LIKE '" & 收支單號_tb.Text & "')"
  209. CmdSet_For_dr() : conn.Close()
  210. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  211. If 明細_dgv.Rows(i).Cells("零用金").Value <> 0 Then
  212. ConnOpen()
  213. SQL1 = "UPDATE 財務流水帳 SET 備用金 = N'1' WHERE (支付單號 LIKE '" & 收支單號_tb.Text & "' AND 項次 LIKE '" & 明細_dgv.Rows(i).Cells("項次").Value & "')"
  214. CmdSet_For_dr() : conn.Close()
  215. ElseIf 明細_dgv.Rows(i).Cells("收入").Value <> 0 Then
  216. ConnOpen()
  217. SQL1 = "UPDATE 財務流水帳 SET 現金 = N'1' WHERE (支付單號 LIKE '" & 收支單號_tb.Text & "' AND 項次 LIKE '" & 明細_dgv.Rows(i).Cells("項次").Value & "')"
  218. CmdSet_For_dr() : conn.Close()
  219. ElseIf 明細_dgv.Rows(i).Cells("支出").Value <> 0 Then
  220. ConnOpen()
  221. SQL1 = "UPDATE 財務流水帳 SET 公帳 = N'1' WHERE (支付單號 LIKE '" & 收支單號_tb.Text & "' AND 項次 LIKE '" & 明細_dgv.Rows(i).Cells("項次").Value & "')"
  222. CmdSet_For_dr() : conn.Close()
  223. End If
  224. Next
  225. MsgBox("審核完畢。")
  226. 收支單號_tb.Text = "" : 申請人_tb.Text = ""
  227. 明細_dgv.DataSource = Nothing : ds.Clear()
  228. Set_清單1() : Set_清單()
  229. End If
  230. End Sub
  231. Private Sub 單據作廢_bt_Click(sender As Object, e As EventArgs) Handles 單據作廢_bt.Click
  232. If 收支單號_tb.Text = "" Then
  233. MsgBox("請選擇需要審核的單據。")
  234. Else
  235. PA = InputBox("請輸入作廢原因。")
  236. If PA = "" Then
  237. MsgBox("請輸入作廢原因,不可空白。")
  238. Else
  239. If 補單_ch.Checked = False Then
  240. Set_日期格式轉換()
  241. Else
  242. DTP = Format(日期_dtp.Value, "yyyy/MM/dd")
  243. End If
  244. conn.Close()
  245. ConnOpen()
  246. SQL1 = "UPDATE 財務控制表 SET 審核人 = N'作廢-" & gUserName & "', 審核日期 = N'" & DTP & "', 備註 = N'" & PA & "' WHERE (支付單號 = N'" & 收支單號_tb.Text & "')"
  247. CmdSet_For_dr()
  248. conn.Close()
  249. MsgBox("審核完畢。") : PA = ""
  250. 收支單號_tb.Text = "" : 申請人_tb.Text = ""
  251. 明細_dgv.DataSource = Nothing : ds.Clear()
  252. Set_清單1()
  253. End If
  254. End If
  255. End Sub
  256. '----------------------滑鼠右鍵--------------------------------------------------------------------------------------------------------------------------------------------------------------------
  257. Private Sub 重新讀取ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 重新讀取ToolStripMenuItem.Click
  258. Set_清單1()
  259. End Sub
  260. Private Sub 審核通過ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 審核通過ToolStripMenuItem.Click
  261. Me.審核通過_bt.PerformClick()
  262. End Sub
  263. Private Sub 單據作廢ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 單據作廢ToolStripMenuItem.Click
  264. Me.單據作廢_bt.PerformClick()
  265. End Sub
  266. End Class