Option Strict Off Imports System.IO Public Class 樣品報價控制表 Private ReadOnly ds, ds1, ds2 As New DataSet Private Sub Set_清單() 表單1_dgv.DataSource = Nothing : ds.Clear() 表單1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 表單1_dgv.ColumnHeadersHeight = 25 表單1_dgv.AllowUserToAddRows = False 表單1_dgv.RowTemplate.Height = 24 SQL_樣品報價控制表單1() da.Fill(ds) : 表單1_dgv.DataSource = ds.Tables(0) : conn.Close() 表單1_dgv.Columns(0).Width = 55 : 表單1_dgv.Columns(1).Width = 170 : 表單1_dgv.Columns(2).Width = 70 : 表單1_dgv.Columns(3).Width = 55 : 表單1_dgv.Columns(4).Width = 40 表單1_dgv.Columns(5).Width = 40 : 表單1_dgv.Columns(6).Width = 90 : 表單1_dgv.Columns(7).Width = 100 : 表單1_dgv.Columns(8).Width = 120 : 表單1_dgv.Columns(9).Width = 70 表單1_dgv.Columns(10).Width = 60 : 表單1_dgv.Columns(11).Visible = False End Sub Private Sub Set_清單1() 表單2_dgv.DataSource = Nothing : ds1.Clear() 表單2_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 表單2_dgv.ColumnHeadersHeight = 25 表單2_dgv.AllowUserToAddRows = False 表單2_dgv.RowTemplate.Height = 50 SQL_樣品報價控制表單2() 列印用SQL = SQL1 da.Fill(ds1) : 表單2_dgv.DataSource = ds1.Tables(0) : conn.Close() 表單2_dgv.Columns(0).Width = 60 : 表單2_dgv.Columns(1).Width = 150 : 表單2_dgv.Columns(2).Width = 70 : 表單2_dgv.Columns(3).Width = 90 : 表單2_dgv.Columns(4).Width = 100 表單2_dgv.Columns(5).Width = 120 : 表單2_dgv.Columns(6).Width = 60 : 表單2_dgv.Columns(7).Width = 40 : 表單2_dgv.Columns(8).Width = 40 : 表單2_dgv.Columns(9).Width = 343 表單2_dgv.Columns(10).Width = 150 : 表單2_dgv.Columns(11).Width = 342 : 表單2_dgv.Columns(12).Width = 100 : 表單2_dgv.Columns(13).Width = 50 : 表單2_dgv.Columns(14).Width = 150 表單2_dgv.Columns(13).DefaultCellStyle.Format = "#,##0.00" 表單2_dgv.Columns(13).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight 表單2_dgv.Columns(13).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight 表單2_dgv.Columns(9).DefaultCellStyle.BackColor = Color.MistyRose : 表單2_dgv.Columns(10).DefaultCellStyle.BackColor = Color.MistyRose 表單2_dgv.Columns(11).DefaultCellStyle.BackColor = Color.MistyRose : 表單2_dgv.Columns(12).DefaultCellStyle.BackColor = Color.MistyRose 表單2_dgv.Columns(13).DefaultCellStyle.BackColor = Color.MistyRose : 表單2_dgv.Columns(14).DefaultCellStyle.BackColor = Color.MistyRose 表單2_dgv.EditMode = DataGridViewEditMode.EditOnEnter End Sub Private Sub Set_清單2() 表單3_dgv.DataSource = Nothing : ds2.Clear() 表單3_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 表單3_dgv.ColumnHeadersHeight = 25 表單3_dgv.AllowUserToAddRows = False SQL_樣品報價控制表單3() da.Fill(ds2) : 表單3_dgv.DataSource = ds2.Tables(0) : conn.Close() 表單3_dgv.Columns(0).Width = 40 : 表單3_dgv.Columns(1).Width = 40 : 表單3_dgv.Columns(2).Width = 200 : 表單3_dgv.Columns(3).Width = 260 : 表單3_dgv.Columns(4).Width = 171 表單3_dgv.Columns(5).Visible = False : 表單3_dgv.Columns(6).Visible = False : 表單3_dgv.Columns(7).Visible = False : 表單3_dgv.Columns(8).Visible = False 表單3_dgv.Columns(9).Visible = False 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 SQL_修改樣品訂單清單2() : conn.Close() 未建檔資料_ch.Checked = True : 已建檔資料_ch.Checked = False : 數量_tb.Visible = False 表單3_dgv.Visible = False 條件變更 = " WHERE (樣品訂單清單.已報價 LIKE N'0')" Set_清單() : Set_清單1() End Sub Private Sub DataGridView1_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 表單1_dgv.RowPostPaint Dim linePen As New Pen(Color.Blue, 2) If e.RowIndex = 表單1_dgv.Rows.Count - 1 Then Exit Sub Else If 表單1_dgv(3, e.RowIndex).Value.ToString <> 表單1_dgv(3, e.RowIndex + 1).Value.ToString Then Dim startX As Integer = IIf(表單1_dgv.RowHeadersVisible, 表單1_dgv.RowHeadersWidth, 0) Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1 Dim endX As Integer = startX + 表單1_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 表單1_dgv.HorizontalScrollingOffset e.Graphics.DrawLine(linePen, startX, startY, endX, startY) Exit Sub End If End If End Sub Private Sub DataGridView2_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 表單2_dgv.RowPostPaint Dim linePen As New Pen(Color.Blue, 2) If e.RowIndex = 表單2_dgv.Rows.Count - 1 Then Exit Sub Else If 表單2_dgv(6, e.RowIndex).Value.ToString <> 表單2_dgv(6, e.RowIndex + 1).Value.ToString Then Dim startX As Integer = IIf(表單2_dgv.RowHeadersVisible, 表單2_dgv.RowHeadersWidth, 0) Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1 Dim endX As Integer = startX + 表單2_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 表單2_dgv.HorizontalScrollingOffset e.Graphics.DrawLine(linePen, startX, startY, endX, startY) Exit Sub End If End If End Sub Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 表單1_dgv.CellClick If e.RowIndex = -1 Then : Else SO_tb.Text = 表單1_dgv.Rows(e.RowIndex).Cells("SO").Value.ToString() : 版次_tb.Text = 表單1_dgv.Rows(e.RowIndex).Cells("版次").Value.ToString() 項次_tb.Text = 表單1_dgv.Rows(e.RowIndex).Cells("項次").Value.ToString() : SEASON_tb.Text = 表單1_dgv.Rows(e.RowIndex).Cells("季節").Value.ToString() FACTORY_tb.Text = 表單1_dgv.Rows(e.RowIndex).Cells("工廠").Value.ToString() : STYLE_tb.Text = 表單1_dgv.Rows(e.RowIndex).Cells("型體號碼").Value.ToString() STYLENAME_tb.Text = 表單1_dgv.Rows(e.RowIndex).Cells("型體名稱").Value.ToString() : COLOR_tb.Text = 表單1_dgv.Rows(e.RowIndex).Cells("顏色").Value.ToString() 數量_tb.Text = 表單1_dgv.Rows(e.RowIndex).Cells("數量").Value.ToString() : CUST_tb.Text = 表單1_dgv.Rows(e.RowIndex).Cells("客戶").Value.ToString() PictureBox1.Image = Nothing PA = 表單1_dgv.Rows(e.RowIndex).Cells("客戶").Value : PA1 = 表單1_dgv.Rows(e.RowIndex).Cells("型體號碼").Value PA2 = 表單1_dgv.Rows(e.RowIndex).Cells("型體名稱").Value SQL_最後一張鞋型圖片資料庫() If dr.Read() Then PictureBox1.Image = Nothing SQL_最後一張鞋型圖片資料庫() While dr.Read() = True Dim bytes As Byte() = New Byte(-1) {} bytes = DirectCast(dr.Item("圖片"), Byte()) Dim oStream As New MemoryStream(bytes) PictureBox1.Image = Image.FromStream(oStream) End While conn.Close() Else conn.Close() End If : PictureBox1.SizeMode = 4 Set_清單2() Dim II As Integer = 0 Materials_tb.Text = "" For i As Integer = 0 To 表單3_dgv.Rows.Count - 1 If Strings.Left(表單3_dgv.Rows(i).Cells("部件").Value, 1) = "A" Then Materials_tb.Text = Materials_tb.Text & II + 1 & ". " & 表單3_dgv.Rows(i).Cells("材料名稱").Value & " " : II += 1 End If Next II = 0 Outsole_tb.Text = "" For i As Integer = 0 To 表單3_dgv.Rows.Count - 1 If Strings.Left(表單3_dgv.Rows(i).Cells("部件").Value, 1) = "E" Then Outsole_tb.Text = Outsole_tb.Text & II + 1 & ". " & 表單3_dgv.Rows(i).Cells("材料名稱").Value & " " : II += 1 End If Next End If End Sub Private Sub DataGridView2_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 表單2_dgv.CellClick If e.RowIndex = -1 Then : Else SO_tb.Text = 表單2_dgv.Rows(e.RowIndex).Cells("SO").Value : 版次_tb.Text = 表單2_dgv.Rows(e.RowIndex).Cells("版次").Value 項次_tb.Text = 表單2_dgv.Rows(e.RowIndex).Cells("項次").Value : SEASON_tb.Text = 表單2_dgv.Rows(e.RowIndex).Cells("SEASON").Value FACTORY_tb.Text = 表單2_dgv.Rows(e.RowIndex).Cells("FCTY").Value : STYLE_tb.Text = 表單2_dgv.Rows(e.RowIndex).Cells("STYLE").Value STYLENAME_tb.Text = 表單2_dgv.Rows(e.RowIndex).Cells("STYLENAME").Value : COLOR_tb.Text = 表單2_dgv.Rows(e.RowIndex).Cells("COLOR").Value CUST_tb.Text = 表單2_dgv.Rows(e.RowIndex).Cells("CUST").Value : Materials_tb.Text = 表單2_dgv.Rows(e.RowIndex).Cells("MATERIALS").Value MaterialClass_tb.Text = 表單2_dgv.Rows(e.RowIndex).Cells("MATERIAL_CLASS").Value : Outsole_tb.Text = 表單2_dgv.Rows(e.RowIndex).Cells("OUTSOLE").Value Insole_tb.Text = 表單2_dgv.Rows(e.RowIndex).Cells("INSOLE").Value : FC_tb.Text = 表單2_dgv.Rows(e.RowIndex).Cells("FC").Value Remark_tb.Text = 表單2_dgv.Rows(e.RowIndex).Cells("REMARK").Value PictureBox1.Image = Nothing PA = 表單2_dgv.Rows(e.RowIndex).Cells("CUST").Value : PA1 = 表單2_dgv.Rows(e.RowIndex).Cells("STYLE").Value PA2 = 表單2_dgv.Rows(e.RowIndex).Cells("STYLENAME").Value SQL_最後一張鞋型圖片資料庫1() If dr.Read() Then PictureBox1.Image = Nothing SQL_最後一張鞋型圖片資料庫1() While dr.Read() = True Dim bytes As Byte() = New Byte(-1) {} bytes = DirectCast(dr.Item("圖片"), Byte()) Dim oStream As New MemoryStream(bytes) PictureBox1.Image = Bitmap.FromStream(oStream) End While conn.Close() Else conn.Close() End If : PictureBox1.SizeMode = 4 FC_tb.Text = Format(Val(FC_tb.Text), "#,##0.00") End If End Sub Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles 未建檔資料_ch.Click 未建檔資料_ch.Checked = True : 已建檔資料_ch.Checked = False 條件變更 = " WHERE (樣品訂單清單.已報價 LIKE N'0')" 表單3_dgv.DataSource = Nothing : ds2.Clear() 新增資料到樣品報價控制表_bt.Enabled = True Set_清單() End Sub Private Sub CheckBox2_CheckedChanged(sender As Object, e As EventArgs) Handles 已建檔資料_ch.Click 未建檔資料_ch.Checked = False : 已建檔資料_ch.Checked = True 條件變更 = " WHERE (樣品訂單清單.已報價 LIKE N'1')" 表單3_dgv.DataSource = Nothing : ds2.Clear() 新增資料到樣品報價控制表_bt.Enabled = False Set_清單() End Sub Private Sub Button9_Click(sender As Object, e As EventArgs) Handles 新增資料到樣品報價控制表_bt.Click For i As Integer = 0 To 表單1_dgv.Rows.Count - 1 資料數 = 表單1_dgv.Rows.Count : MyModule1.進度條() If 表單1_dgv.Rows(i).Cells("型體名稱").Value.ToString = "" Then Else SO_tb.Text = 表單1_dgv.Rows(i).Cells("SO").Value : 版次_tb.Text = 表單1_dgv.Rows(i).Cells("版次").Value 項次_tb.Text = 表單1_dgv.Rows(i).Cells("項次").Value : SEASON_tb.Text = 表單1_dgv.Rows(i).Cells("季節").Value FACTORY_tb.Text = 表單1_dgv.Rows(i).Cells("工廠").Value : STYLE_tb.Text = 表單1_dgv.Rows(i).Cells("型體號碼").Value STYLENAME_tb.Text = 表單1_dgv.Rows(i).Cells("型體名稱").Value : COLOR_tb.Text = 表單1_dgv.Rows(i).Cells("顏色").Value 數量_tb.Text = 表單1_dgv.Rows(i).Cells("數量").Value : CUST_tb.Text = 表單1_dgv.Rows(i).Cells("客戶").Value Set_清單2() Dim II As Integer = 0 Materials_tb.Text = "" For iii As Integer = 0 To 表單3_dgv.Rows.Count - 1 If Strings.Left(表單3_dgv.Rows(iii).Cells("部件").Value, 1) = "A" Then Materials_tb.Text = Materials_tb.Text & II + 1 & ". " & 表單3_dgv.Rows(iii).Cells("材料名稱").Value & " " : II += 1 End If Next II = 0 Outsole_tb.Text = "" For iii As Integer = 0 To 表單3_dgv.Rows.Count - 1 If Strings.Left(表單3_dgv.Rows(iii).Cells("部件").Value, 1) = "E" Then Outsole_tb.Text = Outsole_tb.Text & II + 1 & ". " & 表單3_dgv.Rows(iii).Cells("材料名稱").Value & " " : II += 1 End If Next SQL_新增樣品單價控制表() : conn.Close() '--------------------------------------------------------------- PA = 表單1_dgv.Rows(i).Cells("流水號").Value SQL_更改樣品訂單清單() : conn.Close() End If Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0 Set_清單() : Set_清單1() : MsgBox("資料新增完成") End Sub Private Sub Button11_Click(sender As Object, e As EventArgs) Handles 存檔_bt.Click For i As Integer = 0 To 表單2_dgv.Rows.Count - 1 資料數 = 表單2_dgv.Rows.Count : MyModule1.進度條() PA = 表單2_dgv.Rows(i).Cells("MATERIAL_CLASS").Value : PA1 = 表單2_dgv.Rows(i).Cells("INSOLE").Value PA2 = 表單2_dgv.Rows(i).Cells("FC").Value : PA3 = 表單2_dgv.Rows(i).Cells("REMARK").Value PA4 = 表單2_dgv.Rows(i).Cells("MATERIALS").Value : PA5 = 表單2_dgv.Rows(i).Cells("OUTSOLE").Value PA6 = 表單2_dgv.Rows(i).Cells("SO").Value : PA7 = 表單2_dgv.Rows(i).Cells("版次").Value PA8 = 表單2_dgv.Rows(i).Cells("項次").Value SQL_修改樣品單價控制表() : conn.Close() Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0 Set_清單1() : MsgBox("資料存檔完成") End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 刪除_bt.Click If SO_tb.Text = "" And 版次_tb.Text = "" And 項次_tb.Text = "" Then MsgBox("沒有選取要刪除的資料") Else Dim aa As MsgBoxResult aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel) If aa = MsgBoxResult.Ok Then SQL_刪除樣品單價控制表() : conn.Close() SQL_更改樣品訂單清單2() : conn.Close() MsgBox("刪除完成") : Set_清單() : Set_清單1() End If End If End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles 查詢_bt.Click PA = InputBox("請輸入要查詢的關鍵字") : Set_清單1() : PA = "" End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 列印_bt.Click If 列印用SQL = "" Then MsgBox("沒有列印資料,請重新搜尋後列印") Else 列印_樣品報價單.ShowDialog() : 列印用SQL = "" End If End Sub End Class