123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208 |
- Option Strict Off
- Public Class 會計科目管理
- ReadOnly ds3 As New DataSet
- Dim EDR As Integer = 0 : Dim ESTR As String
- Private Sub Set_會計科目()
- 會計科目_dgv.DataSource = Nothing : ds3.Clear() : 會計科目_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 會計科目_dgv.ColumnHeadersHeight = 25 : 會計科目_dgv.AllowUserToAddRows = False
- ConnOpen()
- SQL1 = "SELECT 第一階, 第二階, 會計科目, 編號, 層級, 英文名稱, 統制科目, 抵銷科目, 停用, 附註, 顯示 AS 顯示_GCM, 顯示_ISC AS 顯示_ICS
- FROM 會計科目 WHERE 編號 LIKE N'" & 科目1_號_cb.Text & "%' ORDER BY 編號"
- CmdSet_For_DGV() : da.Fill(ds3) : 會計科目_dgv.DataSource = ds3.Tables(0) : conn.Close()
- 會計科目_dgv.Columns(0).FillWeight = 8 : 會計科目_dgv.Columns(1).FillWeight = 8 : 會計科目_dgv.Columns(2).FillWeight = 12 : 會計科目_dgv.Columns(3).FillWeight = 6
- 會計科目_dgv.Columns(4).FillWeight = 3 : 會計科目_dgv.Columns(5).FillWeight = 15 : 會計科目_dgv.Columns(6).FillWeight = 3 : 會計科目_dgv.Columns(7).FillWeight = 3
- 會計科目_dgv.Columns(8).FillWeight = 3 : 會計科目_dgv.Columns(9).FillWeight = 10 : 會計科目_dgv.Columns(10).FillWeight = 5 : 會計科目_dgv.Columns(11).FillWeight = 5
- End Sub
- Private Sub ComboBox1下拉表單資料載入()
- conn.Close()
- ConnOpen()
- SQL1 = "SELECT 第一階, LEFT(編號, 4) AS 編號 FROM 會計科目 GROUP BY 第一階, LEFT(編號, 4) ORDER BY 編號"
- CmdSet_For_dr() : 科目1_名_cb.Items.Clear() : 科目1_號_cb.Items.Clear() : 科目1_名_cb.Text = "" : 科目1_號_cb.Text = ""
- While (dr.Read()) : 科目1_名_cb.Items.Add(dr("第一階")) : 科目1_號_cb.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'" & 科目1_號_cb.Text & "') AND (層級 LIKE N'" & 編號2_cb.Text & "')
- GROUP BY LEFT(編號, 7), 第二階, 層級 ORDER BY 編號"
- CmdSet_For_dr() : 科目2_名_cb.Items.Clear() : 科目2_號_cb.Items.Clear() : 科目2_名_cb.Text = "" : 科目2_號_cb.Text = ""
- While (dr.Read()) : 科目2_名_cb.Items.Add(dr("第二階")) : 科目2_號_cb.Items.Add(dr("編號")) : End While : conn.Close()
- End Sub
- Private Sub ComboBox6變化()
- If 編號3_cb.Text = "1" Then : 編號2_cb.Text = "1"
- ElseIf 編號3_cb.Text = "2" Then : 編號2_cb.Text = "2"
- ElseIf 編號3_cb.Text = "3" Then : 編號2_cb.Text = "2"
- End If
- If 修改_刪除_cb.Checked = True Then : Else
- If 科目1_號_cb.Text = "" Then : Else
- If 編號3_cb.Text = "1" Then
- 科目3_號_cb.Text = ""
- ElseIf 編號3_cb.Text = "2" Then
- If 科目2_號_cb.Text = "" Then : Else
- '----------------------自动生成流水号-------------------------------------------------------------------------
- ConnOpen()
- SQL1 = "SELECT TOP (1) LEFT(編號, 7) AS 編號 FROM 會計科目 WHERE (LEFT(編號, 4) LIKE N'" & 科目1_號_cb.Text & "') AND (層級 LIKE N'2')
- GROUP BY LEFT(編號, 7) ORDER BY 編號 DESC"
- cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
- If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("編號").ToString, 2)) : Else : EDR = 0 : End If
- conn.Close() : EDR += 1
- If EDR < 10 Then : ESTR = 科目1_號_cb.Text & "-" & "0" & EDR & "-00"
- ElseIf EDR > 9 And EDR < 100 Then : ESTR = 科目1_號_cb.Text & "-" & "" & EDR & "-00"
- End If
- 科目3_號_cb.Text = ESTR
- End If
- ElseIf 編號3_cb.Text = "3" Then
- If 科目2_號_cb.Text = "" Then : Else
- '----------------------自动生成流水号-------------------------------------------------------------------------
- ConnOpen()
- SQL1 = "SELECT TOP (1) LEFT(編號, 10) AS 編號 FROM 會計科目 WHERE (LEFT(編號, 7) LIKE N'" & 科目2_號_cb.Text & "') AND (層級 LIKE N'3')
- GROUP BY LEFT(編號, 10) ORDER BY 編號 DESC"
- cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
- If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("編號").ToString, 2)) : Else : EDR = 0 : End If
- conn.Close() : EDR += 1
- If EDR < 10 Then : ESTR = 科目2_號_cb.Text & "-" & "0" & EDR
- ElseIf EDR > 9 And EDR < 100 Then : ESTR = 科目2_號_cb.Text & "-" & "" & EDR
- End If
- 科目3_號_cb.Text = ESTR
- End If
- End If
- End If
- 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
- 編號1_tb.Enabled = False : 修改_刪除_cb.Checked = True : 科目3_號_cb.Enabled = False
- Set_會計科目() : ComboBox1下拉表單資料載入()
- End Sub
- Private Sub 會計科目_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 會計科目_dgv.CellClick
- Dim SSXX As String
- If e.RowIndex = -1 Then : Else
- 編號3_cb.Text = 會計科目_dgv(4, e.RowIndex).Value.ToString : SSXX = 會計科目_dgv(1, e.RowIndex).Value.ToString
- 科目2_名_cb.Text = SSXX
- If 修改_刪除_cb.Checked = True Then
- 科目1_名_tb.Text = 會計科目_dgv(2, e.RowIndex).Value.ToString : 科目3_號_cb.Text = 會計科目_dgv(3, e.RowIndex).Value.ToString
- 英文名稱_tb.Text = 會計科目_dgv(5, e.RowIndex).Value.ToString : 備註_tb.Text = 會計科目_dgv(9, e.RowIndex).Value.ToString
- 統制科目_cb.Checked = 會計科目_dgv(6, e.RowIndex).Value : 抵銷科目_cb.Checked = 會計科目_dgv(7, e.RowIndex).Value
- 停用_cb.Checked = 會計科目_dgv(8, e.RowIndex).Value
- Else
- ComboBox6變化()
- End If
- 科目1_名_cb.Text = 會計科目_dgv(0, e.RowIndex).Value.ToString
- 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(1, e.RowIndex).Value.ToString <> 會計科目_dgv(1, 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
- End Sub
- Private Sub 科目1_名_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 科目1_名_cb.TextChanged
- 科目1_號_cb.SelectedIndex = 科目1_名_cb.SelectedIndex : ComboBox3下拉表單資料載入()
- End Sub
- Private Sub 科目1_號_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 科目1_號_cb.TextChanged
- 科目1_名_cb.SelectedIndex = 科目1_號_cb.SelectedIndex : Set_會計科目() : ComboBox3下拉表單資料載入()
- End Sub
- Private Sub 科目2_名_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 科目2_名_cb.TextChanged
- 科目2_號_cb.SelectedIndex = 科目2_名_cb.SelectedIndex
- End Sub
- Private Sub 科目2_號_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 科目2_號_cb.TextChanged
- 科目2_名_cb.SelectedIndex = 科目2_號_cb.SelectedIndex
- End Sub
- Private Sub ComboBox5_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 編號2_cb.TextChanged
- ComboBox3下拉表單資料載入()
- End Sub
- Private Sub CheckBox4_CheckedChanged(sender As Object, e As EventArgs) Handles 新增模式_cb.Click
- 新增模式_cb.Checked = True : 修改_刪除_cb.Checked = False : 科目3_號_cb.Enabled = True
- 科目1_名_tb.Text = "" : 英文名稱_tb.Text = "" : 備註_tb.Text = "" : 統制科目_cb.Checked = False : 抵銷科目_cb.Checked = False : 停用_cb.Checked = False
- End Sub
- Private Sub CheckBox5_CheckedChanged(sender As Object, e As EventArgs) Handles 修改_刪除_cb.Click
- 新增模式_cb.Checked = False : 修改_刪除_cb.Checked = True : 科目3_號_cb.Enabled = False
- End Sub
- Private Sub ComboBox6_TextChanged(sender As Object, e As EventArgs) Handles 編號3_cb.TextChanged
- ComboBox6變化()
- End Sub
- Private Sub Button19_Click(sender As Object, e As EventArgs) Handles 修改_bt.Click
- If 科目1_名_tb.Text = "" Then
- MsgBox("資料有缺或有誤,請重新檢查")
- Else
- conn.Close() : dr.Close()
- ConnOpen()
- SQL1 = "UPDATE 會計科目 SET 會計科目 = N'" & 科目1_名_tb.Text & "', 層級 = N'" & 編號3_cb.Text & "', 英文名稱 = N'" & 英文名稱_tb.Text &
- "', 統制科目 = N'" & 統制科目_cb.Checked & "', 抵銷科目 = N'" & 抵銷科目_cb.Checked & "', 停用 = N'" & 停用_cb.Checked &
- "', 附註 = N'" & 備註_tb.Text & "', 第一階 = N'" & 科目1_名_cb.Text & "', 第二階 = N'" & 科目2_名_cb.Text &
- "' , 顯示 = N'" & 顯示_G_cb.Checked & "' , 顯示_ISC = N'" & 顯示_I_cb.Checked & "'
- WHERE 編號 LIKE N'" & 科目3_號_cb.Text & "'"
- cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
- MsgBox("修改完成")
- End If : Set_會計科目()
- End Sub
- Private Sub Button16_Click(sender As Object, e As EventArgs) Handles 批量存檔_bt.Click
- For i As Integer = 0 To 會計科目_dgv.Rows.Count - 1
- 資料數 = 會計科目_dgv.Rows.Count : MyMoule.進度條() : ProgressBar1.Value = 最終數
- 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 & "' , 顯示 = N'" & 會計科目_dgv.Rows(i).Cells("顯示_GCM").Value & "' ,
- 顯示_ISC = N'" & 會計科目_dgv.Rows(i).Cells("顯示_ICS").Value & "'
- WHERE 編號 LIKE N'" & 會計科目_dgv.Rows(i).Cells("編號").Value & "'"
- cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
- Next : ProgressBar1.Value = 0 : 最終數 = 0 : MsgBox("修改完成")
- End Sub
- Private Sub Button21_Click(sender As Object, e As EventArgs) Handles 刪除_tb.Click
- Dim aa As MsgBoxResult
- aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel)
- If aa = MsgBoxResult.Ok Then
- ConnOpen()
- SQL1 = "DELETE FROM 會計科目 WHERE (編號 = N'" & 科目3_號_cb.Text & "')"
- cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : cmd.ExecuteNonQuery() : conn.Close()
- MsgBox("刪除完成")
- End If
- Set_會計科目()
- End Sub
- Private Sub Button20_Click(sender As Object, e As EventArgs) Handles 新增_bt.Click
- If 科目1_名_tb.Text = "" Or 編號3_cb.Text = "" Then
- MsgBox("資料有缺或有誤,請重新檢查")
- Else
- ConnOpen()
- SQL1 = "SELECT 編號 FROM 會計科目 WHERE 編號 LIKE N'" & 科目3_號_cb.Text & "'" : cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
- If dr.Read() Then
- MsgBox("資料重複,請從新輸入或檢查") : conn.Close() : dr.Close()
- Else
- conn.Close() : dr.Close()
- ConnOpen()
- If 編號3_cb.Text = "1" Then
- SQL1 = "INSERT INTO 會計科目 (會計科目, 編號, 層級, 英文名稱, 統制科目, 抵銷科目, 停用, 附註, 第一階, 第二階, 顯示, 顯示_ISC)
- VALUES (N'" & 科目1_名_tb.Text & "', N'" & 科目3_號_cb.Text & "', N'" & 編號3_cb.Text & "', N'" & 英文名稱_tb.Text &
- "', N'" & 統制科目_cb.Checked & "', N'" & 抵銷科目_cb.Checked & "', N'" & 停用_cb.Checked & "', N'" & 備註_tb.Text &
- "', N'" & 科目1_名_tb.Text & "', N'" & 科目1_名_tb.Text & "', N'" & 顯示_G_cb.Checked & "', N'" & 顯示_I_cb.Checked & "')"
- ElseIf 編號3_cb.Text = "2" Then
- SQL1 = "INSERT INTO 會計科目 (會計科目, 編號, 層級, 英文名稱, 統制科目, 抵銷科目, 停用, 附註, 第一階, 第二階, 顯示, 顯示_ISC)
- VALUES (N'" & 科目1_名_tb.Text & "', N'" & 科目3_號_cb.Text & "', N'" & 編號3_cb.Text & "', N'" & 英文名稱_tb.Text &
- "', N'" & 統制科目_cb.Checked & "', N'" & 抵銷科目_cb.Checked & "', N'" & 停用_cb.Checked & "', N'" & 備註_tb.Text &
- "', N'" & 科目1_名_cb.Text & "', N'" & 科目1_名_tb.Text & "', N'" & 顯示_G_cb.Checked & "', N'" & 顯示_I_cb.Checked & "')"
- Else
- SQL1 = "INSERT INTO 會計科目 (會計科目, 編號, 層級, 英文名稱, 統制科目, 抵銷科目, 停用, 附註, 第一階, 第二階, 顯示, 顯示_ISC)
- VALUES (N'" & 科目1_名_tb.Text & "', N'" & 科目3_號_cb.Text & "', N'" & 編號3_cb.Text & "', N'" & 英文名稱_tb.Text &
- "', N'" & 統制科目_cb.Checked & "', N'" & 抵銷科目_cb.Checked & "', N'" & 停用_cb.Checked & "', N'" & 備註_tb.Text &
- "', N'" & 科目1_名_cb.Text & "', N'" & 科目2_名_cb.Text & "', N'" & 顯示_G_cb.Checked & "', N'" & 顯示_I_cb.Checked & "')"
- End If
- CmdSet_For_dr()
- MsgBox("新增完成")
- conn.Close() : dr.Close()
- End If
- End If : Set_會計科目()
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 重新整理_bt.Click
- Set_會計科目() : ComboBox1下拉表單資料載入()
- End Sub
- End Class
|