Public Class 點燈系統 Dim 新流水1, 新項次, 上次的流水號 As String Dim NUM1, NUM2, index As Integer Private Sub 點燈系統_Load(sender As Object, e As EventArgs) Handles MyBase.Load Me.MdiParent = ICS_ASMS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True 載入公司編號cb() 明細表_dgv.BringToFront() 收款人_tb.Text = gUserName SQL_燈年份() : 年度_cb.Items.Clear() : While (dr.Read()) : 年度_cb.Items.Add(dr("年度")) : End While : conn.Close() Set_清單1() : Set_清單2() : 年度_cb.Text = Year(選擇日期_dtp.Value) - 1911 : PA = 年度_cb.Text : Set_清單7() : Set_清單3() : Set_清單4() 刪除_bt.Enabled = False : 收款_bt.Enabled = False : 收支單中新增一筆空白資料1_bt.Enabled = False 刪除選中的一筆資料1_bt.Enabled = False : 列印_bt.Enabled = False : 儲存_bt.Enabled = False : 點燈確認_bt.Enabled = False 客戶查詢_bt.Enabled = False End Sub Private Sub 點燈系統_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing If 單號_tb.Text <> "" And 收款_bt.Enabled = True And 明細表_dgv.Rows.Count > 0 Then Dim aa As MsgBoxResult = MsgBox("單據沒有收款是否自動收款完成?", MsgBoxStyle.OkCancel) If aa = MsgBoxResult.Ok Then 收款_bt.PerformClick() : e.Cancel = False End If End If End Sub Private Sub 年度_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 年度_cb.SelectedIndexChanged PA = 年度_cb.Text : Set_清單7() : Set_清單3() : Set_清單4() End Sub Private Sub Set_清單1() Dim ds1 As New DataSet : 控制表_dgv.DataSource = Nothing : ds1.Clear() 控制表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 控制表_dgv.ColumnHeadersHeight = 30 : 控制表_dgv.AllowUserToAddRows = False : 控制表_dgv.RowTemplate.Height = 30 SQL_點燈_控制表清單() da.Fill(ds1) : 控制表_dgv.DataSource = ds1.Tables(0) : conn.Close() Dim newFont As New System.Drawing.Font("微軟正黑體", 9) ' 創建一個新字體,Arial 12pt 控制表_dgv.RowsDefaultCellStyle.Font = newFont 控制表_dgv.Columns(0).FillWeight = 60 : 控制表_dgv.Columns(8).FillWeight = 40 : 控制表_dgv.Columns(11).Visible = False 控制表_dgv.Columns(1).Visible = False : 控制表_dgv.Columns(2).Visible = False : 控制表_dgv.Columns(10).Visible = False 控制表_dgv.Columns(3).Visible = False : 控制表_dgv.Columns(4).Visible = False : 控制表_dgv.Columns(5).Visible = False 控制表_dgv.Columns(6).Visible = False : 控制表_dgv.Columns(7).Visible = False : 控制表_dgv.Columns(9).Visible = False End Sub Private Sub Set_清單2() 明細表_dgv.Columns.Clear() Dim ds2 As New DataSet : 明細表_dgv.DataSource = Nothing : ds2.Clear() 明細表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 明細表_dgv.ColumnHeadersHeight = 30 : 明細表_dgv.AllowUserToAddRows = False : 明細表_dgv.RowTemplate.Height = 30 PA = Year(選擇日期_dtp.Value) - 1911 : PA1 = 單號_tb.Text : Set_清單7() : Set_清單5() : Set_清單3() : Set_清單4() : SQL2 = "" For i As Integer = 0 To 明細表2_dgv.Rows.Count - 1 : SQL2 &= " AND (編號 NOT LIKE N'" & 明細表2_dgv("科目編號", i).Value.ToString & "')" : Next SQL_燈科目讀取1() : 科目_cb.Items.Clear() : 編號_cb.Items.Clear() While (dr.Read()) : 科目_cb.Items.Add(dr("會計科目")) : 編號_cb.Items.Add(dr("編號")) : End While : conn.Close() Dim CN00 As String = "姓名" : Dim NC00 As New DataGridViewTextBoxColumn With {.HeaderText = CN00, .Name = CN00, .FillWeight = 50} : 明細表_dgv.Columns.Add(NC00) Dim CN01 As String = "查" : Dim NC01 As New DataGridViewImageColumn With {.HeaderText = CN01, .Name = CN01, .FillWeight = 15} : 明細表_dgv.Columns.Add(NC01) Dim CN011 As String = "性別" : Dim NC011 As New DataGridViewTextBoxColumn With {.HeaderText = CN011, .Name = CN011, .FillWeight = 20} : 明細表_dgv.Columns.Add(NC011) Dim CN012 As String = "生肖" : Dim NC012 As New DataGridViewTextBoxColumn With {.HeaderText = CN012, .Name = CN012, .FillWeight = 20} : 明細表_dgv.Columns.Add(NC012) Dim CN02 As String = "會計科目" : Dim NC02 As New DataGridViewTextBoxColumn With {.HeaderText = CN02, .Name = CN02, .FillWeight = 40} : 明細表_dgv.Columns.Add(NC02) Dim CN03 As String = "課目編號" : Dim NC03 As New DataGridViewTextBoxColumn With {.HeaderText = CN03, .Name = CN03, .FillWeight = 40} : 明細表_dgv.Columns.Add(NC03) Dim CN04 As String = "內容" : Dim NC04 As New DataGridViewTextBoxColumn With {.HeaderText = CN04, .Name = CN04, .FillWeight = 130} : 明細表_dgv.Columns.Add(NC04) Dim CN05 As String = "非點燈收款" : Dim NC05 As New DataGridViewTextBoxColumn With {.HeaderText = CN05, .Name = CN05, .FillWeight = 50} : 明細表_dgv.Columns.Add(NC05) For i As Integer = 0 To 明細表1_dgv.Rows.Count - 1 Dim columnName1 As String = 明細表1_dgv(0, i).Value.ToString Dim newColumn1 As New DataGridViewCheckBoxColumn With { .HeaderText = columnName1, .Name = columnName1, .FillWeight = 25 ' 設定欄位寬度為 30 } 明細表_dgv.Columns.Add(newColumn1) Next Dim CN06 As String = "金額" : Dim NC06 As New DataGridViewTextBoxColumn With {.HeaderText = CN06, .Name = CN06, .FillWeight = 40} : 明細表_dgv.Columns.Add(NC06) Dim CN07 As String = "項" : Dim NC07 As New DataGridViewTextBoxColumn With {.HeaderText = CN07, .Name = CN07, .FillWeight = 40} : 明細表_dgv.Columns.Add(NC07) Dim newFont As New System.Drawing.Font("微軟正黑體", 9) ' 創建一個新字體,Arial 12pt 明細表_dgv.ColumnHeadersDefaultCellStyle.Font = newFont : 明細表_dgv.RowsDefaultCellStyle.Font = newFont 明細表_dgv.EditMode = DataGridViewEditMode.EditOnEnter 明細表_dgv.Columns("金額").ReadOnly = True : 明細表_dgv.Columns("會計科目").ReadOnly = True 明細表_dgv.Columns("性別").ReadOnly = True : 明細表_dgv.Columns("生肖").ReadOnly = True 明細表_dgv.Columns("課目編號").Visible = False : 明細表_dgv.Columns("項").Visible = False 明細表_dgv.Columns("金額").DefaultCellStyle.Format = "#,##0" : 明細表_dgv.Columns("非點燈收款").DefaultCellStyle.Format = "#,##0" 明細表_dgv.Columns("非點燈收款").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight 明細表_dgv.Columns("非點燈收款").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight 明細表_dgv.Columns("金額").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight 明細表_dgv.Columns("金額").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight 明細表_dgv.Columns("姓名").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter 明細表_dgv.Columns("姓名").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter Dim mycol1 As DataGridViewImageColumn = 明細表_dgv.Columns("查") : mycol1.ImageLayout = DataGridViewImageCellLayout.Zoom 收支單中新增一筆空白資料1_bt.Enabled = True If 收款_dgv.Rows.Count > 0 Then Dim 數量 As Integer = 明細表1_dgv.Rows.Count + 5 For i As Integer = 0 To 收款_dgv.Rows.Count - 1 : Set_明細() 明細表_dgv("姓名", 0).Value = 收款_dgv("姓名", i).Value.ToString : 明細表_dgv("會計科目", 0).Value = 收款_dgv("會計科目", i).Value.ToString 明細表_dgv("課目編號", 0).Value = 收款_dgv("科目編號", i).Value.ToString : 明細表_dgv("內容", 0).Value = 收款_dgv("內容", i).Value.ToString 明細表_dgv("非點燈收款", 0).Value = CInt(收款_dgv("非點燈收款", i).Value.ToString) 明細表_dgv("性別", 0).Value = 收款_dgv("性別", i).Value.ToString : 明細表_dgv("生肖", 0).Value = 收款_dgv("生肖", i).Value.ToString If 數量 >= 6 Then : If 收款_dgv("CH1", i).Value = True Then : 明細表_dgv(8, 0).Value = True : End If : End If If 數量 >= 7 Then : If 收款_dgv("CH2", i).Value = True Then : 明細表_dgv(9, 0).Value = True : End If : End If If 數量 >= 8 Then : If 收款_dgv("CH3", i).Value = True Then : 明細表_dgv(10, 0).Value = True : End If : End If If 數量 >= 9 Then : If 收款_dgv("CH4", i).Value = True Then : 明細表_dgv(11, 0).Value = True : End If : End If If 數量 >= 10 Then : If 收款_dgv("CH5", i).Value = True Then : 明細表_dgv(12, 0).Value = True : End If : End If If 數量 >= 11 Then : If 收款_dgv("CH6", i).Value = True Then : 明細表_dgv(13, 0).Value = True : End If : End If If 數量 >= 12 Then : If 收款_dgv("CH7", i).Value = True Then : 明細表_dgv(14, 0).Value = True : End If : End If If 數量 >= 13 Then : If 收款_dgv("CH8", i).Value = True Then : 明細表_dgv(15, 0).Value = True : End If : End If If 數量 >= 14 Then : If 收款_dgv("CH9", i).Value = True Then : 明細表_dgv(16, 0).Value = True : End If : End If If 數量 >= 15 Then : If 收款_dgv("CH10", i).Value = True Then : 明細表_dgv(17, 0).Value = True : End If : End If Next : 明細表計算() End If End Sub Private Sub Set_清單3() Dim ds2 As New DataSet : 明細表1_dgv.DataSource = Nothing : ds2.Clear() 明細表1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 明細表1_dgv.ColumnHeadersHeight = 30 : 明細表1_dgv.AllowUserToAddRows = False : 明細表1_dgv.RowTemplate.Height = 30 SQL_燈價格查詢() da.Fill(ds2) : 明細表1_dgv.DataSource = ds2.Tables(0) : conn.Close() End Sub Private Sub Set_清單4() Dim ds2 As New DataSet : 明細表2_dgv.DataSource = Nothing : ds2.Clear() 明細表2_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 明細表2_dgv.ColumnHeadersHeight = 30 : 明細表2_dgv.AllowUserToAddRows = False : 明細表2_dgv.RowTemplate.Height = 30 SQL_燈科目查詢() da.Fill(ds2) : 明細表2_dgv.DataSource = ds2.Tables(0) : conn.Close() End Sub Private Sub Set_清單5() Dim ds1 As New DataSet : 收款_dgv.DataSource = Nothing : ds1.Clear() 收款_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 收款_dgv.ColumnHeadersHeight = 30 : 收款_dgv.AllowUserToAddRows = False : 收款_dgv.RowTemplate.Height = 30 SQL_點燈_收款查詢() da.Fill(ds1) : 收款_dgv.DataSource = ds1.Tables(0) : conn.Close() End Sub Private Sub Set_清單6() Dim ds1 As New DataSet : 未安燈_dgv.DataSource = Nothing : ds1.Clear() 未安燈_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 未安燈_dgv.ColumnHeadersHeight = 30 : 未安燈_dgv.AllowUserToAddRows = False : 未安燈_dgv.RowTemplate.Height = 30 SQL_點燈_未安查詢() da.Fill(ds1) : 未安燈_dgv.DataSource = ds1.Tables(0) : conn.Close() End Sub Private Sub Set_清單7() Dim ds1 As New DataSet : 剩餘燈_dgv.DataSource = Nothing : ds1.Clear() 剩餘燈_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 剩餘燈_dgv.ColumnHeadersHeight = 30 : 剩餘燈_dgv.AllowUserToAddRows = False : 剩餘燈_dgv.RowTemplate.Height = 30 SQL_點燈_剩餘查詢() da.Fill(ds1) : 剩餘燈_dgv.DataSource = ds1.Tables(0) : conn.Close() 剩餘燈_lb.Text = PA & " 年燈種 剩餘數量 " For I As Integer = 0 To 剩餘燈_dgv.Rows.Count - 1 剩餘燈_lb.Text &= "- " & 剩餘燈_dgv(0, I).Value.ToString & " " & Strings.Format(CInt(剩餘燈_dgv(1, I).Value.ToString), "#,##0") & " " Next End Sub Private Sub 控制表_dgv_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles 控制表_dgv.CellClick If e.RowIndex = -1 Then : Else 單號_tb.Text = 控制表_dgv(0, e.RowIndex).Value.ToString Dim dateString As String = 控制表_dgv(3, e.RowIndex).Value.ToString Dim dateParts() As String = dateString.Split("/"c) : Dim year As Integer = Integer.Parse(dateParts(0)) + 1911 ' 將民國年轉換為西元年 Dim month As Integer = Integer.Parse(dateParts(1)) : Dim day As Integer = Integer.Parse(dateParts(2)) : Dim dateTime As New DateTime(year, month, day) 選擇日期_dtp.Value = dateTime : 選擇日期_dtp.CustomFormat = "yyyy/MM/dd" : 選擇日期_dtp.Format = DateTimePickerFormat.Custom 地址_tb.Text = 控制表_dgv(1, e.RowIndex).Value.ToString : 電話_tb.Text = 控制表_dgv(2, e.RowIndex).Value.ToString 總金額_tb.Text = Strings.Format(Val(控制表_dgv(5, e.RowIndex).Value), "#,##0") 內容_tb.Text = 控制表_dgv(4, e.RowIndex).Value.ToString : 委員_tb.Text = 控制表_dgv(6, e.RowIndex).Value.ToString 車主名稱_tb.Text = 控制表_dgv(8, e.RowIndex).Value.ToString : 群組編號_cb.Text = 控制表_dgv(10, e.RowIndex).Value.ToString If 控制表_dgv(7, e.RowIndex).Value.ToString = "" Then : 收款人_tb.Text = gUserName Else : 收款人_tb.Text = 控制表_dgv(7, e.RowIndex).Value.ToString : End If : Set_清單2() PA20 = 單號_tb.Text : SQL_點燈_單號年度查詢() If dr.Read() Then : 年度_cb.Text = dr("年度").ToString : Else : 年度_cb.Text = "" : End If : conn.Close() If 控制表_dgv(11, e.RowIndex).Value = True Then 明細表_dgv.Enabled = False 刪除_bt.Enabled = False : 收款_bt.Enabled = False : 收支單中新增一筆空白資料1_bt.Enabled = False 刪除選中的一筆資料1_bt.Enabled = False : 列印_bt.Enabled = True : 儲存_bt.Enabled = False : 點燈確認_bt.Enabled = True 客戶查詢_bt.Enabled = False SQL_點燈_單號收款日查詢() : If dr.Read() Then : 收款日期_dtp.Text = dr("日期").ToString : 收款日期_dtp.CustomFormat = "yyyy/MM/dd" : 收款日期_dtp.Format = DateTimePickerFormat.Custom : End If : conn.Close() Else 刪除_bt.Enabled = True : 收支單中新增一筆空白資料1_bt.Enabled = True 刪除選中的一筆資料1_bt.Enabled = True : 列印_bt.Enabled = False : 儲存_bt.Enabled = True 客戶查詢_bt.Enabled = True 明細表_dgv.Enabled = True If 明細表_dgv.Rows.Count > 0 Then 收款_bt.Enabled = True : 點燈確認_bt.Enabled = True End If End If End If End Sub Private Sub 明細表_dgv_CellContentCl(sender As Object, e As DataGridViewCellEventArgs) Handles 明細表_dgv.CellEndEdit 明細表計算() End Sub Private Sub 明細表計算() Dim 合計 As Integer : Dim 數量 As Integer = 明細表1_dgv.Rows.Count + 5 '----先設定10格------ 總金額_tb.Text = "0" For i As Integer = 0 To 明細表_dgv.Rows.Count - 1 : 合計 = 0 If 數量 >= 6 Then : If 明細表_dgv(8, i).Value = True Then : 合計 += 明細表1_dgv(1, 0).Value : End If : End If If 數量 >= 7 Then : If 明細表_dgv(9, i).Value = True Then : 合計 += 明細表1_dgv(1, 1).Value : End If : End If If 數量 >= 8 Then : If 明細表_dgv(10, i).Value = True Then : 合計 += 明細表1_dgv(1, 2).Value : End If : End If If 數量 >= 9 Then : If 明細表_dgv(11, i).Value = True Then : 合計 += 明細表1_dgv(1, 3).Value : End If : End If If 數量 >= 10 Then : If 明細表_dgv(12, i).Value = True Then : 合計 += 明細表1_dgv(1, 4).Value : End If : End If If 數量 >= 11 Then : If 明細表_dgv(13, i).Value = True Then : 合計 += 明細表1_dgv(1, 5).Value : End If : End If If 數量 >= 12 Then : If 明細表_dgv(14, i).Value = True Then : 合計 += 明細表1_dgv(1, 6).Value : End If : End If If 數量 >= 13 Then : If 明細表_dgv(15, i).Value = True Then : 合計 += 明細表1_dgv(1, 7).Value : End If : End If If 數量 >= 14 Then : If 明細表_dgv(16, i).Value = True Then : 合計 += 明細表1_dgv(1, 8).Value : End If : End If If 數量 >= 15 Then : If 明細表_dgv(17, i).Value = True Then : 合計 += 明細表1_dgv(1, 9).Value : End If : End If 明細表_dgv("非點燈收款", i).Value = CInt(明細表_dgv("非點燈收款", i).Value) 明細表_dgv("金額", i).Value = CInt(明細表_dgv("非點燈收款", i).Value) + 合計 總金額_tb.Text = Strings.Format((CInt(總金額_tb.Text) + CInt(明細表_dgv("金額", i).Value.ToString)), "#,##0") Next End Sub Private Sub 明細表_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 明細表_dgv.MouseUp Dim 數量 As Integer = 明細表1_dgv.Rows.Count '----先設定10格------ If 明細表_dgv.SelectedCells.Count > 0 Then If 明細表_dgv.SelectedCells(0).ColumnIndex = 1 Then SQL_點燈_人員下拉清單() : 群組人員_cb.Items.Clear() : 性別_cb.Items.Clear() : 生肖_cb.Items.Clear() While (dr.Read()) : 群組人員_cb.Items.Add(dr("客戶名稱")) : 性別_cb.Items.Add(dr("負責人")) : 生肖_cb.Items.Add(dr("負責人電話")) : End While : conn.Close() CB選擇清單(群組人員_cb, 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(0).Value.ToString) 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(0).Value = 群組人員_cb.Text 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(2).Value = 性別_cb.Text 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(3).Value = 生肖_cb.Text ElseIf 明細表_dgv.SelectedCells(0).ColumnIndex = 4 Then CB選擇清單(科目_cb, 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(4).Value.ToString) 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(4).Value = 科目_cb.Text 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(5).Value = 編號_cb.Text ElseIf 明細表_dgv.SelectedCells(0).ColumnIndex = 8 And 明細表_dgv.SelectedCells(0).ColumnIndex <= 數量 + 7 Then If 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(8).Value = True Then 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(8).Value = False Else : 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(8).Value = True End If : 明細表_dgv.CurrentCell = 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(0) ElseIf 明細表_dgv.SelectedCells(0).ColumnIndex = 9 And 明細表_dgv.SelectedCells(0).ColumnIndex <= 數量 + 7 Then If 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(9).Value = True Then 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(9).Value = False Else : 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(9).Value = True End If : 明細表_dgv.CurrentCell = 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(0) ElseIf 明細表_dgv.SelectedCells(0).ColumnIndex = 10 And 明細表_dgv.SelectedCells(0).ColumnIndex <= 數量 + 7 Then If 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(10).Value = True Then 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(10).Value = False Else : 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(10).Value = True End If : 明細表_dgv.CurrentCell = 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(0) ElseIf 明細表_dgv.SelectedCells(0).ColumnIndex = 11 And 明細表_dgv.SelectedCells(0).ColumnIndex <= 數量 + 7 Then If 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(11).Value = True Then 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(11).Value = False Else : 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(11).Value = True End If : 明細表_dgv.CurrentCell = 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(0) ElseIf 明細表_dgv.SelectedCells(0).ColumnIndex = 12 And 明細表_dgv.SelectedCells(0).ColumnIndex <= 數量 + 7 Then If 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(12).Value = True Then 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(12).Value = False Else : 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(12).Value = True End If : 明細表_dgv.CurrentCell = 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(0) ElseIf 明細表_dgv.SelectedCells(0).ColumnIndex = 13 And 明細表_dgv.SelectedCells(0).ColumnIndex <= 數量 + 7 Then If 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(13).Value = True Then 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(13).Value = False Else : 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(13).Value = True End If : 明細表_dgv.CurrentCell = 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(0) ElseIf 明細表_dgv.SelectedCells(0).ColumnIndex = 14 And 明細表_dgv.SelectedCells(0).ColumnIndex <= 數量 + 7 Then If 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(14).Value = True Then 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(14).Value = False Else : 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(14).Value = True End If : 明細表_dgv.CurrentCell = 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(0) ElseIf 明細表_dgv.SelectedCells(0).ColumnIndex = 15 And 明細表_dgv.SelectedCells(0).ColumnIndex <= 數量 + 7 Then If 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(15).Value = True Then 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(15).Value = False Else : 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(15).Value = True End If : 明細表_dgv.CurrentCell = 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(0) ElseIf 明細表_dgv.SelectedCells(0).ColumnIndex = 16 And 明細表_dgv.SelectedCells(0).ColumnIndex <= 數量 + 7 Then If 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(16).Value = True Then 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(16).Value = False Else : 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(16).Value = True End If : 明細表_dgv.CurrentCell = 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(0) ElseIf 明細表_dgv.SelectedCells(0).ColumnIndex = 17 And 明細表_dgv.SelectedCells(0).ColumnIndex <= 數量 + 7 Then If 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(17).Value = True Then 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(17).Value = False Else : 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(17).Value = True End If : 明細表_dgv.CurrentCell = 明細表_dgv.Rows(明細表_dgv.SelectedCells(0).RowIndex).Cells(0) End If End If End Sub Private Sub 客戶查詢_bt_Click(sender As Object, e As EventArgs) Handles 客戶查詢_bt.Click 連動模組.SetCallingPage("點燈系統") : 連動模組.ShowDialog() : 連動模組.BringToFront() End Sub Public Sub ReceiveDataFromPageB(ByVal data As String, ByVal data1 As String, ByVal data2 As String, ByVal data3 As String) If 群組編號_cb.Text <> "" And 群組編號_cb.Text <> data3 And 明細表_dgv.Rows.Count > 0 And 收款_bt.Enabled = True Then 單號_tb.Text = "" : 車主名稱_tb.Text = data : 電話_tb.Text = data1 : 地址_tb.Text = data2 總金額_tb.Text = "0" : 委員_tb.Text = "" : 控制表_dgv.Enabled = False : 查詢物_bt.Enabled = False : 新增_bt.Enabled = False 收款_bt.Enabled = False : 列印_bt.Enabled = False : 收支單中新增一筆空白資料1_bt.Enabled = True : 客戶查詢_bt.Enabled = True 刪除選中的一筆資料1_bt.Enabled = True : 儲存_bt.Enabled = True : 點燈確認_bt.Enabled = False Dim NUM1 As Integer Dim selectedDate As DateTime = 選擇日期_dtp.Value Dim taiwanYear As Integer = selectedDate.Year - 1911 Dim str As String = String.Format("{0}{1:00}{2:00}", taiwanYear, selectedDate.Month, selectedDate.Day) PA1 = String.Format("{0}/{1:00}/{2:00}", taiwanYear, selectedDate.Month, selectedDate.Day) For i As Integer = 1 To 999 NUM1 = 0 + i If NUM1 < 10 Then : 單號_tb.Text = "GF" & str & "00" & NUM1 ElseIf NUM1 > 9 Then : 單號_tb.Text = "GF" & str & "0" & NUM1 ElseIf NUM1 > 99 Then : 單號_tb.Text = "GF" & str & NUM1 : End If : conn.Close() PA = 單號_tb.Text : SQL_點燈_查詢第一筆單號() : If dr.Read() Then : Else : i = 999 : conn.Close() : End If : conn.Close() Next : PA = 單號_tb.Text : SQL_點燈_新增一筆點燈控制表() : conn.Close() : Set_清單2() Else : 車主名稱_tb.Text = data : 電話_tb.Text = data1 : 地址_tb.Text = data2 : 群組編號_cb.Text = data3 : End If End Sub Private Sub 新增_bt_Click(sender As Object, e As EventArgs) Handles 新增_bt.Click 單號_tb.Text = "" : 車主名稱_tb.Text = "" : 電話_tb.Text = "" : 地址_tb.Text = "" 總金額_tb.Text = "0" : 委員_tb.Text = "" : 控制表_dgv.Enabled = False : 查詢物_bt.Enabled = False : 新增_bt.Enabled = False 收款_bt.Enabled = False : 列印_bt.Enabled = False : 收支單中新增一筆空白資料1_bt.Enabled = True : 客戶查詢_bt.Enabled = True 刪除選中的一筆資料1_bt.Enabled = True : 儲存_bt.Enabled = True : 明細表_dgv.Enabled = True : 點燈確認_bt.Enabled = False Dim NUM1 As Integer Dim selectedDate As DateTime = 選擇日期_dtp.Value Dim taiwanYear As Integer = selectedDate.Year - 1911 Dim str As String = String.Format("{0}{1:00}{2:00}", taiwanYear, selectedDate.Month, selectedDate.Day) PA1 = String.Format("{0}/{1:00}/{2:00}", taiwanYear, selectedDate.Month, selectedDate.Day) For i As Integer = 1 To 999 NUM1 = 0 + i If NUM1 < 10 Then : 單號_tb.Text = "GF" & str & "00" & NUM1 : ElseIf NUM1 > 9 Then : 單號_tb.Text = "GF" & str & "0" & NUM1 ElseIf NUM1 > 99 Then : 單號_tb.Text = "GF" & str & NUM1 : End If : conn.Close() PA = 單號_tb.Text : SQL_點燈_查詢第一筆單號() : If dr.Read() Then : Else : i = 999 : conn.Close() : End If : conn.Close() Next : PA = 單號_tb.Text : SQL_點燈_新增一筆點燈控制表() : conn.Close() : Set_清單2() End Sub Private Sub 刪除_bt_Click(sender As Object, e As EventArgs) Handles 刪除_bt.Click PA = 單號_tb.Text : SQL_點燈_控制表刪除() : SQL_點燈_明細表刪除() : SQL_點燈_收款刪除() : conn.Close() : MsgBox("刪除成功!!") 單號_tb.Text = "" : 車主名稱_tb.Text = "" : 電話_tb.Text = "" : 地址_tb.Text = "" 總金額_tb.Text = "0" : 委員_tb.Text = "" : Set_清單1() : 明細表_dgv.Columns.Clear() 控制表_dgv.Enabled = True : 查詢物_bt.Enabled = True : 新增_bt.Enabled = True 刪除_bt.Enabled = False : 收款_bt.Enabled = False : 收支單中新增一筆空白資料1_bt.Enabled = False 刪除選中的一筆資料1_bt.Enabled = False : 列印_bt.Enabled = False : 儲存_bt.Enabled = False 客戶查詢_bt.Enabled = False : 明細表_dgv.Enabled = True : 點燈確認_bt.Enabled = False End Sub Private Sub 群組編號_cb_TextChanged(sender As Object, e As EventArgs) Handles 群組編號_cb.TextChanged SQL_點燈_人員下拉清單() : 群組人員_cb.Items.Clear() : 性別_cb.Items.Clear() : 生肖_cb.Items.Clear() While (dr.Read()) : 群組人員_cb.Items.Add(dr("客戶名稱")) : 性別_cb.Items.Add(dr("負責人")) : 生肖_cb.Items.Add(dr("負責人電話")) : End While : conn.Close() End Sub Private Sub 群組人員_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 群組人員_cb.SelectedIndexChanged 性別_cb.SelectedIndex = 群組人員_cb.SelectedIndex : 生肖_cb.SelectedIndex = 群組人員_cb.SelectedIndex End Sub Private Sub 科目_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 科目_cb.SelectedIndexChanged 編號_cb.SelectedIndex = 科目_cb.SelectedIndex End Sub Private Sub Set_明細() Dim 流水 As Integer If 明細表_dgv.Rows.Count = 0 Then : 流水 = 1 : End If 明細表_dgv.Rows.Insert(0) If 明細表_dgv.Rows.Count > 1 Then : 流水 = CInt(明細表_dgv("項", 1).Value) + 1 : End If For i = 5 To 明細表1_dgv.Rows.Count + 4 : 明細表_dgv(i, 0).Value = False : Next 明細表_dgv("非點燈收款", 0).Value = 0 : 明細表_dgv("金額", 0).Value = 0 : 明細表_dgv("項", 0).Value = 流水 : 明細表_dgv("姓名", 0).Value = "" 明細表_dgv("會計科目", 0).Value = "" : 明細表_dgv("課目編號", 0).Value = "" : 明細表_dgv("內容", 0).Value = "" : 明細表_dgv("生肖", 0).Value = "" 明細表_dgv("性別", 0).Value = "" 明細表_dgv.Rows(0).Cells("查").Value = My.Resources.Search End Sub Private Sub 收支單中新增一筆空白資料1_bt_Click(sender As Object, e As EventArgs) Handles 收支單中新增一筆空白資料1_bt.Click If 車主名稱_tb.Text <> "" Then Dim 流水 As Integer If 明細表_dgv.Rows.Count = 0 Then : 流水 = 1 : End If 明細表_dgv.Rows.Insert(0) If 明細表_dgv.Rows.Count > 1 Then : 流水 = CInt(明細表_dgv("項", 1).Value) + 1 : End If For i = 5 To 明細表1_dgv.Rows.Count + 4 : 明細表_dgv(i, 0).Value = False : Next 明細表_dgv("非點燈收款", 0).Value = 0 : 明細表_dgv("金額", 0).Value = 0 : 明細表_dgv("項", 0).Value = 流水 : 明細表_dgv("姓名", 0).Value = "" 明細表_dgv("會計科目", 0).Value = "" : 明細表_dgv("課目編號", 0).Value = "" : 明細表_dgv("內容", 0).Value = "" : 明細表_dgv("生肖", 0).Value = "" 明細表_dgv("性別", 0).Value = "" 明細表_dgv.Rows(0).Cells("查").Value = My.Resources.Search Else : MsgBox("未選擇信眾名稱") : End If End Sub Private Sub 刪除選中的一筆資料1_bt_Click(sender As Object, e As EventArgs) Handles 刪除選中的一筆資料1_bt.Click Dim selectedRow As DataGridViewRow = 明細表_dgv.CurrentRow Dim 選擇 As Integer = selectedRow.Index 明細表_dgv.Rows.RemoveAt(選擇) End Sub Private Sub 儲存_bt_Click(sender As Object, e As EventArgs) Handles 儲存_bt.Click If 車主名稱_tb.Text <> "" Then : PA = 單號_tb.Text 控制表_dgv.Enabled = True : 查詢物_bt.Enabled = True : 新增_bt.Enabled = True : 列印_bt.Enabled = True If 明細表_dgv.Rows.Count > 0 Then : 收款_bt.Enabled = True : 點燈確認_bt.Enabled = True : End If SQL_點燈_控制表修改() : SQL_點燈_收款刪除() If 明細表1_dgv.Rows.Count = 1 Then : SQL2 = ", CH1" : End If If 明細表1_dgv.Rows.Count = 2 Then : SQL2 = ", CH1, CH2" : End If If 明細表1_dgv.Rows.Count = 3 Then : SQL2 = ", CH1, CH2, CH3" : End If If 明細表1_dgv.Rows.Count = 4 Then : SQL2 = ", CH1, CH2, CH3, CH4" : End If If 明細表1_dgv.Rows.Count = 5 Then : SQL2 = ", CH1, CH2, CH3, CH4, CH5" : End If If 明細表1_dgv.Rows.Count = 6 Then : SQL2 = ", CH1, CH2, CH3, CH4, CH5, CH6" : End If If 明細表1_dgv.Rows.Count = 7 Then : SQL2 = ", CH1, CH2, CH3, CH4, CH5, CH6, CH7" : End If If 明細表1_dgv.Rows.Count = 8 Then : SQL2 = ", CH1, CH2, CH3, CH4, CH5, CH6, CH7, CH8" : End If If 明細表1_dgv.Rows.Count = 9 Then : SQL2 = ", CH1, CH2, CH3, CH4, CH5, CH6, CH7, CH8, CH9" : End If If 明細表1_dgv.Rows.Count = 10 Then : SQL2 = ", CH1, CH2, CH3, CH4, CH5, CH6, CH7, CH8, CH9, CH10" : End If : SQL3 = "" For i As Integer = 0 To 明細表_dgv.Rows.Count - 1 If 明細表1_dgv.Rows.Count = 1 Then : SQL4 = ", N'" & 明細表_dgv(8, i).Value & "'" : End If If 明細表1_dgv.Rows.Count = 2 Then : SQL4 = ", N'" & 明細表_dgv(8, i).Value & "', N'" & 明細表_dgv(9, i).Value & "'" : End If If 明細表1_dgv.Rows.Count = 3 Then : SQL4 = ", N'" & 明細表_dgv(8, i).Value & "', N'" & 明細表_dgv(9, i).Value & "', N'" & 明細表_dgv(10, i).Value & "'" : End If If 明細表1_dgv.Rows.Count = 4 Then : SQL4 = ", N'" & 明細表_dgv(8, i).Value & "', N'" & 明細表_dgv(9, i).Value & "', N'" & 明細表_dgv(10, i).Value & "' , N'" & 明細表_dgv(11, i).Value & "'" : End If If 明細表1_dgv.Rows.Count = 5 Then : SQL4 = ", N'" & 明細表_dgv(8, i).Value & "', N'" & 明細表_dgv(9, i).Value & "', N'" & 明細表_dgv(10, i).Value & "' , N'" & 明細表_dgv(11, i).Value & "', N'" & 明細表_dgv(12, i).Value & "'" : End If If 明細表1_dgv.Rows.Count = 6 Then : SQL4 = ", N'" & 明細表_dgv(8, i).Value & "', N'" & 明細表_dgv(9, i).Value & "', N'" & 明細表_dgv(10, i).Value & "' , N'" & 明細表_dgv(11, i).Value & "', N'" & 明細表_dgv(12, i).Value & "', N'" & 明細表_dgv(13, i).Value & "'" : End If If 明細表1_dgv.Rows.Count = 7 Then : SQL4 = ", N'" & 明細表_dgv(8, i).Value & "', N'" & 明細表_dgv(9, i).Value & "', N'" & 明細表_dgv(10, i).Value & "' , N'" & 明細表_dgv(11, i).Value & "', N'" & 明細表_dgv(12, i).Value & "', N'" & 明細表_dgv(13, i).Value & "' , N'" & 明細表_dgv(14, i).Value & "'" : End If If 明細表1_dgv.Rows.Count = 8 Then : SQL4 = ", N'" & 明細表_dgv(8, i).Value & "', N'" & 明細表_dgv(9, i).Value & "', N'" & 明細表_dgv(10, i).Value & "' , N'" & 明細表_dgv(11, i).Value & "', N'" & 明細表_dgv(12, i).Value & "', N'" & 明細表_dgv(13, i).Value & "' , N'" & 明細表_dgv(14, i).Value & "', N'" & 明細表_dgv(15, i).Value & "'" : End If If 明細表1_dgv.Rows.Count = 9 Then : SQL4 = ", N'" & 明細表_dgv(8, i).Value & "', N'" & 明細表_dgv(9, i).Value & "', N'" & 明細表_dgv(10, i).Value & "' , N'" & 明細表_dgv(11, i).Value & "', N'" & 明細表_dgv(12, i).Value & "', N'" & 明細表_dgv(13, i).Value & "' , N'" & 明細表_dgv(14, i).Value & "', N'" & 明細表_dgv(15, i).Value & "', N'" & 明細表_dgv(16, i).Value & "'" : End If If 明細表1_dgv.Rows.Count = 10 Then : SQL4 = ", N'" & 明細表_dgv(8, i).Value & "', N'" & 明細表_dgv(9, i).Value & "', N'" & 明細表_dgv(10, i).Value & "' , N'" & 明細表_dgv(11, i).Value & "', N'" & 明細表_dgv(12, i).Value & "', N'" & 明細表_dgv(13, i).Value & "' , N'" & 明細表_dgv(14, i).Value & "', N'" & 明細表_dgv(15, i).Value & "', N'" & 明細表_dgv(16, i).Value & "' , N'" & 明細表_dgv(17, i).Value & "'" : End If If i <> 明細表_dgv.Rows.Count - 1 Then SQL3 &= "(N'" & 單號_tb.Text & "', N'" & 明細表_dgv("項", i).Value.ToString & "', N'" & 明細表_dgv("姓名", i).Value.ToString & "', N'" & 明細表_dgv("會計科目", i).Value.ToString & "', N'" & 明細表_dgv("課目編號", i).Value.ToString & "', N'" & 明細表_dgv("內容", i).Value.ToString & "', N'" & 明細表_dgv("非點燈收款", i).Value.ToString & "'" & SQL4 & ", N'" & 明細表_dgv("性別", i).Value.ToString & "', N'" & 明細表_dgv("生肖", i).Value.ToString & "')," Else SQL3 &= "(N'" & 單號_tb.Text & "', N'" & 明細表_dgv("項", i).Value.ToString & "', N'" & 明細表_dgv("姓名", i).Value.ToString & "', N'" & 明細表_dgv("會計科目", i).Value.ToString & "', N'" & 明細表_dgv("課目編號", i).Value.ToString & "', N'" & 明細表_dgv("內容", i).Value.ToString & "', N'" & 明細表_dgv("非點燈收款", i).Value.ToString & "'" & SQL4 & ", N'" & 明細表_dgv("性別", i).Value.ToString & "', N'" & 明細表_dgv("生肖", i).Value.ToString & "')" End If Next If 明細表_dgv.Rows.Count > 0 Then : SQL_點燈_收款新增() : End If : MsgBox("儲存成功!!") : Set_清單1() Else : MsgBox("未選擇信眾名稱") : End If End Sub Private Sub 查詢物_bt_Click(sender As Object, e As EventArgs) Handles 查詢物_bt.Click 通知訊息 = "請輸入信眾的 [姓名]、[電話]、[住址] 的關鍵字來進行查詢!!" : 查詢視窗.ShowDialog() : PA56 = 訊息回應 : Set_清單1() : PA56 = "" End Sub Private Sub 收款_bt_Click(sender As Object, e As EventArgs) Handles 收款_bt.Click If 年度_cb.Text <> "" And 明細表_dgv.Rows.Count > 0 Then : 開立零用金支付單() : NUM2 = 1 For i As Integer = 0 To 明細表_dgv.Rows.Count - 1 PA1 = 單號_tb.Text : PA2 = 明細表_dgv("姓名", i).Value.ToString : PA6 = 年度_cb.Text If 明細表_dgv("非點燈收款", i).Value <> 0 Then Set_流水號1() DTP = Format(收款日期_dtp.Value, "yyyy/MM/dd") : PA12 = 明細表_dgv("課目編號", i).Value.ToString : PA13 = 明細表_dgv("非點燈收款", i).Value PA14 = String.Format("{0:D3}", NUM2) : PA15 = 明細表_dgv("內容", i).Value.ToString : SQL_點燈_新增公帳流水帳資料() : conn.Close() : NUM2 += 1 End If For ii As Integer = 8 To 7 + 明細表1_dgv.Rows.Count If 明細表_dgv(ii, i).Value = True Then : Set_流水號1() DTP = Format(收款日期_dtp.Value, "yyyy/MM/dd") : PA12 = 明細表1_dgv("科目編號", ii - 8).Value.ToString : PA13 = 明細表1_dgv("價格", ii - 8).Value.ToString PA14 = String.Format("{0:D3}", NUM2) : PA15 = 年度_cb.Text & "-" & 明細表1_dgv("燈種", ii - 8).Value.ToString : SQL_點燈_新增公帳流水帳資料() : NUM2 += 1 End If Next Next : SQL_點燈_控制表已收款修改() : Set_清單1() : MsgBox("收款成功!!") 明細表_dgv.Enabled = False : 刪除_bt.Enabled = False : 收款_bt.Enabled = False : 收支單中新增一筆空白資料1_bt.Enabled = False 刪除選中的一筆資料1_bt.Enabled = False : 列印_bt.Enabled = True : 儲存_bt.Enabled = False : 客戶查詢_bt.Enabled = False : 點燈確認_bt.Enabled = True Else : MsgBox("年度未選擇或明細表無資料") : End If End Sub Private Sub 開立零用金支付單() CB選擇清單(公司編號_cb, 公司編號_cb.Text) Dim 單號 As String DTP1 = Format(選擇日期_dtp.Value, "yyyyMMdd") : DTP4 = Format(選擇日期_dtp.Value, "yyyy/MM/dd") SQL_點燈_支付單號查詢() If dr.Read() Then Dim 流水 As String = dr("支付單號").ToString() ' 將流水號轉換為字串 Dim parts As String = 流水.Substring(流水.Length - 3) Dim 流水號數字部分 As Integer = Integer.Parse(parts) Dim 新流水號數字部分 As Integer = 流水號數字部分 + 1 Dim 新流水號數字部分字串 As String = 新流水號數字部分.ToString().PadLeft(3, "0"c) 單號 = "OE-" & DTP1 & "-" & 新流水號數字部分字串 Else : 單號 = "OE-" & DTP1 & "-001" : End If PA = 單號 : PA1 = 單號_tb.Text : PA50 = 公司編號_cb.Text SQL_點燈_新增一筆公帳控制表() : SQL_點燈_控制表財務單號修改() : conn.Close() End Sub Private Sub 點燈確認_bt_Click(sender As Object, e As EventArgs) Handles 點燈確認_bt.Click If 年度_cb.Text <> "" And 明細表_dgv.Rows.Count > 0 Then CB選擇清單(年度_cb, 年度_cb.Text) PA = 單號_tb.Text : SQL_點燈_控制表已點燈修改() : SQL_點燈_明細表刪除() : conn.Close() For i As Integer = 0 To 明細表_dgv.Rows.Count - 1 PA2 = 明細表_dgv("姓名", i).Value.ToString : PA6 = 年度_cb.Text For ii As Integer = 8 To 7 + 明細表1_dgv.Rows.Count If 明細表_dgv(ii, i).Value = True Then : Set_流水號() PA3 = 明細表1_dgv("燈種", ii - 8).Value.ToString : PA4 = 明細表1_dgv("價格", ii - 8).Value.ToString If 明細表1_dgv("排序", ii - 8).Value.ToString = "順排" Then : PA21 = "" : Else : PA21 = "DESC" : End If SQL_點燈自動搜尋位置() : If dr.Read() Then : PA5 = dr("編號").ToString() : End If : SQL_點燈明細新增() : conn.Close() End If Next Next : MsgBox("點燈成功!!") Else : MsgBox("年度未選擇或明細表無資料") : End If End Sub Private Sub 載入公司編號cb() SQL_公司編號_下拉清單() : 公司編號_cb.Items.Clear() While (dr.Read()) : 公司編號_cb.Items.Add(dr("公司編號")) : End While : conn.Close() End Sub Private Sub Set_流水號() SQL_點燈_明細表流水號查詢() If dr.Read() Then Dim 流水 As String = dr("流水號").ToString() ' 將流水號轉換為字串 Dim 流水號數字部分 As Integer = Integer.Parse(流水.Substring(1)) Dim 新流水號數字部分 As Integer = 流水號數字部分 + 1 Dim 新流水號數字部分字串 As String = 新流水號數字部分.ToString().PadLeft(8, "0"c) 新流水1 = "D" & 新流水號數字部分字串 Else : 新流水1 = "D00000000" : End If : PA7 = 新流水1 : conn.Close() End Sub Private Sub Set_流水號1() conn.Close() : dr.Close() DTP1 = Format(選擇日期_dtp.Value, "yyyyMMdd") : PA19 = DTP1.Substring(DTP1.Length - 6) : SQL_點燈_支付明細流水號查詢() If dr.Read() Then Dim 流水 As String = dr("流水號").ToString() ' 將流水號轉換為字串 Dim parts As String = 流水.Substring(流水.Length - 4) Dim 流水號數字部分 As Integer = Integer.Parse(parts) Dim 新流水號數字部分 As Integer = 流水號數字部分 + 1 Dim 新流水號數字部分字串 As String = 新流水號數字部分.ToString().PadLeft(4, "0"c) 新流水1 = "B" & PA19 & 新流水號數字部分字串 Else : 新流水1 = "B" & PA19 & "0000" : End If : PA19 = 新流水1 End Sub Private Sub 列印_bt_Click(sender As Object, e As EventArgs) Handles 列印_bt.Click MsgBox("列印功能需要客製,請聯繫系統開發工程師!!") End Sub End Class