Option Strict Off Public Class 財務_收支單申請 ReadOnly ds As New DataSet : ReadOnly ds1 As New DataSet Private DTP As String Private DTP1 As String Private WWEE As String Private 新流水1 As String Private 新項次 As String Private ReadOnly 新流水2 As String Dim NUM1 As Integer : Dim 匯率1 As Double Private Sub Set_清單1() DataGridView2.DataSource = Nothing : ds1.Clear() DataGridView2.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing DataGridView2.ColumnHeadersHeight = 25 DataGridView2.AllowUserToAddRows = False ConnOpen() If RadioButton1.Checked = True And RadioButton2.Checked = False And RadioButton3.Checked = False Then WWEE = "WHERE (審核人 LIKE '') " ElseIf RadioButton1.Checked = False And RadioButton2.Checked = True And RadioButton3.Checked = False Then WWEE = "WHERE (審核人 LIKE '作廢%') " ElseIf RadioButton1.Checked = False And RadioButton2.Checked = False And RadioButton3.Checked = True Then WWEE = "WHERE (審核人 NOT LIKE '作廢%') AND (審核人 NOT LIKE '') " End If SQL1 = "SELECT 支付單號 AS 收支單號, 申請日期, 審核日期, 申請人 FROM 財務控制表 " & WWEE & " ORDER BY 申請日期 DESC" CmdSet_For_DGV() : da.Fill(ds1) : DataGridView2.DataSource = ds1.Tables(0) : conn.Close() DataGridView2.Columns(0).FillWeight = 160 : DataGridView2.Columns(1).FillWeight = 100 : DataGridView2.Columns(2).FillWeight = 100 : DataGridView2.Columns(3).Visible = False End Sub Private Sub Set_費用清單() 明細_dgv.DataSource = Nothing : ds.Clear() 明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 明細_dgv.ColumnHeadersHeight = 25 明細_dgv.AllowUserToAddRows = False 明細_dgv.RowTemplate.Height = 35 ConnOpen() SQL1 = "SELECT 財務流水帳.支付單號, 財務流水帳.項次, 會計科目.會計科目, 財務流水帳.明細 AS 用途, 財務流水帳.零用金, 財務流水帳.支票數 AS 支票, Cast(財務流水帳.收入 AS money) AS 現金, Cast(財務流水帳.支出 AS money) AS 支出, 財務流水帳.備註 AS 票期, 財務流水帳.匯率, 財務流水帳.銀行 AS 幣別, 財務流水帳.類別, 財務流水帳.流水號, 財務流水帳.含稅 FROM 財務流水帳 INNER JOIN 會計科目 ON 財務流水帳.類別 = 會計科目.編號 WHERE (財務流水帳.支付單號 LIKE '" & TextBox1.Text & "') ORDER BY 財務流水帳.項次" CmdSet_For_DGV() : da.Fill(ds) : 明細_dgv.DataSource = ds.Tables(0) : conn.Close() 明細_dgv.Columns(0).Visible = False : 明細_dgv.Columns(1).FillWeight = 80 : 明細_dgv.Columns(2).FillWeight = 300 : 明細_dgv.Columns(3).FillWeight = 500 明細_dgv.Columns(4).FillWeight = 140 : 明細_dgv.Columns(5).FillWeight = 140 : 明細_dgv.Columns(6).FillWeight = 140 : 明細_dgv.Columns(7).FillWeight = 140 明細_dgv.Columns(8).FillWeight = 140 : 明細_dgv.Columns(9).FillWeight = 140 : 明細_dgv.Columns(10).FillWeight = 140 : 明細_dgv.Columns(11).Visible = False 明細_dgv.Columns(12).Visible = False : 明細_dgv.Columns(13).FillWeight = 80 明細_dgv.Columns(1).ReadOnly = True : 明細_dgv.Columns(2).ReadOnly = True : 明細_dgv.Columns(9).ReadOnly = True : 明細_dgv.Columns(10).ReadOnly = True 明細_dgv.Columns(4).DefaultCellStyle.Format = "#,##0.00" : 明細_dgv.Columns(5).DefaultCellStyle.Format = "#,##0.00" : 明細_dgv.Columns(6).DefaultCellStyle.Format = "#,##0.00" 明細_dgv.Columns(7).DefaultCellStyle.Format = "#,##0.00" : 明細_dgv.Columns(8).DefaultCellStyle.Format = "#,##0.00" 明細_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight 明細_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight 明細_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight 明細_dgv.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight 明細_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter 明細_dgv.Columns(10).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(10).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter 明細_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter 明細_dgv.EditMode = DataGridViewEditMode.EditOnEnter TextBox5.Text = "0.00" : TextBox2.Text = "0.00" : TextBox6.Text = "0.00" : TextBox7.Text = "0" : TextBox8.Text = "0.00" For i As Integer = 0 To 明細_dgv.Rows.Count - 1 TextBox5.Text = Val(TextBox5.Text) + Val(明細_dgv.Rows(i).Cells("現金").Value) : TextBox2.Text = Val(TextBox2.Text) + Val(明細_dgv.Rows(i).Cells("支出").Value) TextBox7.Text = Val(TextBox7.Text) + 明細_dgv.Rows(i).Cells("零用金").Value : TextBox8.Text = Val(TextBox8.Text) + 明細_dgv.Rows(i).Cells("支票").Value Next i TextBox6.Text = Val(TextBox7.Text) + Val(TextBox5.Text) - Val(TextBox2.Text) If Val(TextBox6.Text) > 0 Then : TextBox6.ForeColor = Color.Blue : Else : TextBox6.ForeColor = Color.Red : End If TextBox5.Text = Format(Val(TextBox5.Text), "#,##0.00") : TextBox2.Text = Format(Val(TextBox2.Text), "#,##0.00") : TextBox6.Text = Format(Val(TextBox6.Text), "#,##0.00") TextBox7.Text = Format(Val(TextBox7.Text), "#,##0.00") : TextBox8.Text = Format(Val(TextBox8.Text), "#,##0.00") End Sub Private Sub ComboBox1下拉表單資料載入() conn.Close() ConnOpen() SQL1 = "SELECT 會計科目, 編號 FROM 會計科目 WHERE (LEFT(編號, 7) LIKE N'" & ComboBox4.Text & "') AND (停用 = 0) AND (統制科目 = 0) ORDER BY 編號" CmdSet_For_dr() : ComboBox1.Items.Clear() : ComboBox6.Items.Clear() While (dr.Read()) : ComboBox1.Items.Add(dr("會計科目")) : ComboBox6.Items.Add(dr("編號")) : End While : conn.Close() If ComboBox1.Items.Count <> 0 Then : ComboBox1.SelectedIndex = 0 : End If End Sub Private Sub ComboBox2下拉表單資料載入() conn.Close() ConnOpen() SQL1 = "SELECT 第一階, LEFT(編號, 4) AS 編號 FROM 會計科目 WHERE (停用 = 0) GROUP BY 第一階, LEFT(編號, 4) ORDER BY 編號" CmdSet_For_dr() : ComboBox5.Items.Clear() : ComboBox2.Items.Clear() : ComboBox5.Text = "" : ComboBox2.Text = "" While (dr.Read()) : ComboBox5.Items.Add(dr("第一階")) : ComboBox2.Items.Add(dr("編號")) : End While : conn.Close() End Sub Private Sub ComboBox3下拉表單資料載入() conn.Close() ConnOpen() SQL1 = "SELECT LEFT(編號, 7) AS 編號, 第二階, 層級 FROM 會計科目 WHERE (LEFT(編號, 4) LIKE N'" & ComboBox2.Text & "') AND (層級 NOT LIKE '3') AND (停用 = 0) GROUP BY LEFT(編號, 7), 第二階, 層級 ORDER BY 編號" CmdSet_For_dr() : ComboBox3.Items.Clear() : ComboBox4.Items.Clear() : ComboBox3.Text = "" : ComboBox4.Text = "" While (dr.Read()) : ComboBox3.Items.Add(dr("第二階")) : ComboBox4.Items.Add(dr("編號")) : End While : conn.Close() End Sub Private Sub 匯率() ConnOpen() SQL1 = "SELECT 中心匯率, 美金匯率 FROM 歷史匯率表 WHERE (年 LIKE '" & Strings.Left(Format(DateTimePicker1.Value, "yyyyMMdd"), 4) & "%') AND (月 LIKE '" & Strings.Mid(Format(DateTimePicker1.Value, "yyyyMMdd"), 5, 2) & "%')" cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader If dr.Read() Then 人民幣匯率_tb.Text = dr("中心匯率").ToString : 美金匯率_tb.Text = dr("美金匯率").ToString : conn.Close() : dr.Close() Else conn.Close() : dr.Close() : 匯率修改.Close() : 匯率修改.Show() : 匯率修改.BringToFront() End If End Sub Private Sub 營運成本支付申請_Load(sender As Object, e As EventArgs) Handles MyBase.Load Me.MdiParent = GCM_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True RadioButton1.Checked = True : DateTimePicker2.Visible = False : 複製單據開單ToolStripMenuItem.Enabled = False : ComboBox6.Visible = False DataGridView2.Visible = True : Set_清單1() : ComboBox2下拉表單資料載入() 匯率() End Sub Private Sub ComboBox5_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox5.TextChanged ComboBox2.SelectedIndex = ComboBox5.SelectedIndex : TextBox9.Text = "" : ComboBox3下拉表單資料載入() : ComboBox1下拉表單資料載入() End Sub Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox2.TextChanged ComboBox5.SelectedIndex = ComboBox2.SelectedIndex : ComboBox3下拉表單資料載入() : ComboBox1下拉表單資料載入() End Sub Private Sub ComboBox3_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox3.TextChanged ComboBox4.SelectedIndex = ComboBox3.SelectedIndex : ComboBox1下拉表單資料載入() End Sub Private Sub ComboBox4_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox4.TextChanged ComboBox3.SelectedIndex = ComboBox4.SelectedIndex : ComboBox1下拉表單資料載入() End Sub Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged ComboBox6.SelectedIndex = ComboBox1.SelectedIndex End Sub Private Sub ComboBox6_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox6.SelectedIndexChanged ComboBox1.SelectedIndex = ComboBox6.SelectedIndex End Sub Private Sub TextBox9_TextChanged(sender As Object, e As EventArgs) Handles TextBox9.TextChanged conn.Close() ConnOpen() SQL1 = "SELECT 會計科目, 編號 FROM 會計科目 WHERE (會計科目 LIKE N'%" & TextBox9.Text & "%') AND (停用 = 0) AND (統制科目 = 0) ORDER BY 編號" CmdSet_For_dr() : ComboBox1.Items.Clear() : ComboBox6.Items.Clear() While (dr.Read()) : ComboBox1.Items.Add(dr("會計科目")) : ComboBox6.Items.Add(dr("編號")) : End While : conn.Close() If ComboBox1.Items.Count <> 0 Then : ComboBox1.SelectedIndex = 0 : End If End Sub Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick If Label62.Visible = True Then : Label62.Visible = False : Else : Label62.Visible = True : End If End Sub Private Sub DataGridView1_CellContentCl(sender As Object, e As DataGridViewCellEventArgs) Handles 明細_dgv.CellEndEdit TextBox5.Text = "0" : TextBox2.Text = "0" : TextBox6.Text = "0" : TextBox7.Text = "0" : TextBox8.Text = "0" For i As Integer = 0 To 明細_dgv.Rows.Count - 1 TextBox5.Text = Val(TextBox5.Text) + 明細_dgv.Rows(i).Cells("現金").Value : TextBox2.Text = Val(TextBox2.Text) + 明細_dgv.Rows(i).Cells("支出").Value TextBox7.Text = Val(TextBox7.Text) + 明細_dgv.Rows(i).Cells("零用金").Value : TextBox8.Text = Val(TextBox8.Text) + 明細_dgv.Rows(i).Cells("支票").Value Next i TextBox6.Text = Val(TextBox7.Text) + Val(TextBox5.Text) - Val(TextBox2.Text) If Val(TextBox6.Text) > 0 Then : TextBox6.ForeColor = Color.Blue : Else : TextBox6.ForeColor = Color.Red : End If TextBox5.Text = Format(Val(TextBox5.Text), "#,##0") : TextBox2.Text = Format(Val(TextBox2.Text), "#,##0") : TextBox6.Text = Format(Val(TextBox6.Text), "#,##0") TextBox7.Text = Format(Val(TextBox7.Text), "#,##0") : TextBox8.Text = Format(Val(TextBox8.Text), "#,##0") Dim EU As String EU = 明細_dgv("票期", e.RowIndex).Value.ToString If EU = "" Then Else DateTimePicker2.Text = EU 明細_dgv.Rows(e.RowIndex).Cells("票期").Value = Format(DateTimePicker2.Value, "yyyy/MM/dd") End If End Sub Private Sub DataGridView2_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView2.CellClick If e.RowIndex = -1 Then : Else TextBox1.Text = DataGridView2(0, e.RowIndex).Value.ToString : DateTimePicker1.Value = DataGridView2(1, e.RowIndex).Value.ToString : Set_費用清單() TextBox3.Text = DataGridView2(3, e.RowIndex).Value.ToString End If End Sub Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles 明細_dgv.CellClick If e.RowIndex = -1 Then : Else TextBox4.Text = 明細_dgv(1, e.RowIndex).Value.ToString End If End Sub Private Sub Set_切換格式() 明細_dgv.DataSource = Nothing : ds.Clear() : TextBox1.Text = "" : TextBox3.Text = "" : TextBox4.Text = "" : TextBox5.Text = "" : TextBox2.Text = "" : TextBox6.Text = "" TextBox7.Text = "" : TextBox8.Text = "" : ComboBox1下拉表單資料載入() : Set_清單1() End Sub Private Sub RadioButton1_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton1.Click RadioButton1.Checked = True : RadioButton2.Checked = False : RadioButton3.Checked = False : 申請完成ToolStripMenuItem.Enabled = True : 複製單據開單ToolStripMenuItem.Enabled = False 開立零用金支付單ToolStripMenuItem.Enabled = True : Button2.Enabled = True : 新增一筆資料ToolStripMenuItem.Enabled = True 刪除支付單中選中的資料ToolStripMenuItem.Enabled = True : 刪除選中的零用金支付單ToolStripMenuItem.Enabled = True : Set_切換格式() End Sub Private Sub RadioButton2_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton2.Click RadioButton1.Checked = False : RadioButton2.Checked = True : RadioButton3.Checked = False : 申請完成ToolStripMenuItem.Enabled = False : 複製單據開單ToolStripMenuItem.Enabled = False 開立零用金支付單ToolStripMenuItem.Enabled = False : Button2.Enabled = False : 新增一筆資料ToolStripMenuItem.Enabled = False 刪除支付單中選中的資料ToolStripMenuItem.Enabled = False : 刪除選中的零用金支付單ToolStripMenuItem.Enabled = False : Set_切換格式() End Sub Private Sub RadioButton3_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton3.Click If CC(28) = False Then RadioButton1.Checked = False : RadioButton2.Checked = False : RadioButton3.Checked = True : 申請完成ToolStripMenuItem.Enabled = False : 複製單據開單ToolStripMenuItem.Enabled = True 開立零用金支付單ToolStripMenuItem.Enabled = False : Button2.Enabled = False : 新增一筆資料ToolStripMenuItem.Enabled = False 刪除支付單中選中的資料ToolStripMenuItem.Enabled = False : 刪除選中的零用金支付單ToolStripMenuItem.Enabled = False : Set_切換格式() Else RadioButton1.Checked = False : RadioButton2.Checked = False : RadioButton3.Checked = True : 申請完成ToolStripMenuItem.Enabled = True : 複製單據開單ToolStripMenuItem.Enabled = True 開立零用金支付單ToolStripMenuItem.Enabled = True : Button2.Enabled = True : 新增一筆資料ToolStripMenuItem.Enabled = True 刪除支付單中選中的資料ToolStripMenuItem.Enabled = True : 刪除選中的零用金支付單ToolStripMenuItem.Enabled = True : Set_切換格式() End If End Sub Private Sub 存檔() For i As Integer = 0 To 明細_dgv.Rows.Count - 1 資料數 = 明細_dgv.Rows.Count : MyMoule.進度條() ConnOpen() SQL1 = "UPDATE 財務流水帳 SET 明細 = N'" & 明細_dgv.Rows(i).Cells("用途").Value & "', 支出 = N'" & 明細_dgv.Rows(i).Cells("支出").Value & "', 備註 = N'" & 明細_dgv.Rows(i).Cells("票期").Value & "' , 類別 = N'" & 明細_dgv.Rows(i).Cells("類別").Value & "', 收入 = N'" & 明細_dgv.Rows(i).Cells("現金").Value & "', 零用金 = N'" & 明細_dgv.Rows(i).Cells("零用金").Value & "', 支票數 = N'" & 明細_dgv.Rows(i).Cells("支票").Value & "', 匯率 = N'" & 明細_dgv.Rows(i).Cells("匯率").Value & "', 含稅 = N'" & 明細_dgv.Rows(i).Cells("含稅").Value & "' WHERE (支付單號 LIKE '" & TextBox1.Text & "' AND 項次 LIKE '" & 明細_dgv.Rows(i).Cells("項次").Value & "')" cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close() Next ProgressBar1.Value = 0 : 最終數 = 0 End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Timer1.Enabled = False : Label62.Visible = False 開立零用金支付單ToolStripMenuItem.Enabled = True : RadioButton1.Enabled = True : RadioButton2.Enabled = True : DataGridView2.Enabled = True : RadioButton3.Enabled = True 存檔() : Set_清單1() MsgBox("申請完成,請通知主管審核。") End Sub Private Sub Set_日期格式轉換() If CheckBox1.Checked = False Then DTP = Format(Today(), "yyyy/MM/dd") : DTP1 = Format(Today(), "yyyyMMdd") Else DTP1 = Format(DateTimePicker1.Value, "yyyyMMdd") : DTP = Format(DateTimePicker1.Value, "yyyy/MM/dd") End If End Sub Private Sub Set_流水號() conn.Close() : dr.Close() Dim NUM1 As Integer For NUM1 = 0 To 99 Dim d As String : Dim f As String : Dim g As Integer = 1 If Month(Now) < 10 Then : d = "0" & CStr(Month(Now)) Else : d = CStr(Month(Now)) End If If Now.Day() < 10 Then : f = "0" & CStr(Now.Day()) Else : f = CStr(Now.Day()) End If If NUM1 < 10 Then : 新流水1 = "B" & Microsoft.VisualBasic.Right(CStr(Year(Now)), 2) & d & f & "0" & NUM1 Else : 新流水1 = "B" & Microsoft.VisualBasic.Right(CStr(Year(Now)), 2) & d & f & NUM1 End If ConnOpen() SQL1 = "SELECT 流水號 FROM 財務流水帳 WHERE (流水號 ='" & 新流水1 & "')" cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader If dr.Read() Then : conn.Close() : Else : conn.Close() : NUM1 = 99 : End If Next End Sub Private Sub 開立零用金支付單() Dim NUM1 As Integer : Timer1.Enabled = True Set_日期格式轉換() For i As Integer = 1 To 999 NUM1 = 0 + i If NUM1 < 10 Then : TextBox1.Text = "OE-" & DTP1 & "-00" & NUM1 ElseIf NUM1 > 9 And NUM1 < 100 Then : TextBox1.Text = "OE-" & DTP1 & "-0" & NUM1 ElseIf NUM1 > 99 Then : TextBox1.Text = "OE-" & DTP1 & "-" & NUM1 End If conn.Close() ConnOpen() SQL1 = "SELECT TOP (1) 支付單號 FROM 財務控制表 WHERE ( 支付單號 LIKE '" & TextBox1.Text & "')" cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader If dr.Read() Then : Else : i = 999 : conn.Close() : End If : conn.Close() Next ConnOpen() SQL1 = "INSERT INTO 財務控制表 (支付單號, 申請人, 申請日期, 審核人, 審核日期, 會計, 作帳日期, 出納, 出納日期, 備註, 公司編號) " & "VALUES (N'" & TextBox1.Text & "', N'" & gUserName & "', N'" & DTP & "', N'', N'', N'', N'', N'', N'', N'', N'工巧明')" CmdSet_For_dr() TextBox3.Text = gUserName End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 開立零用金支付單() : 開立零用金支付單ToolStripMenuItem.Enabled = False : RadioButton1.Enabled = False : RadioButton2.Enabled = False : RadioButton3.Enabled = False DataGridView2.Enabled = False : RadioButton1.Checked = True : RadioButton2.Checked = False : RadioButton3.Checked = False : 申請完成ToolStripMenuItem.Enabled = True 複製單據開單ToolStripMenuItem.Enabled = False : 開立零用金支付單ToolStripMenuItem.Enabled = True : Button2.Enabled = True : 新增一筆資料ToolStripMenuItem.Enabled = True 刪除支付單中選中的資料ToolStripMenuItem.Enabled = True : 刪除選中的零用金支付單ToolStripMenuItem.Enabled = True Set_清單1() For i As Integer = 0 To 明細_dgv.Rows.Count - 1 Set_流水號() ConnOpen() SQL1 = "INSERT INTO 財務流水帳 (流水號, 銀行, 日期, 類別, 收入, 支出, 明細, 人員, 支付單號, 項次, 會計, 出納, 現金, 備用金, 公帳, 支票, 出納日期, 零用金, 支票數, 匯率, 備註) VALUES (N'" & 新流水1 & "', N'" & 明細_dgv.Rows(i).Cells("幣別").Value & "'', N'" & DTP & "', N'" & 明細_dgv.Rows(i).Cells("類別").Value & "', N'" & 明細_dgv.Rows(i).Cells("現金").Value & "', N'" & 明細_dgv.Rows(i).Cells("支出").Value & "', N'" & 明細_dgv.Rows(i).Cells("用途").Value & "', 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 & "', N'" & 明細_dgv.Rows(i).Cells("零用金").Value & "', N'" & 明細_dgv.Rows(i).Cells("支票").Value & "', N'" & 明細_dgv.Rows(i).Cells("匯率").Value & "', N'" & 明細_dgv.Rows(i).Cells("票期").Value & "')" CmdSet_For_dr() Next Set_費用清單() : MsgBox("複製單據開立完成。") End Sub Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged 匯率() End Sub '----------------------滑鼠右鍵-------------------------------------------------------------------------------------------------------------------------------------------------------------------- Private Sub 重新讀取ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 重新讀取ToolStripMenuItem.Click Set_清單1() End Sub Private Sub 開立零用金支付單ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 開立零用金支付單ToolStripMenuItem.Click 開立零用金支付單() : 開立零用金支付單ToolStripMenuItem.Enabled = False : RadioButton1.Enabled = False : RadioButton2.Enabled = False : RadioButton3.Enabled = False : DataGridView2.Enabled = False 明細_dgv.DataSource = Nothing : ds.Clear() : conn.Close() Set_清單1() End Sub Private Sub 刪除選中的零用金支付單ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 刪除選中的零用金支付單ToolStripMenuItem.Click Dim aa As MsgBoxResult aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel) If aa = MsgBoxResult.Ok Then ConnOpen() SQL1 = "DELETE FROM 財務控制表 WHERE (支付單號 LIKE '" & TextBox1.Text & "')" cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : conn.Close() ConnOpen() SQL1 = "DELETE FROM 財務流水帳 WHERE (支付單號 LIKE '" & TextBox1.Text & "')" cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : conn.Close() TextBox1.Text = "" : TextBox3.Text = "" : TextBox4.Text = "" 明細_dgv.DataSource = Nothing : ds.Clear() Set_清單1() End If End Sub Private Sub 刪除支付單中選中的資料ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 刪除支付單中選中的資料ToolStripMenuItem.Click If TextBox4.Text = "" Then MsgBox("未選擇需要刪除的資料。") Else 存檔() ConnOpen() SQL1 = "DELETE FROM 財務流水帳 WHERE (支付單號 LIKE '" & TextBox1.Text & "' AND 項次 LIKE '" & TextBox4.Text & "')" cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : conn.Close() Set_費用清單() Dim NUM1 As Integer = 0 For i As Integer = 0 To 明細_dgv.Rows.Count - 1 NUM1 += 1 : If NUM1 < 10 Then : 新項次 = "0" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = NUM1 : End If ConnOpen() SQL1 = "UPDATE 財務流水帳 SET 項次 = N'" & 新項次 & "' WHERE (支付單號 LIKE '" & TextBox1.Text & "' AND 項次 LIKE '" & 明細_dgv.Rows(i).Cells("項次").Value & "')" cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() conn.Close() Next Set_費用清單() End If End Sub Private Sub 新增一筆資料ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 新增一筆資料ToolStripMenuItem.Click If ComboBox6.Text = "" Or 幣別_cb.Text = "" Then MsgBox("沒有選擇會計科目或幣別。") Else If TextBox1.Text = "" Then 開立零用金支付單() End If Set_日期格式轉換() : Set_流水號() 存檔() ConnOpen() SQL1 = "SELECT TOP(1) 項次 FROM 財務流水帳 WHERE 支付單號 LIKE '" & TextBox1.Text & "' ORDER BY 項次 DESC" cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader If dr.Read() Then : 新項次 = dr("項次") : Else : 新項次 = "00" : End If : conn.Close() NUM1 = Double.Parse(新項次) + 1 If NUM1 < 10 Then : 新項次 = "0" & NUM1 ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = NUM1 End If ConnOpen() If 幣別_cb.Text = "台幣現金" Then 匯率1 = 1 ElseIf 幣別_cb.Text = "人民幣現金" Then 匯率1 = 人民幣匯率_tb.Text ElseIf 幣別_cb.Text = "美金" Then 匯率1 = 美金匯率_tb.Text End If SQL1 = "INSERT INTO 財務流水帳 (流水號, 銀行, 日期, 類別, 收入, 支出, 明細, 人員, 支付單號, 項次, 會計, 出納, 現金, 備用金, 公帳, 支票, 出納日期, 零用金, 支票數, 匯率, 備註) " & "VALUES (N'" & 新流水1 & "', N'" & 幣別_cb.Text & "', N'" & DTP & "', N'" & ComboBox6.Text & "', N'0', N'0', N'', N'" & gUserName & "', N'" & TextBox1.Text & "', N'" & 新項次 & "', N'0', N'0', N'0', N'0', N'0', N'0', N'" & DTP & "', N'0', N'0', N'" & 匯率1 & "', N'')" CmdSet_For_dr() Set_費用清單() End If End Sub Private Sub 申請完成ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 申請完成ToolStripMenuItem.Click Me.Button2.PerformClick() End Sub Private Sub 複製單據開單ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 複製單據開單ToolStripMenuItem.Click Me.Button1.PerformClick() End Sub End Class