Option Strict Off Public Class 服務項目成本建檔 ReadOnly ds As New DataSet Private Sub DGV1讀取前設定() DataGridView1.DataSource = Nothing : ds.Clear() DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing DataGridView1.ColumnHeadersHeight = 25 DataGridView1.AllowUserToAddRows = False ConnOpen() End Sub Private Sub DGV1讀取後設定() CmdSet_For_DGV() : da.Fill(ds) : DataGridView1.DataSource = ds.Tables(0) : conn.Close() End Sub Private Sub 讀取庫存資料表() If PA = "" Then DGV1讀取前設定() If CheckBox1.Checked = False Then SQL1 = "SELECT 流水號, 科目, 類別, 服務內容, 台幣成本, 台幣費用, 人民幣成本, 人民幣費用, 備註 FROM 服務內容成本紀錄表 " & "WHERE (備註 NOT LIKE '統旺科技') ORDER BY 流水號 DESC" Else SQL1 = "SELECT 流水號, 科目, 類別, 服務內容, 台幣成本, 台幣費用, 人民幣成本, 人民幣費用, 備註 FROM 服務內容成本紀錄表 ORDER BY 流水號 DESC" End If 列印用SQL1 = SQL1 : DGV1讀取後設定() Else DGV1讀取前設定() If CheckBox1.Checked = False Then SQL1 = "SELECT 流水號, 科目, 類別, 服務內容, 台幣成本, 台幣費用, 人民幣成本, 人民幣費用, 備註 FROM 服務內容成本紀錄表 " & "WHERE ((流水號 LIKE '%" & PA & "%') OR (科目 LIKE '%" & PA & "%') OR (類別 LIKE '%" & PA & "%') OR (服務內容 LIKE '%" & PA & "%')) " & "AND (備註 NOT LIKE '統旺科技') ORDER BY 流水號 DESC" Else SQL1 = "SELECT 流水號, 科目, 類別, 服務內容, 台幣成本, 台幣費用, 人民幣成本, 人民幣費用, 備註 FROM 服務內容成本紀錄表 " & "WHERE (流水號 LIKE '%" & PA & "%') OR (科目 LIKE '%" & PA & "%') OR (類別 LIKE '%" & PA & "%') OR (服務內容 LIKE '%" & PA & "%') " & "ORDER BY 流水號 DESC" End If 列印用SQL1 = SQL1 : DGV1讀取後設定() End If End Sub Private Sub Set_grid1() DataGridView1.Columns(0).Width = 70 : DataGridView1.Columns(1).Width = 110 : DataGridView1.Columns(2).Width = 110 DataGridView1.Columns(3).Width = 300 : DataGridView1.Columns(4).Width = 90 : DataGridView1.Columns(5).Width = 90 DataGridView1.Columns(6).Width = 90 : DataGridView1.Columns(7).Width = 90 : DataGridView1.Columns(8).Width = 350 DataGridView1.Columns(4).DefaultCellStyle.Format = "#,##0.00" : DataGridView1.Columns(5).DefaultCellStyle.Format = "#,##0.00" DataGridView1.Columns(6).DefaultCellStyle.Format = "#,##0.00" : DataGridView1.Columns(7).DefaultCellStyle.Format = "#,##0.00" End Sub Private Sub 下拉表單資料載入() If ComboBox3.Text = "" Or ComboBox3.Text = "-請選擇-" Then ComboBox3.Text = "-請選擇-" ConnOpen() SQL1 = "SELECT 類別 FROM 服務內容成本紀錄表 GROUP BY 類別" cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader ComboBox4.Items.Clear() While (dr.Read()) ComboBox4.Items.Add(dr("類別")) End While conn.Close() Else ConnOpen() SQL1 = "SELECT 類型 FROM 機構成本科目類型表 WHERE (科目 ='" & ComboBox3.Text & "') GROUP BY 類型" cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader ComboBox4.Items.Clear() While (dr.Read()) ComboBox4.Items.Add(dr("類型")) End While conn.Close() End If End Sub Private Sub 格式設定() TextBox3.Enabled = False : TextBox4.Enabled = False End Sub Private Sub 服務項目成本建檔_Load(sender As Object, e As EventArgs) Handles MyBase.Load Me.MdiParent = GCM_ERP_SYS : Me.WindowState = 2 ComboBox3.Items.AddRange(科目清單) : 讀取庫存資料表() : Set_grid1() : 下拉表單資料載入() : 格式設定() ConnOpen() SQL1 = "SELECT 匯率 FROM 匯率表 WHERE (對應 = '人民幣兌台幣')" CmdSet_For_dr() If dr.Read() Then : TextBox9.Text = dr("匯率").ToString : End If ER = Double.Parse(dr("匯率").ToString) conn.Close() : dr.Close() End Sub Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove timeNow = 0 GCM_ERP_SYS.Timer1.Enabled = False GCM_ERP_SYS.Timer1.Enabled = True End Sub Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress timeNow = 0 GCM_ERP_SYS.Timer1.Enabled = False GCM_ERP_SYS.Timer1.Enabled = True End Sub Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick If e.RowIndex = -1 Then : Else TextBox1.Text = DataGridView1(0, e.RowIndex).Value.ToString : ComboBox3.Text = DataGridView1(1, e.RowIndex).Value.ToString ComboBox4.Text = DataGridView1(2, e.RowIndex).Value.ToString : TextBox2.Text = DataGridView1(3, e.RowIndex).Value.ToString TextBox4.Text = Format(Val(DataGridView1(4, e.RowIndex).Value.ToString), "#,##0.00") TextBox3.Text = Format(Val(DataGridView1(5, e.RowIndex).Value.ToString), "#,##0.00") TextBox5.Text = Format(Val(DataGridView1(6, e.RowIndex).Value.ToString), "#,##0.00") TextBox6.Text = Format(Val(DataGridView1(7, e.RowIndex).Value.ToString), "#,##0.00") TextBox7.Text = DataGridView1(8, e.RowIndex).Value.ToString End If End Sub Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click PA = InputBox("請輸入要查詢的資料") 讀取庫存資料表() : Set_grid1() PA = "" End Sub Private Sub ComboBox3_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox3.TextChanged 下拉表單資料載入() End Sub Private Sub TextBox5_TextChanged(sender As Object, e As EventArgs) Handles TextBox5.TextChanged If IsNumeric(TextBox5.Text) = True And IsNumeric(TextBox9.Text) = True Then TextBox4.Text = Format(Val(CStr(Math.Round((Double.Parse(TextBox5.Text) * Double.Parse(TextBox9.Text)), 2))), "#,##0.00") Else TextBox4.Text = "0.00" End If End Sub Private Sub TextBox6_TextChanged(sender As Object, e As EventArgs) Handles TextBox6.TextChanged If IsNumeric(TextBox6.Text) = True And IsNumeric(TextBox9.Text) = True Then TextBox3.Text = Format(Val(CStr(Math.Round((Double.Parse(TextBox6.Text) * Double.Parse(TextBox9.Text)), 2))), "#,##0.00") Else TextBox3.Text = "0.00" End If End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click If ComboBox3.Text = "" Or ComboBox4.Text = "" Or ComboBox3.Text = "-請選擇-" Or TextBox2.Text = "" Or TextBox3.Text = "" Or TextBox4.Text = "" Or TextBox5.Text = "" Or TextBox6.Text = "" Then MsgBox("科目或類型欄位不可空白") Else ConnOpen() SQL1 = "SELECT TOP (1) 流水號 FROM 服務內容成本紀錄表 ORDER BY 流水號 DESC" CmdSet_For_dr() If dr.Read() Then : TextBox1.Text = dr("流水號").ToString : Else : TextBox1.Text = "" : End If conn.Close() Dim NUM1 As Integer NUM1 = Strings.Right(TextBox1.Text, 5) + 1 If NUM1 < 10 Then : TextBox1.Text = "SV" & "0000" & NUM1 ElseIf NUM1 > 9 And NUM1 < 100 Then : TextBox1.Text = "SV" & "000" & NUM1 ElseIf NUM1 > 99 And NUM1 < 1000 Then : TextBox1.Text = "SV" & "00" & NUM1 ElseIf NUM1 > 999 And NUM1 < 10000 Then : TextBox1.Text = "SV" & "0" & NUM1 ElseIf NUM1 > 9999 Then : TextBox1.Text = "SV" & NUM1 End If ConnOpen() SQL1 = "INSERT INTO 服務內容成本紀錄表 (流水號, 科目, 類別, 服務內容, 台幣成本, 台幣費用, 人民幣成本, 人民幣費用, 備註) VALUES ('" & TextBox1.Text & "','" & ComboBox3.Text & "','" & ComboBox4.Text & "','" & TextBox2.Text & "','" & TextBox4.Text & "','" & TextBox3.Text & "','" & TextBox5.Text & "','" & TextBox6.Text & "','" & TextBox7.Text & "')" cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() MsgBox("新增完成") conn.Close() End If 讀取庫存資料表() : Set_grid1() End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click If IsNumeric(TextBox5.Text) = True And IsNumeric(TextBox6.Text) = True Then ConnOpen() SQL1 = "UPDATE 服務內容成本紀錄表 SET 科目 = '" & ComboBox3.Text & "', 類別 = '" & ComboBox4.Text & "', 服務內容 = '" & TextBox2.Text & "', 台幣成本 = '" & TextBox4.Text & "', 台幣費用 = '" & TextBox3.Text & "', 人民幣成本 = '" & TextBox5.Text & "', 人民幣費用 = '" & TextBox6.Text & "', 備註 = '" & TextBox7.Text & "' WHERE (流水號 = '" & TextBox1.Text & "')" cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() MsgBox("修改完成") conn.Close() Else MsgBox("成本資料非數字") End If 讀取庫存資料表() : Set_grid1() End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click SQL1 = "DELETE FROM 服務內容成本紀錄表 WHERE (流水號 = '" & TextBox1.Text & "')" cmd.CommandText = SQL : cmd.Connection = conn ConnOpen() Dim aa As MsgBoxResult aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel) If aa = MsgBoxResult.Ok Then : cmd.ExecuteNonQuery() : MsgBox("刪除完成") : End If conn.Close() 讀取庫存資料表() : Set_grid1() End Sub End Class