123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- Option Strict Off
- Imports System.Data.SqlClient
- Public Class 工作日誌與代辦事項
- Dim conn As New SqlConnection
- Dim da As New SqlDataAdapter
- Dim cmd As New SqlCommand
- Dim ds As New DataSet : Dim ds1 As New DataSet : Dim ds2 As New DataSet : Dim ds3 As New DataSet : Dim ds4 As New DataSet
- Dim dr As SqlDataReader
- Dim DTP As String : Dim DTP1 As String : Dim 新項次 As String
- Dim NUM1 As Integer
- Dim EDR As Integer = 0 : Dim ESTR As String
- Private Sub Set_工作日志清單()
- DataGridView1.DataSource = Nothing : ds.Clear()
- DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- DataGridView1.ColumnHeadersHeight = 25
- DataGridView1.AllowUserToAddRows = False
- DataGridView1.RowTemplate.Height = 35
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- SQL1 = "SELECT 客戶, 項次, 内容, 日期, 是否完成, 流水號, 使用者 FROM 工作日志
- WHERE (客戶 LIKE N'" & ComboBox1.Text & "') AND (使用者 LIKE N'" & ComboBox3.Text & "') ORDER BY 項次 DESC, 日期"
- cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds) : DataGridView1.DataSource = ds.Tables(0) : conn.Close() : Set_grid()
- End Sub
- Private Sub Set_grid()
- DataGridView1.Columns(0).Visible = False : DataGridView1.Columns(1).Width = 80 : DataGridView1.Columns(2).Width = 1555 : DataGridView1.Columns(3).Width = 150
- DataGridView1.Columns(4).Width = 80 : DataGridView1.Columns(5).Visible = False : DataGridView1.Columns(6).Visible = False
- DataGridView1.Columns(1).ReadOnly = True
- DataGridView1.EditMode = DataGridViewEditMode.EditOnEnter
- End Sub
- Private Sub ComboBox3下拉表單資料載入()
- conn.Close()
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- SQL1 = "SELECT 姓名 FROM 使用者"
- cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
- ComboBox3.Items.Clear()
- While (dr.Read())
- ComboBox3.Items.Add(dr("姓名"))
- End While
- conn.Close()
- End Sub
- Private Sub ComboBox1下拉表單資料載入()
- conn.Close()
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- SQL1 = "SELECT 客户 FROM 客戶清單"
- cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
- ComboBox1.Items.Clear()
- While (dr.Read())
- ComboBox1.Items.Add(dr("客户"))
- End While
- conn.Close()
- 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
- DateTimePicker2.Visible = False
- ComboBox3下拉表單資料載入() : ComboBox1下拉表單資料載入()
- 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 System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
- If e.RowIndex = -1 Then : Else
- TextBox4.Text = DataGridView1.Rows(e.RowIndex).Cells("流水號").Value
- End If
- End Sub
- Private Sub DataGridView1_CellEndEdit(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
- Dim EU As String
- EU = DataGridView1.Rows(e.RowIndex).Cells("日期").Value.ToString
- If EU = "" Then
- Else
- DateTimePicker2.Text = EU
- DataGridView1.Rows(e.RowIndex).Cells("日期").Value = Format(DateTimePicker2.Value, "yyyy/MM/dd")
- End If
- End Sub
- '----------------------日期分界线,到下一天时出现一条显眼横线-------------------------------------------------------------------------
- Private Sub DataGridView1_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles DataGridView1.RowPostPaint
- Dim linePen As New Pen(Color.Blue, 2)
- If e.RowIndex = DataGridView1.Rows.Count - 1 Then
- Exit Sub
- Else
- If DataGridView1(3, e.RowIndex).Value.ToString <> DataGridView1(3, e.RowIndex + 1).Value.ToString Then
- Dim startX As Integer = IIf(DataGridView1.RowHeadersVisible, DataGridView1.RowHeadersWidth, 0)
- Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
- Dim endX As Integer = startX + DataGridView1.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - DataGridView1.HorizontalScrollingOffset
- e.Graphics.DrawLine(linePen, startX, startY, endX, startY)
- Exit Sub
- End If
- End If
- End Sub
- Private Sub 存檔()
- For i As Integer = 0 To DataGridView1.Rows.Count - 1
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- SQL1 = "UPDATE 工作日志 SET 内容 = N'" & DataGridView1.Rows(i).Cells("内容").Value & "', 日期 = N'" & DataGridView1.Rows(i).Cells("日期").Value &
- "', 是否完成 = N'" & DataGridView1.Rows(i).Cells("是否完成").Value & "'
- WHERE (流水號 LIKE '" & DataGridView1.Rows(i).Cells("流水號").Value & "')"
- cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
- Next
- End Sub
- Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
- If ComboBox1.Text = "" Or ComboBox3.Text = "" Then
- MsgBox("沒有選擇資料")
- Else
- 存檔()
- '----------------------自动生成流水号-------------------------------------------------------------------------
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- SQL1 = "SELECT TOP (1) 流水號 FROM 工作日志 ORDER BY 流水號 DESC"
- cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
- If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("流水號").ToString, 8)) : Else : EDR = 0 : End If
- conn.Close()
- EDR = EDR + 1
- If EDR < 10 Then : ESTR = "PG" & "0000000" & EDR
- ElseIf EDR > 9 And EDR < 100 Then : ESTR = "PG" & "000000" & EDR
- ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "PG" & "00000" & EDR
- ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "PG" & "0000" & EDR
- ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "PG" & "000" & EDR
- ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "PG" & "00" & EDR
- ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "PG" & "0" & EDR
- ElseIf EDR > 9999999 Then : ESTR = "PG" & EDR
- End If
-
- '----------------------自动计算项次的数量并修改--------------------------------------------------------------------
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- SQL1 = "SELECT TOP(1) 項次 FROM 工作日志 WHERE 客戶 LIKE '" & ComboBox1.Text & "' AND 使用者 LIKE '" & ComboBox3.Text & "' ORDER BY 項次 DESC"
- cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
- If dr.Read() Then : 新項次 = dr("項次") : Else : 新項次 = "0000" : End If : conn.Close()
- NUM1 = Double.Parse(新項次) + 1
- If NUM1 < 10 Then : 新項次 = "000" & NUM1
- ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = "00" & NUM1
- ElseIf NUM1 > 99 And NUM1 < 1000 Then : 新項次 = "0" & NUM1
- ElseIf NUM1 > 999 Then : 新項次 = NUM1
- End If
-
- '----------------------新增一笔资料------------------------------------------------------------------------------
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- SQL1 = "INSERT INTO 工作日志 (客戶, 内容, 日期, 是否完成, 流水號, 項次, 使用者) " &
- "VALUES (N'" & ComboBox1.Text & "',N'',N'',N'0',N'" & ESTR & "',N'" & 新項次 & "',N'" & ComboBox3.Text & "')"
- cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery()
- Set_工作日志清單()
- End If
- End Sub
- Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
- Set_工作日志清單()
- End Sub
- Private Sub ComboBox3_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox3.SelectedIndexChanged
- Set_工作日志清單()
- End Sub
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
- 存檔() : MsgBox("存檔完成")
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- If TextBox4.Text = "" Then
- MsgBox("未選擇需要刪除的資料。")
- Else
- 存檔()
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- SQL1 = "DELETE FROM 工作日志 WHERE (流水號 LIKE '" & TextBox4.Text & "')"
- cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : conn.Close()
- Set_工作日志清單()
- Dim NUM1 As Integer = DataGridView1.Rows.Count + 1
- For i As Integer = 0 To DataGridView1.Rows.Count - 1
- NUM1 = NUM1 - 1
- If NUM1 < 10 Then : 新項次 = "000" & NUM1
- ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = "00" & NUM1
- ElseIf NUM1 > 99 And NUM1 < 1000 Then : 新項次 = "0" & NUM1
- ElseIf NUM1 > 999 Then : 新項次 = NUM1
- End If
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- SQL1 = "UPDATE 工作日志 SET 項次 = N'" & 新項次 & "' WHERE (流水號 LIKE '" & DataGridView1.Rows(i).Cells("流水號").Value & "')"
- cmd.CommandText = SQL1 : cmd.ExecuteNonQuery()
- conn.Close()
- Next
- Set_工作日志清單() : MsgBox("刪除完成。")
- End If
- End Sub
- Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
- 存檔() : Set_工作日志清單()
- Dim NUM1 As Integer = DataGridView1.Rows.Count + 1
- For i As Integer = 0 To DataGridView1.Rows.Count - 1
- NUM1 = NUM1 - 1
- If NUM1 < 10 Then : 新項次 = "000" & NUM1
- ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = "00" & NUM1
- ElseIf NUM1 > 99 And NUM1 < 1000 Then : 新項次 = "0" & NUM1
- ElseIf NUM1 > 999 Then : 新項次 = NUM1
- End If
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- SQL1 = "UPDATE 工作日志 SET 項次 = N'" & 新項次 & "' WHERE (流水號 LIKE '" & DataGridView1.Rows(i).Cells("流水號").Value & "')"
- cmd.CommandText = SQL1 : cmd.ExecuteNonQuery()
- conn.Close()
- Next
- Set_工作日志清單()
- End Sub
- End Class
|