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 8.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. Option Strict Off
  2. Imports System.IO
  3. Public Class 零用金支付單一覽表
  4. Private ReadOnly ds, ds1, ds2, ds3, ds4 As New DataSet
  5. Dim 已超出 As Boolean
  6. Private Sub Set_財務單清單()
  7. 明細_dgv.DataSource = Nothing : ds.Clear()
  8. 明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  9. 明細_dgv.ColumnHeadersHeight = 25
  10. 明細_dgv.AllowUserToAddRows = False
  11. PA1 = 零用金單號_tb.Text : SQL_財務帳清單() : 列印用SQL2 = SQL1
  12. da.Fill(ds) : 明細_dgv.DataSource = ds.Tables(0) : conn.Close()
  13. 明細_dgv.Columns(0).Visible = False : 明細_dgv.Columns(1).Width = 80 : 明細_dgv.Columns(2).Width = 342
  14. 明細_dgv.Columns(3).Width = 140 : 明細_dgv.Columns(4).Width = 350
  15. 明細_dgv.Columns(3).DefaultCellStyle.Format = "#,##0.00"
  16. 明細_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  17. 明細_dgv.Columns(3).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  18. 明細_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  19. 總金額_tb.Text = "0.00"
  20. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  21. 總金額_tb.Text = Val(總金額_tb.Text) + 明細_dgv.Rows(i).Cells("金額").Value
  22. Next i
  23. 總金額_tb.Text = Format(Val(總金額_tb.Text), "#,##0.00")
  24. End Sub
  25. Private Sub Set_清單3()
  26. 已審核_dgv.DataSource = Nothing : ds3.Clear()
  27. 已審核_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  28. 已審核_dgv.ColumnHeadersHeight = 25
  29. 已審核_dgv.AllowUserToAddRows = False
  30. SQL_已審核清單1()
  31. da.Fill(ds3) : 已審核_dgv.DataSource = ds3.Tables(0) : conn.Close() : Set_grid3()
  32. End Sub
  33. Private Sub Set_grid3()
  34. 已審核_dgv.Columns(0).Width = 120 : 已審核_dgv.Columns(1).Width = 114 : 已審核_dgv.Columns(2).Visible = False : 已審核_dgv.Columns(3).Width = 115 : 已審核_dgv.Columns(4).Width = 115
  35. 已審核_dgv.Columns(5).Width = 115 : 已審核_dgv.Columns(6).Width = 115 : 已審核_dgv.Columns(7).Width = 115 : 已審核_dgv.Columns(8).Visible = False
  36. 已審核_dgv.Columns(9).Visible = False : 已審核_dgv.Columns(10).Width = 113
  37. For i As Integer = 0 To 已審核_dgv.Rows.Count - 1
  38. If 已審核_dgv.Rows(i).Cells("已出納").Value Is DBNull.Value Then
  39. 已審核_dgv.Rows(i).Cells("已出納").Value = False
  40. End If
  41. Next
  42. End Sub
  43. Private Sub ComboBox1下拉表單資料載入()
  44. SQL_帳本下拉清單()
  45. 帳本名稱_cb.Items.Clear() : 帳本編號_cb.Items.Clear() : While (dr.Read()) : 帳本名稱_cb.Items.Add(dr("帳本名稱")) : 帳本編號_cb.Items.Add(dr("編號")) : End While : conn.Close()
  46. End Sub
  47. Private Sub 零用金支付單列印_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  48. WINPROFIT_ERP_SYS.WindowState = 2 : Me.MdiParent = WINPROFIT_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  49. 總經理已核准的零用金支付單_tb.Visible = False : 帳本編號_cb.Visible = False
  50. ComboBox1下拉表單資料載入() : 帳本名稱_cb.SelectedIndex = 0 : PA19 = 帳本編號_cb.Text : Set_清單3()
  51. End Sub
  52. Private Sub DataGridView4_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 已審核_dgv.CellClick
  53. If e.RowIndex = -1 Then : Else
  54. 零用金單號_tb.Text = 已審核_dgv(0, e.RowIndex).Value.ToString : 申請部門_tb.Text = 已審核_dgv(1, e.RowIndex).Value.ToString : 申請人_tb.Text = 已審核_dgv(2, e.RowIndex).Value.ToString
  55. 審核_tb.Text = 已審核_dgv(4, e.RowIndex).Value.ToString : 核准_tb.Text = 已審核_dgv(6, e.RowIndex).Value.ToString : 驗證碼_tb.Text = 已審核_dgv(9, e.RowIndex).Value.ToString
  56. 總經理已核准的零用金支付單_tb.Text = 已審核_dgv(8, e.RowIndex).Value.ToString : 打勾_ch.Checked = 已審核_dgv(10, e.RowIndex).Value
  57. DateTimePicker1.Value = 已審核_dgv(3, e.RowIndex).Value.ToString : DateTimePicker2.Value = 已審核_dgv(5, e.RowIndex).Value.ToString
  58. DateTimePicker3.Value = 已審核_dgv(7, e.RowIndex).Value.ToString
  59. 列印用SQL = 已審核_dgv(0, e.RowIndex).Value.ToString
  60. 簽核圖片編號 = 總經理已核准的零用金支付單_tb.Text
  61. Set_財務單清單()
  62. PA = 已審核_dgv(8, e.RowIndex).Value.ToString
  63. SQL_簽名檔管理3()
  64. While dr.Read() = True
  65. Dim bytes As Byte() = New Byte(-1) {}
  66. bytes = DirectCast(dr.Item("簽名檔圖片"), Byte())
  67. Dim oStream As New MemoryStream(bytes)
  68. PictureBox1.Image = Bitmap.FromStream(oStream)
  69. End While
  70. conn.Close()
  71. PictureBox1.SizeMode = 4
  72. End If
  73. End Sub
  74. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 列印_bt.Click
  75. If 列印用SQL2 = "" Then
  76. MsgBox("沒有選擇零用金支付單")
  77. Else
  78. 列印_零用金支付單.ShowDialog() : 列印用SQL = "" : 列印用SQL2 = ""
  79. End If
  80. End Sub
  81. Private Sub Set_日期格式轉換()
  82. DTP = Format(Today(), "yyyy/MM/dd")
  83. End Sub
  84. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 出納確認_bt.Click
  85. Set_日期格式轉換()
  86. For i As Integer = 0 To 已審核_dgv.Rows.Count - 1
  87. 資料數 = 已審核_dgv.Rows.Count : MyModule1.進度條()
  88. PA = 已審核_dgv.Rows(i).Cells("已出納").Value : PA1 = 已審核_dgv.Rows(i).Cells("流水號").Value
  89. SQL_修改零用金支付明細2() : conn.Close()
  90. SQL_修改零用金支付表3() : conn.Close()
  91. Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  92. MsgBox("存檔完成")
  93. End Sub
  94. Private Sub 帳本名稱_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 帳本名稱_cb.SelectedIndexChanged
  95. 帳本編號_cb.SelectedIndex = 帳本名稱_cb.SelectedIndex : PA19 = 帳本編號_cb.Text : Set_清單3()
  96. 審核_tb.Text = "" : 核准_tb.Text = "" : 驗證碼_tb.Text = "" : 總經理已核准的零用金支付單_tb.Text = ""
  97. 零用金單號_tb.Text = "" : 申請部門_tb.Text = "" : 申請人_tb.Text = "" : Set_財務單清單()
  98. End Sub
  99. Private Sub 帳本編號_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 帳本編號_cb.SelectedIndexChanged
  100. 帳本名稱_cb.SelectedIndex = 帳本編號_cb.SelectedIndex : PA19 = 帳本編號_cb.Text : Set_清單3()
  101. 審核_tb.Text = "" : 核准_tb.Text = "" : 驗證碼_tb.Text = "" : 總經理已核准的零用金支付單_tb.Text = ""
  102. 零用金單號_tb.Text = "" : 申請部門_tb.Text = "" : 申請人_tb.Text = "" : Set_財務單清單()
  103. End Sub
  104. Private Sub 明細_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 明細_dgv.MouseUp
  105. If 明細_dgv.SelectedCells.Count = 1 Then
  106. 已超出 = False
  107. End If
  108. If 明細_dgv.SelectedCells.Count > 0 Then
  109. '設定滑鼠點擊DGV時候的範圍,超出範圍時有可能不是數字所以不計算
  110. If 明細_dgv.SelectedCells(0).ColumnIndex = 3 Then
  111. If 已超出 = False Then
  112. Dim x As Double = 0
  113. For i As Integer = 0 To 明細_dgv.SelectedCells.Count - 1
  114. '明細_dgv.SelectedCells.Item(i).ColumnIndex + 8 是因為該DGV顯示項與計算像剛好差8格,使用時要注意可直接計算的不需要加數字。
  115. x += Val(明細_dgv.Rows(明細_dgv.SelectedCells.Item(i).RowIndex).Cells(明細_dgv.SelectedCells.Item(i).ColumnIndex).Value)
  116. Next i
  117. '將計算好的資料放置到指定的控件中
  118. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(x, "#,##0.00")
  119. Else
  120. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0.00")
  121. End If
  122. Else
  123. 已超出 = True
  124. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0.00")
  125. End If
  126. End If
  127. End Sub
  128. End Class