Imports System.Windows.Forms.DataVisualization.Charting Public Class 派工人數紀錄表 ReadOnly ds8 As New DataSet Dim ESTR As String Dim EDR As Integer Dim 開始計算 As Boolean ReadOnly 對話框(0) As String Private Sub Set_派工清單() Dim ds1 As New DataSet 清單_dgv.DataSource = Nothing : ds1.Clear() 清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 清單_dgv.ColumnHeadersHeight = 25 : 清單_dgv.AllowUserToAddRows = False : 清單_dgv.RowTemplate.Height = 25 PA2 = Strings.Left(Strings.Format(報工日期_dtp.Value, "yyyy/MM/dd"), 4) : PA3 = Strings.Mid(Strings.Format(報工日期_dtp.Value, "yyyy/MM/dd"), 6, 2) PA4 = Strings.Right(Strings.Format(報工日期_dtp.Value, "yyyy/MM/dd"), 2) : PA5 = 合約編號2_tb.Text If 已完工顯示_ch.Checked = False Then : SQL2 = "AND (工程進度表.專案結束 IS NULL OR 工程進度表.專案結束 = 0)" : Else : SQL2 = "" : End If SQL_派工人數紀錄表() da.Fill(ds1) : 清單_dgv.DataSource = ds1.Tables(0) : conn.Close() Set_清單_dgv_下拉式清單1() 清單_dgv.Columns(0).FillWeight = 40 : 清單_dgv.Columns(1).Visible = False : 清單_dgv.Columns(2).Visible = False : 清單_dgv.Columns(3).Visible = False 清單_dgv.Columns(4).FillWeight = 80 : 清單_dgv.Columns(5).FillWeight = 40 : 清單_dgv.Columns(6).FillWeight = 200 : 清單_dgv.Columns(7).FillWeight = 80 清單_dgv.Columns(8).FillWeight = 50 : 清單_dgv.Columns(9).FillWeight = 80 : 清單_dgv.Columns(10).FillWeight = 80 : 清單_dgv.Columns(12).FillWeight = 200 清單_dgv.Columns(13).FillWeight = 50 清單_dgv.Columns(11).Visible = False : 清單_dgv.Columns(14).Visible = False : 清單_dgv.Columns(15).Visible = False 清單_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter 清單_dgv.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單_dgv.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter 清單_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單_dgv.Columns(10).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter 清單_dgv.Columns(13).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter 清單_dgv.EditMode = DataGridViewEditMode.EditOnEnter For i As Integer = 1 To 11 : 清單_dgv.Columns(i).ReadOnly = True : Next For I As Integer = 0 To 清單_dgv.Rows.Count - 1 If IsDBNull(清單_dgv.Rows(I).Cells(表頭(0)).Value) = True Then : 清單_dgv.Rows(I).Cells(表頭(0)).Value = False : End If 清單_dgv.Rows(I).Cells(表頭(73)).Value = Strings.Format(報工日期_dtp.Value, "yyyy/MM/dd") If 清單_dgv.Rows(I).Cells(表頭(15)).Value.ToString = "" Then : 清單_dgv.Rows(I).Cells(表頭(15)).Value = "0" : 清單_dgv.Rows(I).Cells("原始").Value = "0" : End If Next End Sub Private Sub Set_清單_dgv_下拉式清單1() Dim Col As New DataGridViewComboBoxColumn With { .FillWeight = 200, .DataPropertyName = "案件主管" } SQL執行主管下拉() Col.Items.Clear() : Col.Items.Add("") While (dr.Read()) : Col.Items.Add(dr("姓名")) : End While : conn.Close() Col.HeaderText = 表頭(120) : Col.Name = "案件主管" 清單_dgv.Columns.Insert(12, Col) End Sub Private Sub 彙總清單() Set_日期清單() If 日期_dgv.Rows.Count > 0 Then Dim ds1 As New DataSet 彙總_dgv.DataSource = Nothing : ds1.Clear() 彙總_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 彙總_dgv.ColumnHeadersHeight = 35 : 彙總_dgv.AllowUserToAddRows = False : 彙總_dgv.RowTemplate.Height = 25 PA5 = 查詢日期_cb.Text : PA6 = 查詢日期1_cb.Text : PA7 = 工程執行主管1_cb.Text : PA8 = 合約編號_tb.Text SQL_人員統計彙總表() da.Fill(ds1) : 彙總_dgv.DataSource = ds1.Tables(0) : conn.Close() 彙總_dgv.Columns(0).Visible = False : 彙總_dgv.Columns(1).Width = 80 : 彙總_dgv.Columns(2).Width = 30 彙總_dgv.Columns(3).Width = 120 : 彙總_dgv.Columns(4).Width = 50 彙總_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter 彙總_dgv.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter 彙總_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter For II As Integer = 5 To NN1 + 5 彙總_dgv.Columns(II).FillWeight = 50 : 彙總_dgv.Columns(II).DefaultCellStyle.Format = "#,##0" 彙總_dgv.Columns(II).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter Next Set_彙總計算() : Set_彙總畫面() : 表格繪製2() If 彙總_dgv.Rows.Count = 0 Then : Chart3.Series.Clear() : End If End If End Sub Private Sub Set_彙總計算() For I As Integer = 0 To 彙總_dgv.Rows.Count - 1 彙總_dgv.Rows(I).Cells(4).Value = "0" For II As Integer = 5 To NN1 + 5 If 彙總_dgv.Rows(I).Cells(II).Value.ToString() = "" Then : 彙總_dgv.Rows(I).Cells(II).Value = "0" : End If 彙總_dgv.Rows(I).Cells(4).Value = CInt(彙總_dgv.Rows(I).Cells(4).Value.ToString) + CInt(彙總_dgv.Rows(I).Cells(II).Value.ToString()) Next Next End Sub Private Sub Set_彙總畫面() For I As Integer = 0 To 彙總_dgv.Rows.Count - 1 For II As Integer = 5 To NN1 + 5 If IsDBNull(彙總_dgv.Rows(I).Cells(II).Value) Then : 彙總_dgv.Rows(I).Cells(II).Style.ForeColor = Color.White : Else If 彙總_dgv.Rows(I).Cells(II).Value = 0 Then : 彙總_dgv.Rows(I).Cells(II).Style.ForeColor = Color.White Else : 彙總_dgv.Rows(I).Cells(II).Style.ForeColor = Color.Black : End If : End If Next Next End Sub Private Sub 表格繪製2() '-------線狀圖------------------------------------------------------ Chart3.Series.Clear() : Chart3.ChartAreas(0).AxisX.Minimum = 0 Chart3.Series.Add("每日派工總數") : Chart3.Series("每日派工總數").ChartType = SeriesChartType.Column Chart3.Series("每日派工總數").IsVisibleInLegend = False Chart3.Series("每日派工總數").IsValueShownAsLabel = True Chart3.Series("每日派工總數").IsXValueIndexed = True For i As Integer = 0 To 日期_dgv.Rows.Count - 1 Chart3.Series("每日派工總數").Points.AddXY(日期_dgv.Rows(i).Cells("日").Value.ToString, 日期_dgv.Rows(i).Cells("人數").Value.ToString) Next Chart3.Series.Add("每日總數") : Chart3.Series("每日總數").ChartType = SeriesChartType.Line Chart3.Series("每日總數").IsVisibleInLegend = False For i As Integer = 0 To 日期_dgv.Rows.Count - 1 Chart3.Series("每日總數").Points.AddXY(日期_dgv.Rows(i).Cells("日").Value.ToString, 日期_dgv.Rows(i).Cells("人數").Value.ToString) Next End Sub Private Sub Set_日期清單() Dim ds1 As New DataSet : 日期_dgv.DataSource = Nothing : ds1.Clear() 日期_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 日期_dgv.ColumnHeadersHeight = 25 : 日期_dgv.AllowUserToAddRows = False PA5 = 查詢日期_cb.Text : PA6 = 查詢日期1_cb.Text SQL_派工日期人數() da.Fill(ds1) : 日期_dgv.DataSource = ds1.Tables(0) : conn.Close() For I As Integer = 0 To 日期_dgv.Rows.Count - 1 If I = 0 Then : 清單列表 = "[" & 日期_dgv.Rows(I).Cells(0).Value.ToString() Else : 清單列表 = 清單列表 & "], [" & 日期_dgv.Rows(I).Cells(0).Value.ToString() : End If If I = 日期_dgv.Rows.Count - 1 Then : 清單列表 &= "]" : End If : NN1 = I Next End Sub Private Sub Set_進度表清單() Dim ds1 As New DataSet : 進度表清單_dgv.DataSource = Nothing : ds1.Clear() 進度表清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 進度表清單_dgv.ColumnHeadersHeight = 25 : 進度表清單_dgv.AllowUserToAddRows = False SQL_進度表清單() da.Fill(ds1) : 進度表清單_dgv.DataSource = ds1.Tables(0) : conn.Close() End Sub Private Sub 執行主管下拉清單讀取() SQL執行主管下拉() : 工程執行主管_cb.Items.Clear() : 工程執行主管1_cb.Items.Clear() : 工程執行主管_cb.Items.Add("") : 工程執行主管1_cb.Items.Add("") While (dr.Read()) : 工程執行主管_cb.Items.Add(dr("姓名")) : 工程執行主管1_cb.Items.Add(dr("姓名")) : End While : conn.Close() End Sub Private Sub 年份清單下拉清單讀取() SQL_年份清單() : 查詢日期_cb.Items.Clear() : While (dr.Read()) : 查詢日期_cb.Items.Add(dr("年份")) : End While : conn.Close() End Sub Private Sub 甲方條件下拉清單讀取() SQL合約條件讀取() : 合約編號1_cb.Items.Clear() : 合約編號1_cb.Items.Add("") : 合約編號2_cb.Items.Clear() : 合約編號2_cb.Items.Add("") While (dr.Read()) : 合約編號1_cb.Items.Add(dr("約號甲方")) : 合約編號2_cb.Items.Add(dr("約號甲方")) : End While : conn.Close() End Sub Private Sub Set_語言() 語言_dgv.DataSource = Nothing : ds8.Clear() 語言_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 語言_dgv.ColumnHeadersHeight = 25 語言_dgv.AllowUserToAddRows = False SQL_系統語言導入() da.Fill(ds8) : 語言_dgv.DataSource = ds8.Tables(0) : conn.Close() End Sub Private Sub 語言轉換讀取() Set_語言() : conn.Close() For i As Integer = 0 To 語言_dgv.Rows.Count - 1 If 語言_dgv("控件", i).Value.ToString = "附錄合約" Then : Me.Text = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "甲方_lb" Then : 甲方_lb.Text = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "控制表_tp" Then : 控制表_tp.Text = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "彙總表_tp" Then : 彙總表_tp.Text = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "工程執行主管_lb" Then : 工程執行主管_lb.Text = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "工程執行主管_lb" Then : 工程執行主管1_lb.Text = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "甲方_lb" Then : 甲方1_lb.Text = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "合約編號清單_bt" Then : 合約編號清單_bt.Text = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "合約編號清單_bt" Then : 合約編號清單2_bt.Text = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "報工日期_lb" Then : 報工日期_lb.Text = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "上一天_bt" Then : 上一天_bt.Text = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "今天_bt" Then : 今天_bt.Text = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "下一天_bt" Then : 下一天_bt.Text = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "指定存檔_bt" Then : 指定存檔_bt.Text = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "已完工顯示_ch" Then : 已完工顯示_ch.Text = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "派工月份_lb" Then : 派工月份_lb.Text = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "dgv_關閉" Then : 表頭(0) = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "dgv_合約號" Then : 表頭(134) = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "dgv_項次" Then : 表頭(11) = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "dgv_項目" Then : 表頭(155) = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "dgv_預計開始" Then : 表頭(1) = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "dgv_預計天數" Then : 表頭(2) = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "dgv_預計結束" Then : 表頭(3) = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "dgv_派工日" Then : 表頭(73) = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "dgv_本地幹部" Then : 表頭(120) = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "dgv_人員" Then : 表頭(15) = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "dgv_派工總數" Then : 表頭(83) = 語言_dgv("內容", i).Value.ToString : End If If 語言_dgv("控件", i).Value.ToString = "對話框1" Then : 對話框(0) = 語言_dgv("內容", i).Value.ToString : End If Next End Sub Private Sub 派工人數紀錄表_Load(sender As Object, e As EventArgs) Handles MyBase.Load Me.MdiParent = HX_PGS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True H(405) = True : 介面 = "H405" : 語言轉換讀取() 彙總_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) End Sub Private Sub 派工人數紀錄表_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown 甲方條件下拉清單讀取() : 年份清單下拉清單讀取() : 執行主管下拉清單讀取() : 工程執行主管_cb.Text = gUserName If CInt(登入人級別) <= 3 Then : PA1 = "%%" : ElseIf CInt(登入人級別) > 3 Then : PA1 = gUserName : End If Set_派工清單() : 開始計算 = False : 查詢日期_cb.Text = Year(Today) : 查詢日期1_cb.SelectedIndex = Month(Today) - 1 : 彙總清單() : 開始計算 = True End Sub Private Sub 派工人數紀錄表_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed H(405) = False : MyModule1.虛擬桌面開啟() End Sub Private Sub 語轉扭_bt_Click(sender As Object, e As EventArgs) Handles 語轉扭_bt.Click 介面 = "H405" : 語言轉換讀取() : Set_派工清單() : 彙總清單() End Sub Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True End Sub Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True 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) : Set_彙總畫面() If e.RowIndex = 彙總_dgv.Rows.Count - 1 Then Exit Sub Else If 彙總_dgv(表頭(134), e.RowIndex).Value.ToString <> 彙總_dgv(表頭(134), 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 清單_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(表頭(134), e.RowIndex).Value.ToString <> 清單_dgv(表頭(134), 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 工程執行主管_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 工程執行主管_cb.SelectedIndexChanged If 工程執行主管_cb.Text = "" Then : PA1 = "%%" : Else : PA1 = 工程執行主管_cb.Text : End If : Set_派工清單() End Sub Private Sub 報工日期_dtp_ValueChanged(sender As Object, e As EventArgs) Handles 報工日期_dtp.ValueChanged If 工程執行主管_cb.Text = "" Then : PA1 = "%%" : Else : PA1 = 工程執行主管_cb.Text : End If : Set_派工清單() End Sub Private Sub 上一天_bt_Click(sender As Object, e As EventArgs) Handles 上一天_bt.Click 報工日期_dtp.Value = 報工日期_dtp.Value.AddDays(-1) End Sub Private Sub 今天_bt_Click(sender As Object, e As EventArgs) Handles 今天_bt.Click 報工日期_dtp.Value = Today() End Sub Private Sub 下一天_bt_Click(sender As Object, e As EventArgs) Handles 下一天_bt.Click 報工日期_dtp.Value = 報工日期_dtp.Value.AddDays(1) End Sub Private Sub 人員統計表流水號() SQL_人員統計表_最後一筆資料() If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("流水號").ToString, 9)) : Else : EDR = 0 : End If conn.Close() : EDR += 1 If EDR < 10 Then : ESTR = "PE" & "00000000" & EDR : ElseIf EDR > 9 And EDR < 100 Then : ESTR = "PE" & "0000000" & EDR ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "PE" & "000000" & EDR : ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "PE" & "00000" & EDR ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "PE" & "0000" & EDR : ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "PE" & "000" & EDR ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "PE" & "00" & EDR : ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "PE" & "0" & EDR ElseIf EDR > 99999999 Then : ESTR = "PE" & EDR : End If : PA9 = ESTR End Sub Private Sub 指定存檔_bt_Click(sender As Object, e As EventArgs) Handles 指定存檔_bt.Click For I As Integer = 0 To 清單_dgv.Rows.Count - 1 If 清單_dgv.Rows(I).Cells(表頭(15)).Value.ToString = "" Then : 清單_dgv.Rows(I).Cells(表頭(15)).Value = "0" : End If If 清單_dgv.Rows(I).Cells(表頭(15)).Value.ToString = "0" And 清單_dgv.Rows(I).Cells("原始").Value.ToString = "0" Then : Else PA = 清單_dgv.Rows(I).Cells("專案流水").Value.ToString : PA2 = Strings.Left(Strings.Format(報工日期_dtp.Value, "yyyy/MM/dd"), 4) PA3 = Strings.Mid(Strings.Format(報工日期_dtp.Value, "yyyy/MM/dd"), 6, 2) : PA4 = Strings.Right(Strings.Format(報工日期_dtp.Value, "yyyy/MM/dd"), 2) PA6 = 清單_dgv.Rows(I).Cells(表頭(15)).Value.ToString : PA7 = 清單_dgv.Rows(I).Cells("案件主管").Value.ToString : PA8 = 清單_dgv.Rows(I).Cells(表頭(134)).Value.ToString If 清單_dgv.Rows(I).Cells("流水號").Value.ToString = "" Then 人員統計表流水號() : SQL_人員統計表_新增資料() Else PA9 = 清單_dgv.Rows(I).Cells("流水號").Value.ToString : SQL_人員統計表_修改資料() End If End If PA = 清單_dgv.Rows(I).Cells("專案流水").Value.ToString : BL1 = 清單_dgv.Rows(I).Cells(表頭(0)).Value : SQL_工程進度表_派工開關() Next : Set_派工清單() : MsgBox(對話框(0)) End Sub Private Sub 查詢日期_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 查詢日期_cb.SelectedIndexChanged If 開始計算 = True Then : 彙總清單() : End If End Sub Private Sub 查詢日期1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 查詢日期1_cb.SelectedIndexChanged If 開始計算 = True Then : 彙總清單() : End If End Sub Private Sub 合約編號1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 合約編號1_cb.SelectedIndexChanged 合約編號_tb.Text = "" : PA = 合約編號1_cb.Text : Set_進度表清單() If 合約編號1_cb.Text = "" Then : 彙總清單() : End If End Sub Private Sub 合約編號2_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 合約編號2_cb.SelectedIndexChanged 合約編號2_tb.Text = "" : PA = 合約編號2_cb.Text : Set_進度表清單() If 合約編號2_cb.Text = "" Then : Set_派工清單() : End If End Sub Private Sub 合約編號清單2_bt_Click(sender As Object, e As EventArgs) Handles 合約編號清單2_bt.Click If 進度表清單_dgv.Rows.Count > 2999 Then If 系統語言 = "繁體中文" Then : MsgBox("清單數量超過3000個,清通知系統管理員修改程式!!") Else : MsgBox("Jumlah daftar melebihi 3000, dan administrator sistem diberitahu untuk memodifikasi program!!") : End If : Else For I As Integer = 0 To 3000 : PPBB(I) = "" : Next For I As Integer = 0 To 進度表清單_dgv.Rows.Count - 1 : PPBB(I) = 進度表清單_dgv(表頭(134), I).Value.ToString : NN1 = I : Next 下拉清單_1.ShowDialog() For I As Integer = 0 To 進度表清單_dgv.Rows.Count - 1 If PPAA = 進度表清單_dgv(表頭(134), I).Value.ToString Then : 合約編號2_tb.Text = 進度表清單_dgv(表頭(134), I).Value.ToString : Exit For : End If Next : Set_派工清單() End If End Sub Private Sub 工程執行主管1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 工程執行主管1_cb.SelectedIndexChanged 彙總清單() End Sub Private Sub 合約編號清單_bt_Click(sender As Object, e As EventArgs) Handles 合約編號清單_bt.Click If 進度表清單_dgv.Rows.Count > 2999 Then If 系統語言 = "繁體中文" Then : MsgBox("清單數量超過3000個,清通知系統管理員修改程式!!") Else : MsgBox("Jumlah daftar melebihi 3000, dan administrator sistem diberitahu untuk memodifikasi program!!") : End If : Else For I As Integer = 0 To 3000 : PPBB(I) = "" : Next For I As Integer = 0 To 進度表清單_dgv.Rows.Count - 1 : PPBB(I) = 進度表清單_dgv(表頭(134), I).Value.ToString : NN1 = I : Next 下拉清單_1.ShowDialog() For I As Integer = 0 To 進度表清單_dgv.Rows.Count - 1 If PPAA = 進度表清單_dgv(表頭(134), I).Value.ToString Then : 合約編號_tb.Text = 進度表清單_dgv(表頭(134), I).Value.ToString : Exit For : End If Next : 彙總清單() End If End Sub Private Sub 已完工顯示_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 已完工顯示_ch.Click Set_派工清單() End Sub Private Sub TabControl1_ChangeUICues(ByVal sender As Object, ByVal e As EventArgs) Handles TabControl1.SelectedIndexChanged If TabControl1.SelectedIndex = 1 Then : 彙總清單() : End If End Sub End Class