Option Strict Off Public Class 現金收支單申請 ReadOnly ds As New DataSet : ReadOnly ds1 As New DataSet Dim 新項次 As String : Dim NUM1 As Integer Private Sub Set_清單1() DataGridView2.DataSource = Nothing : ds1.Clear() DataGridView2.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing DataGridView2.ColumnHeadersHeight = 25 DataGridView2.AllowUserToAddRows = False SQL_營運成本收支單申請清單() 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_費用清單() DataGridView1.DataSource = Nothing : ds.Clear() DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing DataGridView1.ColumnHeadersHeight = 25 DataGridView1.AllowUserToAddRows = False DataGridView1.RowTemplate.Height = 35 SQL_營運成本收支單申請費用清單() da.Fill(ds) : DataGridView1.DataSource = ds.Tables(0) : conn.Close() DataGridView1.Columns(0).Visible = False : DataGridView1.Columns(1).FillWeight = 80 : DataGridView1.Columns(2).FillWeight = 200 : DataGridView1.Columns(3).FillWeight = 500 DataGridView1.Columns(4).Visible = False : DataGridView1.Columns(5).Visible = False : DataGridView1.Columns(6).FillWeight = 140 : DataGridView1.Columns(7).FillWeight = 140 DataGridView1.Columns(8).FillWeight = 200 : DataGridView1.Columns(9).Visible = False : DataGridView1.Columns(10).FillWeight = 100 DataGridView1.Columns(1).ReadOnly = True : DataGridView1.Columns(2).ReadOnly = True : DataGridView1.Columns(10).ReadOnly = True DataGridView1.Columns(4).DefaultCellStyle.Format = "#,##0" : DataGridView1.Columns(5).DefaultCellStyle.Format = "#,##0" : DataGridView1.Columns(6).DefaultCellStyle.Format = "#,##0" DataGridView1.Columns(7).DefaultCellStyle.Format = "#,##0" DataGridView1.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter DataGridView1.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(2).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter DataGridView1.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : DataGridView1.Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight DataGridView1.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : DataGridView1.Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight DataGridView1.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : DataGridView1.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight DataGridView1.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : DataGridView1.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight DataGridView1.Columns(10).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(10).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter DataGridView1.EditMode = DataGridViewEditMode.EditOnEnter TextBox5.Text = "0" : TextBox2.Text = "0" : TextBox6.Text = "0" : TextBox7.Text = "0" : TextBox8.Text = "0" For i As Integer = 0 To DataGridView1.Rows.Count - 1 TextBox5.Text = Val(TextBox5.Text) + DataGridView1.Rows(i).Cells("現金").Value : TextBox2.Text = Val(TextBox2.Text) + DataGridView1.Rows(i).Cells("支出").Value TextBox7.Text = Val(TextBox7.Text) + DataGridView1.Rows(i).Cells("開票").Value : TextBox8.Text = Val(TextBox8.Text) + DataGridView1.Rows(i).Cells("收票").Value If DataGridView1.Rows(i).Cells("支出").Value <> 0 And DataGridView1.Rows(i).Cells("現金").Value = 0 Then DataGridView1.Rows(i).Cells("狀態").Value = "付現" ElseIf DataGridView1.Rows(i).Cells("支出").Value = 0 And DataGridView1.Rows(i).Cells("現金").Value <> 0 Then DataGridView1.Rows(i).Cells("狀態").Value = "收現" End If Next i TextBox6.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") End Sub Private Sub ComboBox1下拉表單資料載入() PA = ComboBox4.Text : SQL_會計科目_第三階_不含流動票務() 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下拉表單資料載入() SQL_會計科目_第一階_不含流動票務() ComboBox5.Items.Clear() : ComboBox2.Items.Clear() : While (dr.Read()) : ComboBox5.Items.Add(dr("第一階")) : ComboBox2.Items.Add(dr("編號")) : End While : conn.Close() End Sub Private Sub ComboBox3下拉表單資料載入() PA = ComboBox2.Text : SQL_會計科目_第二階_不含流動票務() ComboBox3.Items.Clear() : ComboBox4.Items.Clear() : While (dr.Read()) : ComboBox3.Items.Add(dr("第二階")) : ComboBox4.Items.Add(dr("編號")) : End While : conn.Close() : PA = "" End Sub Private Sub 營運成本支付申請_Load(sender As Object, e As EventArgs) Handles MyBase.Load Me.MdiParent = MAOJI_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True RadioButton1.Checked = True : DateTimePicker2.Visible = False : 複製單據開單ToolStripMenuItem.Enabled = False : ComboBox6.Visible = False TextBox7.Visible = False : TextBox8.Visible = False : Label10.Visible = False : Label11.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 PA = TextBox9.Text : SQL_會計科目_關鍵字_不含流動票務() 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 : PA = "" 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 DataGridView1.CellEndEdit TextBox5.Text = "0" : TextBox2.Text = "0" : TextBox6.Text = "0" : TextBox7.Text = "0" : TextBox8.Text = "0" For i As Integer = 0 To DataGridView1.Rows.Count - 1 TextBox5.Text = Val(TextBox5.Text) + DataGridView1.Rows(i).Cells("現金").Value : TextBox2.Text = Val(TextBox2.Text) + DataGridView1.Rows(i).Cells("支出").Value TextBox7.Text = Val(TextBox7.Text) + DataGridView1.Rows(i).Cells("開票").Value : TextBox8.Text = Val(TextBox8.Text) + DataGridView1.Rows(i).Cells("收票").Value If DataGridView1.Rows(i).Cells("支出").Value <> 0 And DataGridView1.Rows(i).Cells("現金").Value = 0 Then DataGridView1.Rows(i).Cells("狀態").Value = "付現" ElseIf DataGridView1.Rows(i).Cells("支出").Value = 0 And DataGridView1.Rows(i).Cells("現金").Value <> 0 Then DataGridView1.Rows(i).Cells("狀態").Value = "收現" End If Next i TextBox6.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") 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 For i As Integer = 0 To DataGridView1.Rows.Count - 1 If DataGridView1.Rows(i).Cells("支出").Value <> 0 And DataGridView1.Rows(i).Cells("現金").Value = 0 Then DataGridView1.Rows(i).Cells("狀態").Value = "付現" ElseIf DataGridView1.Rows(i).Cells("支出").Value = 0 And DataGridView1.Rows(i).Cells("現金").Value <> 0 Then DataGridView1.Rows(i).Cells("狀態").Value = "收現" End If Next i End If End Sub Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick If e.RowIndex = -1 Then : Else TextBox4.Text = DataGridView1(1, e.RowIndex).Value.ToString End If End Sub Private Sub Set_切換格式() DataGridView1.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 存檔() PA4 = TextBox1.Text For i As Integer = 0 To DataGridView1.Rows.Count - 1 資料數 = DataGridView1.Rows.Count : MyModule1.進度條() PA1 = DataGridView1.Rows(i).Cells("用途").Value : NU1 = DataGridView1.Rows(i).Cells("支出").Value : PA2 = DataGridView1.Rows(i).Cells("備註").Value PA3 = DataGridView1.Rows(i).Cells("科目編號").Value : NU2 = DataGridView1.Rows(i).Cells("現金").Value : NU3 = DataGridView1.Rows(i).Cells("開票").Value NU4 = DataGridView1.Rows(i).Cells("收票").Value : PA5 = DataGridView1.Rows(i).Cells("項次").Value : PA6 = DataGridView1.Rows(i).Cells("狀態").Value : PA7 = gUserName SQL_營運成本收支單申請修改() : conn.Close() Next : MAOJI_ERP_SYS.ToolStripProgressBar1.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 開立零用金支付單() 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 : PA = TextBox1.Text SQL_營運成本收支單申請_支付單號流水號() If dr.Read() Then : Else : i = 999 : conn.Close() : End If : conn.Close() Next SQL_營運成本控制表新增() : TextBox3.Text = gUserName End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Set_日期格式轉換() : 開立零用金支付單() : 開立現金收支單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 DataGridView1.Rows.Count - 1 PA1 = TextBox1.Text : PA2 = DataGridView1.Rows(i).Cells("項次").Value : PA3 = DataGridView1.Rows(i).Cells("科目編號").Value : PA4 = DataGridView1.Rows(i).Cells("用途").Value NU1 = DataGridView1.Rows(i).Cells("支出").Value : PA5 = DataGridView1.Rows(i).Cells("備註").Value : NU2 = DataGridView1.Rows(i).Cells("現金").Value NU3 = DataGridView1.Rows(i).Cells("開票").Value : NU4 = DataGridView1.Rows(i).Cells("收票").Value : PA6 = DataGridView1.Rows(i).Cells("狀態").Value : PA7 = gUserName SQL_營運成本明細表新增() Next : Set_費用清單() : MsgBox("複製單據開立完成。") 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 DataGridView1.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 = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel) If aa = MsgBoxResult.Ok Then PA1 = TextBox1.Text : SQL_營運成本控制表刪除() : conn.Close() : SQL_營運成本明細表刪除() : conn.Close() TextBox1.Text = "" : TextBox3.Text = "" : TextBox4.Text = "" : DataGridView1.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 PA1 = TextBox1.Text : PA2 = TextBox4.Text 存檔() : SQL_營運成本明細表刪除單筆() : conn.Close() : Set_費用清單() : Dim NUM1 As Integer = 0 For i As Integer = 0 To DataGridView1.Rows.Count - 1 NUM1 += 1 : If NUM1 < 10 Then : 新項次 = "0" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = NUM1 : End If PA1 = 新項次 : PA2 = TextBox1.Text : PA3 = DataGridView1.Rows(i).Cells("項次").Value SQL_營運成本明細表項次修改() : conn.Close() Next : Set_費用清單() End If End Sub Private Sub 新增一筆資料ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 新增一筆資料ToolStripMenuItem.Click If ComboBox6.Text = "" Then : MsgBox("沒有選擇會計科目。") Else If TextBox1.Text = "" Then : 開立零用金支付單() : End If Set_日期格式轉換() : 存檔() : PA = TextBox1.Text SQL_營運成本明細表項次新增查詢() 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 PA1 = TextBox1.Text : PA2 = 新項次 : PA3 = ComboBox6.Text : PA4 = "" : NU1 = 0 : PA5 = "" : NU2 = 0 : NU3 = 0 : NU4 = 0 : PA6 = "" : PA7 = gUserName SQL_營運成本明細表新增() : 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