123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225 |
- Option Strict Off
- Public Class 財務_對帳單_ICS
- ReadOnly ds As New DataSet
- Dim KKKJJ As String : Dim KKKJJ2 As String : Dim KKKJJ3 As String : Dim KKK3 As String : Dim KKK4 As String : Dim 匯率1 As Double
- Private Sub Set_清單1()
- 清單_dgv.DataSource = Nothing : ds.Clear()
- 清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 清單_dgv.ColumnHeadersHeight = 25
- 清單_dgv.AllowUserToAddRows = False
- 清單_dgv.RowTemplate.Height = 35
- ConnOpen()
- If 全部_ch.Checked = True And 含稅_ch.Checked = False And 非稅_ch.Checked = False Then
- SQL2 = ""
- ElseIf 全部_ch.Checked = False And 含稅_ch.Checked = True And 非稅_ch.Checked = False Then
- SQL2 = " AND (財務流水帳_ICS.含稅 = 1)"
- ElseIf 全部_ch.Checked = False And 含稅_ch.Checked = False And 非稅_ch.Checked = True Then
- SQL2 = " AND (財務流水帳_ICS.含稅 = 0 OR 財務流水帳_ICS.含稅 IS NULL)"
- End If
- SQL1 = "SELECT 財務控制表_ICS.支付單號 AS 收支單號, 財務控制表_ICS.申請人, 財務控制表_ICS.申請日期, 財務控制表_ICS.審核人,
- 財務控制表_ICS.審核日期, 財務流水帳_ICS.項次, 會計科目.會計科目, 財務流水帳_ICS.明細 AS 用途與內容,
- 財務流水帳_ICS.零用金, 財務流水帳_ICS.支票數 AS 支票, Cast(財務流水帳_ICS.收入 AS money) AS 現金,
- Cast(財務流水帳_ICS.支出 AS money) AS 支出, 財務流水帳_ICS.備註 AS 票期, 財務流水帳_ICS.會計, 財務流水帳_ICS.日期 AS 作帳日期,
- 財務流水帳_ICS.出納 AS 點交, 財務流水帳_ICS.出納日期 AS 點交日期, 財務流水帳_ICS.備用金 AS 零用金點交,
- 財務流水帳_ICS.支票 AS 支票兌現, 財務流水帳_ICS.現金 AS 現金點交, 財務流水帳_ICS.公帳 AS 支出點交, 財務流水帳_ICS.匯率, 財務流水帳_ICS.銀行 AS 幣別
- FROM 財務流水帳_ICS INNER JOIN
- 會計科目 ON 財務流水帳_ICS.類別 = 會計科目.編號 FULL OUTER JOIN
- 財務控制表_ICS ON 財務流水帳_ICS.支付單號 = 財務控制表_ICS.支付單號
- WHERE (財務控制表_ICS.審核人 NOT LIKE N'') AND (會計科目.編號 NOT LIKE N'D%') AND
- (財務控制表_ICS.審核人 NOT LIKE N'作廢%') " & KKKJJ3 & KKKJJ & KKKJJ2 & SQL2 & "
- ORDER BY 收支單號 DESC, 財務流水帳_ICS.項次"
- 列印用SQL1 = SQL1
- CmdSet_For_DGV() : da.Fill(ds) : 清單_dgv.DataSource = ds.Tables(0) : conn.Close() : Set_grid()
- End Sub
- Private Sub Set_grid()
- 清單_dgv.Columns(0).FillWeight = 120 : 清單_dgv.Columns(1).FillWeight = 60 : 清單_dgv.Columns(2).FillWeight = 80 : 清單_dgv.Columns(3).FillWeight = 60
- 清單_dgv.Columns(4).FillWeight = 80 : 清單_dgv.Columns(5).FillWeight = 50 : 清單_dgv.Columns(6).FillWeight = 150 : 清單_dgv.Columns(7).FillWeight = 233
- 清單_dgv.Columns(8).Visible = False : 清單_dgv.Columns(9).Visible = False : 清單_dgv.Columns(10).FillWeight = 80 : 清單_dgv.Columns(11).FillWeight = 80
- 清單_dgv.Columns(12).FillWeight = 80 : 清單_dgv.Columns(13).FillWeight = 50 : 清單_dgv.Columns(14).FillWeight = 85 : 清單_dgv.Columns(15).FillWeight = 50
- 清單_dgv.Columns(16).FillWeight = 85 : 清單_dgv.Columns(17).Visible = False : 清單_dgv.Columns(18).Visible = False : 清單_dgv.Columns(19).Visible = False
- 清單_dgv.Columns(20).Visible = False : 清單_dgv.Columns(21).FillWeight = 70 : 清單_dgv.Columns(22).FillWeight = 100
-
- If 隱藏申請_ch.Checked = False Then
- 清單_dgv.Columns(1).Visible = True : 清單_dgv.Columns(2).Visible = True : 清單_dgv.Columns(3).Visible = True : 清單_dgv.Columns(4).Visible = True
- Else
- 清單_dgv.Columns(1).Visible = False : 清單_dgv.Columns(2).Visible = False : 清單_dgv.Columns(3).Visible = False : 清單_dgv.Columns(4).Visible = False
- End If
-
- If 隱藏作帳_ch.Checked = False Then
- 清單_dgv.Columns(13).Visible = True : 清單_dgv.Columns(14).Visible = True : 清單_dgv.Columns(15).Visible = True : 清單_dgv.Columns(16).Visible = True
- Else
- 清單_dgv.Columns(13).Visible = False : 清單_dgv.Columns(14).Visible = False : 清單_dgv.Columns(15).Visible = False : 清單_dgv.Columns(16).Visible = False
- End If
-
- 清單_dgv.Columns(8).DefaultCellStyle.Format = "#,##0" : 清單_dgv.Columns(9).DefaultCellStyle.Format = "#,##0" : 清單_dgv.Columns(10).DefaultCellStyle.Format = "#,##0"
- 清單_dgv.Columns(11).DefaultCellStyle.Format = "#,##0"
- 清單_dgv.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 清單_dgv.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
- 清單_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 清單_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
- 清單_dgv.Columns(10).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 清單_dgv.Columns(10).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
- 清單_dgv.Columns(11).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 清單_dgv.Columns(11).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
- 清單_dgv.Columns(21).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單_dgv.Columns(21).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
- 清單_dgv.Columns(22).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單_dgv.Columns(22).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
-
- 支出_總_tb.Text = "0" : 收入_總_tb.Text = "0" : 損益_總_tb.Text = "0" : 零用金_總_tb.Text = "0" : TextBox10.Text = "0" : 支票_總_tb.Text = "0"
- For i As Integer = 0 To 清單_dgv.Rows.Count - 1
- 收入_總_tb.Text = Val(收入_總_tb.Text) + 清單_dgv.Rows(i).Cells("現金").Value * 清單_dgv.Rows(i).Cells("匯率").Value
- 支出_總_tb.Text = Val(支出_總_tb.Text) + 清單_dgv.Rows(i).Cells("支出").Value * 清單_dgv.Rows(i).Cells("匯率").Value
- 零用金_總_tb.Text = Val(零用金_總_tb.Text) + 清單_dgv.Rows(i).Cells("零用金").Value * 清單_dgv.Rows(i).Cells("匯率").Value
- If 清單_dgv(9, i).Value <> 0 And 清單_dgv(18, i).Value = True Then
- TextBox10.Text = Val(TextBox10.Text) + 清單_dgv.Rows(i).Cells("支票").Value * 清單_dgv.Rows(i).Cells("匯率").Value
- ElseIf 清單_dgv(9, i).Value <> 0 And 清單_dgv(18, i).Value = False Then
- 支票_總_tb.Text = Val(支票_總_tb.Text) + 清單_dgv.Rows(i).Cells("支票").Value * 清單_dgv.Rows(i).Cells("匯率").Value
- End If
- Next i
- 損益_總_tb.Text = Val(TextBox10.Text) + Val(零用金_總_tb.Text) + Val(收入_總_tb.Text) - Val(支出_總_tb.Text)
- If CLng(損益_總_tb.Text) > 0 Then : 損益_總_tb.ForeColor = Color.Blue : Else : 損益_總_tb.ForeColor = Color.Red : End If
- 支出_總_tb.Text = Format(Val(支出_總_tb.Text), "#,##0") : 損益_總_tb.Text = Format(Val(損益_總_tb.Text), "#,##0") : 收入_總_tb.Text = Format(Val(收入_總_tb.Text), "#,##0")
- 零用金_總_tb.Text = Format(Val(零用金_總_tb.Text), "#,##0") : TextBox10.Text = Format(Val(TextBox10.Text), "#,##0") : 支票_總_tb.Text = Format(Val(支票_總_tb.Text), "#,##0")
- End Sub
- Private Sub ComboBox1下拉表單資料載入()
- conn.Close()
- ConnOpen()
- SQL1 = "SELECT 年份 FROM 年份清單 ORDER BY 年份 DESC"
- CmdSet_For_dr()
- 年_cb.Items.Clear()
- While (dr.Read()) : 年_cb.Items.Add(dr("年份")) : End While
- conn.Close()
- End Sub
- Private Sub 財務_對帳單_ICS_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Me.MdiParent = GCM_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
- Panel2.SendToBack()
- 收入_單_tb.Text = "0" : 支出_單_tb.Text = "0" : 損益_單_tb.Text = "0" : 零用金_單_tb.Text = "0" : 已兌現支票_單_tb.Text = "0" : 支票_單_tb.Text = "0"
- ConnOpen() : SQL1 = "UPDATE 財務流水帳_ICS SET 會計 = N'0' WHERE (會計 IS NULL)" : CmdSet_For_dr() : conn.Close()
- ConnOpen() : SQL1 = "UPDATE 財務流水帳_ICS SET 出納 = N'0' WHERE (出納 IS NULL)" : CmdSet_For_dr() : conn.Close()
- ConnOpen() : SQL1 = "UPDATE 財務流水帳_ICS SET 現金 = N'0' WHERE (現金 IS NULL)" : CmdSet_For_dr() : conn.Close()
- ConnOpen() : SQL1 = "UPDATE 財務流水帳_ICS SET 備用金 = N'0' WHERE (備用金 IS NULL)" : CmdSet_For_dr() : conn.Close()
- ConnOpen() : SQL1 = "UPDATE 財務流水帳_ICS SET 公帳 = N'0' WHERE (公帳 IS NULL)" : CmdSet_For_dr() : conn.Close()
- ConnOpen() : SQL1 = "UPDATE 財務流水帳_ICS SET 支票 = N'0' WHERE (支票 IS NULL)" : CmdSet_For_dr() : conn.Close()
- ConnOpen() : SQL1 = "UPDATE 財務流水帳_ICS SET 日期 = N'' WHERE (日期 IS NULL)" : CmdSet_For_dr() : conn.Close()
- ConnOpen() : SQL1 = "UPDATE 財務流水帳_ICS SET 出納日期 = N'' WHERE (出納日期 IS NULL)" : CmdSet_For_dr() : conn.Close()
- ComboBox1下拉表單資料載入()
- 年_cb.Text = Year(Today) : 月_ch.SelectedIndex = Month(Today) - 1
- KKKJJ3 = "AND (財務控制表_ICS.審核日期 LIKE N'" & KKK3 & "/" & KKK4 & "%') "
- End Sub
- Dim 已超出 As Boolean
- Private Sub 清單_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 清單_dgv.MouseUp
- 'If 清單_dgv.SelectedCells.Count = 1 Then : MsgBox(清單_dgv.SelectedCells(0).ColumnIndex & " " & 清單_dgv.SelectedCells(0).RowIndex) : End If
- If 清單_dgv.SelectedCells.Count = 1 Then : 已超出 = False : End If
- If 清單_dgv.SelectedCells.Count > 0 Then
- If 清單_dgv.SelectedCells(0).ColumnIndex >= 8 And 清單_dgv.SelectedCells(0).ColumnIndex <= 11 Then
- If 已超出 = False Then
- Dim x As Double = 0
- For i As Integer = 0 To 清單_dgv.SelectedCells.Count - 1
- x += Val(清單_dgv.Rows(清單_dgv.SelectedCells.Item(i).RowIndex).Cells(清單_dgv.SelectedCells.Item(i).ColumnIndex).Value)
- Next i : GCM_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(x, "#,##0")
- Else : GCM_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0") : End If
- Else : 已超出 = True : GCM_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0")
- End If
- End If
- End Sub
- Private Sub 全部_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 全部_ch.Click
- 全部_ch.Checked = True : 含稅_ch.Checked = False : 非稅_ch.Checked = False : Set_清單1()
- End Sub
- Private Sub 含稅_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 含稅_ch.Click
- 全部_ch.Checked = False : 含稅_ch.Checked = True : 非稅_ch.Checked = False : Set_清單1()
- End Sub
- Private Sub 非稅_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 非稅_ch.Click
- 全部_ch.Checked = False : 含稅_ch.Checked = False : 非稅_ch.Checked = True : Set_清單1()
- End Sub
- Private Sub 總金額計算()
- Dim FFGG As Integer = 0 : Dim GGHH As Integer = 0 : Dim HHJJ As Integer = 0 : Dim JJKK As Integer = 0 : Dim KKLL As Integer = 0
- 收入_單_tb.Text = "0" : 支出_單_tb.Text = "0" : 損益_單_tb.Text = "0" : 零用金_單_tb.Text = "0" : 已兌現支票_單_tb.Text = "0" : 支票_單_tb.Text = "0"
- For i As Integer = 0 To 清單_dgv.Rows.Count - 1
- If 清單_dgv.Rows(i).Cells("收支單號").Value = 收支單號_tb.Text Then
- FFGG = Val(FFGG) + 清單_dgv.Rows(i).Cells("現金").Value * 清單_dgv.Rows(i).Cells("匯率").Value
- GGHH = Val(GGHH) + 清單_dgv.Rows(i).Cells("支出").Value * 清單_dgv.Rows(i).Cells("匯率").Value
- HHJJ = Val(HHJJ) + 清單_dgv.Rows(i).Cells("零用金").Value * 清單_dgv.Rows(i).Cells("匯率").Value
- If 清單_dgv(9, i).Value <> 0 And 清單_dgv(18, i).Value = True Then
- JJKK = Val(JJKK) + 清單_dgv.Rows(i).Cells("支票").Value * 清單_dgv.Rows(i).Cells("匯率").Value
- ElseIf 清單_dgv(9, i).Value <> 0 And 清單_dgv(18, i).Value = False Then
- KKLL = Val(KKLL) + 清單_dgv.Rows(i).Cells("支票").Value * 清單_dgv.Rows(i).Cells("匯率").Value
- End If
- End If
- Next i
- 收入_單_tb.Text = FFGG : 支出_單_tb.Text = GGHH : 零用金_單_tb.Text = HHJJ : 已兌現支票_單_tb.Text = JJKK : 支票_單_tb.Text = KKLL
- 損益_單_tb.Text = JJKK + HHJJ + FFGG - GGHH
- If CLng(損益_單_tb.Text) > 0 Then : 損益_單_tb.ForeColor = Color.Blue : Else : 損益_單_tb.ForeColor = Color.Red : End If
- 收入_單_tb.Text = Strings.Format(Val(收入_單_tb.Text), "#,##0") : 支出_單_tb.Text = Strings.Format(Val(支出_單_tb.Text), "#,##0")
- 損益_單_tb.Text = Strings.Format(Val(損益_單_tb.Text), "#,##0") : 支票_單_tb.Text = Strings.Format(Val(支票_單_tb.Text), "#,##0")
- 零用金_單_tb.Text = Strings.Format(Val(零用金_單_tb.Text), "#,##0") : 已兌現支票_單_tb.Text = Strings.Format(Val(已兌現支票_單_tb.Text), "#,##0")
- End Sub
- Private Sub 清單_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 清單_dgv.CellClick
- If e.RowIndex = -1 Then : Else
- 收支單號_tb.Text = 清單_dgv.Rows(e.RowIndex).Cells("收支單號").Value : 總金額計算()
- End If
- End Sub
- Private Sub 清單_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 清單_dgv.RowPostPaint
- Dim linePen As New Pen(Color.Blue, 2)
- If e.RowIndex = 清單_dgv.Rows.Count - 1 Then
- Exit Sub
- Else
- If 清單_dgv(0, e.RowIndex).Value.ToString <> 清單_dgv(0, e.RowIndex + 1).Value.ToString Then
- Dim startX As Integer = IIf(清單_dgv.RowHeadersVisible, 清單_dgv.RowHeadersWidth, 0)
- Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
- Dim endX As Integer = startX + 清單_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 清單_dgv.HorizontalScrollingOffset
- e.Graphics.DrawLine(linePen, startX, startY, endX, startY)
- Exit Sub
- End If
- End If
- For i As Integer = 0 To 清單_dgv.Rows.Count - 1
- If 清單_dgv(9, i).Value <> 0 And 清單_dgv(18, i).Value = True Then
- 清單_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink
- ElseIf 清單_dgv(9, i).Value <> 0 And 清單_dgv(18, i).Value = False Then
- 清單_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
- End If
- Next
- End Sub
- Private Sub 年_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 年_cb.SelectedIndexChanged
- KKK3 = 年_cb.Text : If KKK3 = "" Or KKK4 = "" Then : Else : KKKJJ3 = "AND (財務控制表_ICS.審核日期 LIKE N'" & KKK3 & "/" & KKK4 & "%') " : Set_清單1() : End If
- End Sub
- Private Sub 月_ch_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 月_ch.SelectedIndexChanged
- KKK4 = 月_ch.Text : If KKK3 = "" Or KKK4 = "" Then : Else : KKKJJ3 = "AND (財務控制表_ICS.審核日期 LIKE N'" & KKK3 & "/" & KKK4 & "%') " : Set_清單1() : End If
- End Sub
- Private Sub 只顯示支票資料_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 只顯示支票資料_ch.Click
- If 只顯示支票資料_ch.Checked = False Then : KKKJJ = "" : Set_清單1() : Else : KKKJJ = " AND (財務流水帳_ICS.支票數 <> 0) " : Set_清單1() : End If
- End Sub
- Private Sub 隱藏申請_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 隱藏申請_ch.Click
- Set_grid()
- End Sub
- Private Sub 隱藏作帳_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 隱藏作帳_ch.Click
- Set_grid()
- End Sub
- '-----------------------------滑鼠右鍵--------------------------------------------------------------------------------------------------------------------------------------
- Private Sub 對帳記錄存檔ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 對帳記錄存檔ToolStripMenuItem.Click
- For i As Integer = 0 To 清單_dgv.Rows.Count - 1
- 資料數 = 清單_dgv.Rows.Count : MyMoule.進度條()
- ConnOpen()
- SQL1 = "UPDATE 財務流水帳_ICS SET 現金 = '" & 清單_dgv.Rows(i).Cells("現金點交").Value & "', 備用金 = '" & 清單_dgv.Rows(i).Cells("零用金點交").Value &
- "', 公帳 = '" & 清單_dgv.Rows(i).Cells("支出點交").Value & "', 支票 = '" & 清單_dgv.Rows(i).Cells("支票兌現").Value & "'
- WHERE 支付單號 LIKE N'" & 清單_dgv.Rows(i).Cells("收支單號").Value & "' AND 項次 LIKE N'" & 清單_dgv.Rows(i).Cells("項次").Value & "'"
- cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
- Next
- MsgBox("存檔完成。") : Set_清單1() : ProgressBar1.Value = 0 : 最終數 = 0
- End Sub
- Private Sub 關鍵字查詢ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 關鍵字查詢ToolStripMenuItem.Click
- PA = InputBox("請輸入要查詢的關鍵字。")
- KKKJJ2 = " AND (財務控制表_ICS.支付單號 LIKE N'%" & PA & "%' OR 財務控制表_ICS.申請人 LIKE N'%" & PA & "%' OR 財務控制表_ICS.審核人 LIKE N'%" & PA &
- "%' OR 財務流水帳_ICS.明細 LIKE N'%" & PA & "%' OR 財務控制表_ICS.備註 LIKE N'%" & PA & "%' OR 財務流水帳_ICS.備註 LIKE N'%" & PA & "%')" : Set_清單1()
- KKKJJ2 = "" : PA = ""
- End Sub
- Private Sub BBBToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BBBToolStripMenuItem.Click
- MsgBox("待開發。")
- ' 列印_零用金支付明細.ShowDialog()
- End Sub
- Private Sub 清除ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 清除ToolStripMenuItem.Click
- ComboBox1下拉表單資料載入()
- 月_ch.Items.Clear()
- 月_ch.Items.Add("01") : 月_ch.Items.Add("02") : 月_ch.Items.Add("03") : 月_ch.Items.Add("04") : 月_ch.Items.Add("05") : 月_ch.Items.Add("06")
- 月_ch.Items.Add("07") : 月_ch.Items.Add("08") : 月_ch.Items.Add("09") : 月_ch.Items.Add("10") : 月_ch.Items.Add("11") : 月_ch.Items.Add("12")
- KKK3 = "" : KKK4 = "" : KKKJJ3 = ""
- 清單_dgv.DataSource = Nothing : ds.Clear()
- End Sub
- Private Sub 重新整理ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 重新整理ToolStripMenuItem.Click
- Set_清單1()
- End Sub
- End Class
|