123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264 |
- Option Strict Off
- Imports System.IO
- Public Class 量產生產進度表
- Private ReadOnly ds As New DataSet
- Dim xlApp As Microsoft.Office.Interop.Excel.Application
- Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
- Private ReadOnly BB(3) As Boolean
- Dim 已超出 As Boolean
- Private Sub Set_訂單清單()
- 主表單_dgv.DataSource = Nothing : ds.Clear()
- 主表單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 主表單_dgv.ColumnHeadersHeight = 40
- 主表單_dgv.AllowUserToAddRows = False
- SQL_量產生產進度表清單()
- da.Fill(ds) : 主表單_dgv.DataSource = ds.Tables(0) : conn.Close()
- End Sub
- Private Sub Set_grid()
- 主表單_dgv.Columns(0).FillWeight = 80 : 主表單_dgv.Columns(1).FillWeight = 120 : 主表單_dgv.Columns(2).FillWeight = 85 : 主表單_dgv.Columns(3).FillWeight = 105
- 主表單_dgv.Columns(4).FillWeight = 100 : 主表單_dgv.Columns(5).FillWeight = 90 : 主表單_dgv.Columns(6).FillWeight = 50 : 主表單_dgv.Columns(7).FillWeight = 80
- 主表單_dgv.Columns(8).FillWeight = 70 : 主表單_dgv.Columns(9).FillWeight = 80 : 主表單_dgv.Columns(10).FillWeight = 120 : 主表單_dgv.Columns(11).FillWeight = 60
- 主表單_dgv.Columns(12).FillWeight = 626 : 主表單_dgv.Columns(13).FillWeight = 100 : 主表單_dgv.Columns(14).FillWeight = 100 : 主表單_dgv.Columns(15).FillWeight = 127
- 主表單_dgv.Columns(16).FillWeight = 127 : 主表單_dgv.Columns(17).FillWeight = 127 : 主表單_dgv.Columns(18).FillWeight = 127 : 主表單_dgv.Columns(19).FillWeight = 126
- 主表單_dgv.Columns(20).FillWeight = 126 : 主表單_dgv.Columns(21).FillWeight = 126 : 主表單_dgv.Columns(22).FillWeight = 120 : 主表單_dgv.Columns(23).FillWeight = 120
- 主表單_dgv.Columns(24).FillWeight = 120 : 主表單_dgv.Columns(25).FillWeight = 120 : 主表單_dgv.Columns(26).FillWeight = 120 : 主表單_dgv.Columns(27).FillWeight = 286
- 主表單_dgv.Columns(28).Visible = False : 主表單_dgv.Columns(29).Visible = False
- 主表單_dgv.Columns(8).DefaultCellStyle.Format = "#,##0"
- 主表單_dgv.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- 主表單_dgv.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
- '886
- If BB(0) = True And BB(1) = True And BB(2) = True And BB(3) = True Then
- 主表單_dgv.Columns(11).Visible = True : 主表單_dgv.Columns(12).Visible = True : 主表單_dgv.Columns(13).Visible = True : 主表單_dgv.Columns(14).Visible = True
-
- 主表單_dgv.Columns(15).Visible = False : 主表單_dgv.Columns(16).Visible = False : 主表單_dgv.Columns(17).Visible = False : 主表單_dgv.Columns(18).Visible = False
- 主表單_dgv.Columns(19).Visible = False : 主表單_dgv.Columns(20).Visible = False : 主表單_dgv.Columns(21).Visible = False : 主表單_dgv.Columns(22).Visible = False
- 主表單_dgv.Columns(23).Visible = False : 主表單_dgv.Columns(24).Visible = False : 主表單_dgv.Columns(25).Visible = False : 主表單_dgv.Columns(26).Visible = False
- 主表單_dgv.Columns(27).Visible = False
- ElseIf BB(0) = False And BB(1) = True And BB(2) = True And BB(3) = True Then
- 主表單_dgv.Columns(11).Visible = False : 主表單_dgv.Columns(12).Visible = False : 主表單_dgv.Columns(13).Visible = False : 主表單_dgv.Columns(14).Visible = False
-
- 主表單_dgv.Columns(15).Visible = True : 主表單_dgv.Columns(16).Visible = True : 主表單_dgv.Columns(17).Visible = True : 主表單_dgv.Columns(18).Visible = True
- 主表單_dgv.Columns(19).Visible = True : 主表單_dgv.Columns(20).Visible = True : 主表單_dgv.Columns(21).Visible = True
-
- 主表單_dgv.Columns(22).Visible = False : 主表單_dgv.Columns(23).Visible = False : 主表單_dgv.Columns(24).Visible = False : 主表單_dgv.Columns(25).Visible = False
- 主表單_dgv.Columns(26).Visible = False : 主表單_dgv.Columns(27).Visible = False
- ElseIf BB(0) = True And BB(1) = False And BB(2) = True And BB(3) = True Then
- 主表單_dgv.Columns(11).Visible = False : 主表單_dgv.Columns(12).Visible = False : 主表單_dgv.Columns(13).Visible = False : 主表單_dgv.Columns(14).Visible = False
- 主表單_dgv.Columns(15).Visible = False : 主表單_dgv.Columns(16).Visible = False : 主表單_dgv.Columns(17).Visible = False : 主表單_dgv.Columns(18).Visible = False
- 主表單_dgv.Columns(19).Visible = False : 主表單_dgv.Columns(20).Visible = False : 主表單_dgv.Columns(21).Visible = False
-
- 主表單_dgv.Columns(22).Visible = True : 主表單_dgv.Columns(23).Visible = True : 主表單_dgv.Columns(24).Visible = True : 主表單_dgv.Columns(25).Visible = True
- 主表單_dgv.Columns(26).Visible = True : 主表單_dgv.Columns(27).Visible = True
- End If
- End Sub
- Private Sub 量產生產進度表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- WINPROFIT_ERP_SYS.WindowState = 2 : Me.MdiParent = WINPROFIT_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
- BB(0) = True : BB(1) = True : BB(2) = True : BB(3) = True
- 第一頁_bt.Enabled = False
- Set_訂單清單() : Set_grid()
- 清除條件_bt.PerformClick()
- End Sub
- Private Sub 主表單_dgv_CellClick(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) Handles 主表單_dgv.CellClick
- If e.RowIndex = -1 Then : Else : PA = 主表單_dgv.Rows(e.RowIndex).Cells("型體號碼").Value
- PictureBox1.Image = Nothing : SQL_鞋型圖片資料庫一張圖片()
- If dr.Read() Then : PictureBox1.Image = Nothing : SQL_鞋型圖片資料庫一張圖片()
- While dr.Read() = True
- Dim unused As Byte() = New Byte(-1) {} : Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte())
- Dim oStream As New MemoryStream(bytes) : PictureBox1.Image = Bitmap.FromStream(oStream)
- End While : conn.Close()
- Else : PictureBox1.Image = Nothing : SQL_鞋型圖片資料庫一張圖片()
- If dr.Read() Then : PictureBox1.Image = Nothing : SQL_鞋型圖片資料庫一張圖片()
- While dr.Read() = True
- Dim unused1 As Byte() = New Byte(-1) {} : Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte())
- Dim oStream As New MemoryStream(bytes) : PictureBox1.Image = Bitmap.FromStream(oStream)
- End While : conn.Close()
- Else : PictureBox1.Image = Nothing : SQL_圖片1()
- If dr.Read() Then : PictureBox1.Image = Nothing : SQL_圖片1()
- While dr.Read() = True
- Dim unused2 As Byte() = New Byte(-1) {} : Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte())
- Dim oStream As New MemoryStream(bytes) : PictureBox1.Image = Bitmap.FromStream(oStream)
- End While : conn.Close()
- Else : conn.Close() : End If
- End If
- End If : PictureBox1.SizeMode = 4
- If 主表單_dgv.Rows(e.RowIndex).Cells("驗報圖庫").Value.ToString <> "" Then
- PA1 = 主表單_dgv.Rows(e.RowIndex).Cells("驗報圖庫").Value.ToString : PA2 = 主表單_dgv.Rows(e.RowIndex).Cells("驗貨報告圖片").Value.ToString
- SQL_驗貨報告() : PictureBox2.Image = Nothing
- While dr.Read() = True
- Dim unused3 As Byte() = New Byte(-1) {} : Dim bytes As Byte() = DirectCast(dr.Item("驗貨報告"), Byte())
- Dim oStream As New MemoryStream(bytes) : PictureBox2.Image = Bitmap.FromStream(oStream)
- End While
- conn.Close() : PictureBox2.SizeMode = 4
- 驗貨報告 = 主表單_dgv.Rows(e.RowIndex).Cells("驗貨報告圖片").Value.ToString : 圖片庫 = 主表單_dgv.Rows(e.RowIndex).Cells("驗報圖庫").Value.ToString
- Else
- PictureBox2.Image = Nothing
- 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(2, e.RowIndex).Value.ToString <> 主表單_dgv(2, 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 清除條件_bt_Click(sender As Object, e As EventArgs) Handles 清除條件_bt.Click
- PA33 = ""
- SQL_客戶簡稱() : 客戶_cb.Items.Clear() : While (dr.Read()) : 客戶_cb.Items.Add(dr("客戶簡稱")) : End While : conn.Close()
- SQL_季節清單() : 季節_cb.Items.Clear() : While (dr.Read()) : 季節_cb.Items.Add(dr("SEASON")) : End While : conn.Close()
- SQL_工廠控制表1() : 工廠_cb.Items.Clear() : While (dr.Read()) : 工廠_cb.Items.Add(dr("工廠")) : End While : conn.Close()
- PA33 = 客戶_cb.Text : SQL_型體號碼() : 型體號碼_cb.Items.Clear() : While (dr.Read()) : 型體號碼_cb.Items.Add(dr("型體號碼")) : End While : conn.Close()
- PA33 = 型體號碼_cb.Text : SQL_型體控制表2() : 型體名稱_cb.Items.Clear() : While (dr.Read()) : 型體名稱_cb.Items.Add(dr("型體名稱")) : End While : conn.Close()
- Set_訂單清單() : Set_grid()
- End Sub
- Private Sub 客戶_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 客戶_cb.SelectedIndexChanged
- PA33 = 客戶_cb.Text : SQL_型體號碼() : 型體號碼_cb.Items.Clear()
- While (dr.Read()) : 型體號碼_cb.Items.Add(dr("型體號碼")) : End While : conn.Close() : Set_訂單清單() : Set_grid()
- End Sub
- Private Sub 型體號碼_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 型體號碼_cb.SelectedIndexChanged
- PA33 = 型體號碼_cb.Text : SQL_型體控制表2() : 型體名稱_cb.Items.Clear()
- While (dr.Read()) : 型體名稱_cb.Items.Add(dr("型體名稱")) : End While : conn.Close() : Set_訂單清單() : Set_grid()
- End Sub
- Private Sub 季節_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 季節_cb.SelectedIndexChanged
- Set_訂單清單() : Set_grid()
- End Sub
- Private Sub 工廠_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 工廠_cb.SelectedIndexChanged
- Set_訂單清單() : Set_grid()
- End Sub
- Private Sub 型體名稱_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 型體名稱_cb.SelectedIndexChanged
- Set_訂單清單() : Set_grid()
- End Sub
- Private Sub Button28_Click(sender As Object, e As EventArgs) Handles 列印_bt.Click
- 列印_生產進度表.Show()
- End Sub
- Private Sub Button4_Click(sender As Object, e As EventArgs) Handles 森康回饋資訊Excel導入_bt.Click
- If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
- file_name = OpenFileDialog1.FileName
- End If
- xlApp = CreateObject("Excel.Application")
- xlApp.DisplayAlerts = True
- xlApp.Visible = True
- xlApp.Workbooks.Open(file_name)
- xlSheet = xlApp.Worksheets(1) : xlSheet.Activate()
-
- For i As Integer = 4 To 99999
- TextBox1.Text = xlSheet.Cells(i, 4).value
- TextBox2.Text = xlSheet.Cells(i, 1).value : If TextBox2.Text = "" Then : Else : TextBox2.Text = Format(xlSheet.Cells(i, 1).value, "yyyy/MM/dd") : End If
- TextBox3.Text = xlSheet.Cells(i, 10).value : If TextBox3.Text = "" Then : Else : TextBox3.Text = Format(xlSheet.Cells(i, 10).value, "yyyy/MM/dd") : End If
- If TextBox1.Text <> "" Then
- PA = xlSheet.Cells(i, 14).value : PA1 = xlSheet.Cells(i, 16).value : PA2 = xlSheet.Cells(i, 16).value
- PA3 = xlSheet.Cells(i, 17).value : PA4 = xlSheet.Cells(i, 18).value : PA5 = xlSheet.Cells(i, 19).value
- PA6 = xlSheet.Cells(i, 20).value : PA7 = xlSheet.Cells(i, 21).value : PA8 = xlSheet.Cells(i, 22).value
- PA9 = xlSheet.Cells(i, 23).value : PA10 = xlSheet.Cells(i, 24).value : PA11 = xlSheet.Cells(i, 25).value
- PA12 = xlSheet.Cells(i, 26).value : PA13 = xlSheet.Cells(i, 27).value : PA14 = xlSheet.Cells(i, 28).value
- PA15 = xlSheet.Cells(i, 3).value : PA16 = xlSheet.Cells(i, 4).value : PA17 = xlSheet.Cells(i, 8).value
- PA18 = xlSheet.Cells(i, 7).value : PA19 = xlSheet.Cells(i, 9).value : PA20 = xlSheet.Cells(i, 5).value
- SQL_森康列印清單() : conn.Close()
- Else
- i = 99999
- End If
- TextBox6.Text = i
- Next
-
- xlApp.Visible = True : xlApp.Quit() : xlApp = Nothing
- TextBox6.Text = ""
- MsgBox("資料導入完成")
- Set_訂單清單() : Set_grid()
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 巨益回饋資訊Excel導入_bt.Click
- If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
- file_name = OpenFileDialog1.FileName
- End If
- xlApp = CreateObject("Excel.Application")
- xlApp.DisplayAlerts = True
- xlApp.Visible = True
- xlApp.Workbooks.Open(file_name)
- xlSheet = xlApp.Worksheets(1) : xlSheet.Activate()
-
- For i As Integer = 4 To 99999
- TextBox1.Text = xlSheet.Cells(i, 4).value
- TextBox2.Text = xlSheet.Cells(i, 1).value : If TextBox2.Text = "" Then : Else : TextBox2.Text = Format(xlSheet.Cells(i, 1).value, "yyyy/MM/dd") : End If
- TextBox3.Text = xlSheet.Cells(i, 10).value : If TextBox3.Text = "" Then : Else : TextBox3.Text = Format(xlSheet.Cells(i, 10).value, "yyyy/MM/dd") : End If
- If TextBox1.Text <> "" Then
- PA21 = xlSheet.Cells(i, 12).value : PA22 = xlSheet.Cells(i, 13).value : PA23 = xlSheet.Cells(i, 3).value
- PA24 = xlSheet.Cells(i, 4).value : PA25 = xlSheet.Cells(i, 8).value : PA26 = xlSheet.Cells(i, 7).value
- PA27 = xlSheet.Cells(i, 9).value : PA28 = xlSheet.Cells(i, 5).value
- SQL_巨益列印清單() : conn.Close()
- Else
- i = 99999
- End If
- TextBox6.Text = i
- Next
-
- xlApp.Visible = True : xlApp.Quit() : xlApp = Nothing
- TextBox6.Text = ""
- MsgBox("資料導入完成")
- Set_訂單清單() : Set_grid()
- End Sub
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 第一頁_bt.Click
- 第一頁_bt.Enabled = False : 第二頁_bt.Enabled = True : 第三頁_bt.Enabled = True
- BB(0) = True : BB(1) = True : BB(2) = True : BB(3) = True
- Set_grid()
- End Sub
- Private Sub Button34_Click(sender As Object, e As EventArgs) Handles 第二頁_bt.Click
- 第一頁_bt.Enabled = True : 第二頁_bt.Enabled = False : 第三頁_bt.Enabled = True
- BB(0) = False : BB(1) = True : BB(2) = True : BB(3) = True
- Set_grid()
- End Sub
- Private Sub Button35_Click(sender As Object, e As EventArgs) Handles 第三頁_bt.Click
- 第一頁_bt.Enabled = True : 第二頁_bt.Enabled = True : 第三頁_bt.Enabled = False
- BB(0) = True : BB(1) = False : BB(2) = True : BB(3) = True
- Set_grid()
- End Sub
- Private Sub Button3_Click(sender As Object, e As EventArgs) Handles 關鍵字查詢_bt.Click
- PA = InputBox("請輸入要查詢的資料")
- Set_訂單清單() : Set_grid()
- End Sub
- Private Sub Button20_Click(sender As Object, e As EventArgs) Handles 驗貨報告大圖_bt.Click
- 驗貨報告大圖.ShowDialog()
- End Sub
- Private Sub Button8_Click(sender As Object, e As EventArgs) Handles 順時鐘90度旋轉_bt.Click
- PictureBox2.Image.RotateFlip(RotateFlipType.Rotate90FlipNone) : PictureBox2.Refresh() : PictureBox2.SizeMode = 4
- End Sub
- Private Sub Button7_Click(sender As Object, e As EventArgs) Handles 逆時鐘90度旋轉_bt.Click
- PictureBox2.Image.RotateFlip(RotateFlipType.Rotate270FlipNone) : PictureBox2.Refresh() : PictureBox2.SizeMode = 4
- End Sub
- Private Sub Button6_Click(sender As Object, e As EventArgs) Handles 水平翻轉_bt.Click
- PictureBox2.Image.RotateFlip(RotateFlipType.Rotate180FlipY) : PictureBox2.Refresh() : PictureBox2.SizeMode = 4
- End Sub
- Private Sub Button5_Click(sender As Object, e As EventArgs) Handles 垂直翻轉_bt.Click
- PictureBox2.Image.RotateFlip(RotateFlipType.Rotate180FlipX) : PictureBox2.Refresh() : PictureBox2.SizeMode = 4
- End Sub
- Private Sub 流水帳_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 主表單_dgv.MouseUp
- If 主表單_dgv.SelectedCells.Count = 1 Then
- 已超出 = False
- End If
- If 主表單_dgv.SelectedCells.Count > 0 Then
- '設定滑鼠點擊DGV時候的範圍,超出範圍時有可能不是數字所以不計算
- If 主表單_dgv.SelectedCells(0).ColumnIndex = 8 Then
- If 已超出 = False Then
- Dim x As Double = 0
- For i As Integer = 0 To 主表單_dgv.SelectedCells.Count - 1
- ' 主表單_dgv.SelectedCells.Item(i).ColumnIndex + 8 是因為該DGV顯示項與計算像剛好差8格,使用時要注意可直接計算的不需要加數字。
- x += Val(主表單_dgv.Rows(主表單_dgv.SelectedCells.Item(i).RowIndex).Cells(主表單_dgv.SelectedCells.Item(i).ColumnIndex).Value)
- Next i
- '將計算好的資料放置到指定的控件中
- 加總_tb.Text = Strings.Format(x, "#,##0")
- WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(x, "#,##0")
- Else
- 加總_tb.Text = Strings.Format(0, "#,##0")
- WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0")
- End If
- Else
- 已超出 = True
- 加總_tb.Text = Strings.Format(0, "#,##0")
- WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0")
- End If
- End If
- End Sub
- End Class
|