123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236 |
- Option Strict Off
- Imports System.IO
- Public Class 歷史單價紀錄表
- Private ReadOnly ds As New DataSet
- Dim 新流水號 As String
- Dim 已超出 As Boolean
- Private Sub Set_清單()
- 主表單_dgv.DataSource = Nothing : ds.Clear()
- 主表單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 主表單_dgv.ColumnHeadersHeight = 25
- 主表單_dgv.AllowUserToAddRows = False
- SQL_歷史單價紀錄表1()
- da.Fill(ds) : 主表單_dgv.DataSource = ds.Tables(0) : conn.Close()
- 主表單_dgv.Columns(0).Visible = False : 主表單_dgv.Columns(1).Width = 110 : 主表單_dgv.Columns(2).Visible = False : 主表單_dgv.Columns(3).Width = 90 : 主表單_dgv.Columns(4).Width = 90
- 主表單_dgv.Columns(5).Width = 100 : 主表單_dgv.Columns(6).Width = 180 : 主表單_dgv.Columns(7).Width = 210 : 主表單_dgv.Columns(8).Width = 290 : 主表單_dgv.Columns(9).Width = 160
- 主表單_dgv.Columns(10).Width = 60 : 主表單_dgv.Columns(11).Width = 60 : 主表單_dgv.Columns(12).Width = 515 : 主表單_dgv.Columns(13).Visible = False
- 主表單_dgv.Columns(10).DefaultCellStyle.Format = "#,##0.00" : 主表單_dgv.Columns(11).DefaultCellStyle.Format = "#,##0.00"
- 主表單_dgv.Columns(10).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 主表單_dgv.Columns(11).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- 主表單_dgv.Columns(10).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight : 主表單_dgv.Columns(11).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
- End Sub
- Private Sub ComboBox1下拉表單資料載入()
- SQL_客戶簡稱()
- 客戶簡稱_cb.Items.Clear() : While (dr.Read()) : 客戶簡稱_cb.Items.Add(dr("客戶簡稱")) : End While : conn.Close()
- End Sub
- Private Sub ComboBox2下拉表單資料載入()
- SQL_工廠控制表()
- 工廠_cb.Items.Clear() : While (dr.Read()) : 工廠_cb.Items.Add(dr("工廠")) : End While : conn.Close()
- End Sub
- Private Sub ComboBox3下拉表單資料載入()
- SQL_顏色清單()
- 顏色_cb.Items.Clear() : While (dr.Read()) : 顏色_cb.Items.Add(dr("顏色")) : End While : conn.Close()
- End Sub
- Private Sub ComboBox4下拉表單資料載入()
- SQL_型體控制表3()
- 形體號碼_cb.Items.Clear() : While (dr.Read()) : 形體號碼_cb.Items.Add(dr("型體號碼")) : End While : conn.Close()
- End Sub
- Private Sub ComboBox5下拉表單資料載入()
- SQL_型體控制表4()
- 形體名稱_cb.Items.Clear() : While (dr.Read()) : 形體名稱_cb.Items.Add(dr("型體名稱")) : End While : conn.Close()
- End Sub
- Private Sub Set_日期格式轉換()
- DTP1 = Format(日期_dtp.Value, "yyyy/MM/dd") : DTP2 = Format(日期2_dtp.Value, "yyyy/MM/dd")
- 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
- 資料編碼_tb.Enabled = False : 鞋圖編號_tb.Enabled = False : 新增存檔_bt.Enabled = False : 文字提醒_lb.Visible = False
- ComboBox1下拉表單資料載入() : ComboBox2下拉表單資料載入() : ComboBox3下拉表單資料載入()
- Set_清單()
- If CC(6) = False Then
- 一般新增_bt.Enabled = False : 複製新增_bt.Enabled = False : 修改_bt.Enabled = False
- End If
- If CC(7) = False Then
- 刪除_bt.Enabled = False
- End If
- If CC(8) = False Then
- 新增工廠清單_bt.Enabled = False : 新增顏色清單_bt.Enabled = False
- End If
- End Sub
- Private Sub 歷史單價紀錄表_Unload(sender As Object, e As EventArgs) Handles MyBase.Closing
- If 新增存檔_bt.Enabled = True Then
- SQL_刪除歷史單價紀錄表() : conn.Close()
- End If
- End Sub
- Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
- If 文字提醒_lb.Visible = True Then : 文字提醒_lb.Visible = False : Else : 文字提醒_lb.Visible = True : End If
- End Sub
- Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 主表單_dgv.CellClick
- If e.RowIndex = -1 Then : Else
- If 新增存檔_bt.Enabled = False Then
- 資料編碼_tb.Text = 主表單_dgv(0, e.RowIndex).Value.ToString : 客戶簡稱_cb.Text = 主表單_dgv(1, e.RowIndex).Value.ToString : 客戶備註_tb.Text = 主表單_dgv(2, e.RowIndex).Value.ToString
- 日期_dtp.Text = 主表單_dgv(3, e.RowIndex).Value.ToString : 日期2_dtp.Text = 主表單_dgv(4, e.RowIndex).Value.ToString : 工廠_cb.Text = 主表單_dgv(5, e.RowIndex).Value.ToString
- 形體號碼_cb.Text = 主表單_dgv(6, e.RowIndex).Value.ToString : 形體名稱_cb.Text = 主表單_dgv(7, e.RowIndex).Value.ToString : 鞋面_tb.Text = 主表單_dgv(8, e.RowIndex).Value.ToString
- 顏色_cb.Text = 主表單_dgv(9, e.RowIndex).Value.ToString : 工廠價_tb.Text = 主表單_dgv(10, e.RowIndex).Value.ToString : 客戶價_tb.Text = 主表單_dgv(11, e.RowIndex).Value.ToString
- 備註_tb.Text = 主表單_dgv(12, e.RowIndex).Value.ToString : 鞋圖編號_tb.Text = 主表單_dgv(13, e.RowIndex).Value.ToString
- 工廠價_tb.Text = Format(Val(工廠價_tb.Text), "#,##0.00") : 客戶價_tb.Text = Format(Val(客戶價_tb.Text), "#,##0.00")
- PictureBox1.Image = Nothing
- PA = 主表單_dgv(1, e.RowIndex).Value.ToString : PA1 = 主表單_dgv(6, e.RowIndex).Value.ToString
- PA2 = 主表單_dgv(7, e.RowIndex).Value.ToString : PA3 = 主表單_dgv(9, e.RowIndex).Value.ToString
- SQL_鞋型圖片資料庫5()
- If dr.Read() Then
- PictureBox1.Image = Nothing
- SQL_鞋型圖片資料庫5()
- 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
- PA4 = 主表單_dgv(1, e.RowIndex).Value.ToString : PA5 = 主表單_dgv(6, e.RowIndex).Value.ToString
- PA6 = 主表單_dgv(7, e.RowIndex).Value.ToString
- 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
- End If : PictureBox1.SizeMode = 4
- End If
- End If
- End Sub
- Private Sub DataGridView1_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 Button9_Click(sender As Object, e As EventArgs) Handles 搜尋_bt.Click
- PA = InputBox("請輸入要查詢的關鍵字") : Set_清單() : PA = ""
- End Sub
- Private Sub Button32_Click(sender As Object, e As EventArgs) Handles 返回_bt.Click
- PA = "" : Set_清單()
- End Sub
- Private Sub 新增準備1()
- Dim NUM1 As Integer
- SQL_最後一筆流水號3()
- If dr.Read() Then : 新流水號 = dr("流水號") : End If : conn.Close()
-
- NUM1 = Double.Parse(Strings.Right(新流水號, 6)) + 1
- If NUM1 < 10 Then : 新流水號 = "PR" & "00000" & NUM1
- ElseIf NUM1 > 9 And NUM1 < 100 Then : 新流水號 = "PR" & "0000" & NUM1
- ElseIf NUM1 > 99 And NUM1 < 1000 Then : 新流水號 = "PR" & "000" & NUM1
- ElseIf NUM1 > 999 And NUM1 < 10000 Then : 新流水號 = "PR" & "00" & NUM1
- ElseIf NUM1 > 9999 And NUM1 < 100000 Then : 新流水號 = "PR" & "0" & NUM1
- ElseIf NUM1 > 99999 Then : 新流水號 = "PR" & NUM1
- End If
- 資料編碼_tb.Text = 新流水號
- End Sub
- Private Sub 新增準備2()
- SQL_新增歷史單價紀錄表() : conn.Close()
- 新增存檔_bt.Enabled = True : 一般新增_bt.Enabled = False : 複製新增_bt.Enabled = False : 修改_bt.Enabled = False
- MsgBox("資料新增準備完成")
- End Sub
- Private Sub Button29_Click(sender As Object, e As EventArgs) Handles 一般新增_bt.Click
- Timer1.Enabled = True
- 新增準備1()
- ComboBox1下拉表單資料載入() : ComboBox2下拉表單資料載入() : ComboBox3下拉表單資料載入()
- 日期_dtp.Value = Today() : 日期2_dtp.Value = Today()
- 客戶備註_tb.Text = "" : 形體號碼_cb.Text = "" : 形體名稱_cb.Text = "" : 鞋面_tb.Text = "" : 工廠價_tb.Text = "0.00" : 客戶價_tb.Text = "0.00" : 備註_tb.Text = "" : 鞋圖編號_tb.Text = ""
- Set_日期格式轉換()
- 新增準備2()
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 複製新增_bt.Click
- Timer1.Enabled = True
- If 形體號碼_cb.Text = "" Or 形體名稱_cb.Text = "" Or 鞋面_tb.Text = "" Or 客戶簡稱_cb.Text = "" Or 工廠_cb.Text = "" Or 顏色_cb.Text = "" Then
- MsgBox("複製新增方式需要先選擇一筆被複製的舊資料")
- Else
- 新增準備1() : Set_日期格式轉換() : 新增準備2()
- End If
- End Sub
- Private Sub 修改1()
- If 形體號碼_cb.Text = "" Or 形體名稱_cb.Text = "" Or 鞋面_tb.Text = "" Or 客戶簡稱_cb.Text = "" Or 工廠_cb.Text = "" Or 顏色_cb.Text = "" Then
- MsgBox("紅色字體的資料欄位為必填項,不可空白")
- Else
- Set_日期格式轉換()
- SQL_更改歷史單價紀錄表() : conn.Close()
- 新增存檔_bt.Enabled = False : 一般新增_bt.Enabled = True : 複製新增_bt.Enabled = True : 修改_bt.Enabled = True
- MsgBox("存檔完成") : Set_清單()
- End If
- Timer1.Enabled = False : 文字提醒_lb.Visible = False
- End Sub
- Private Sub Button11_Click(sender As Object, e As EventArgs) Handles 新增存檔_bt.Click
- 修改1()
- End Sub
- Private Sub Button12_Click(sender As Object, e As EventArgs) Handles 修改_bt.Click
- 修改1()
- End Sub
- Private Sub Button10_Click(sender As Object, e As EventArgs) Handles 刪除_bt.Click
- Dim aa As MsgBoxResult
- aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel)
- If aa = MsgBoxResult.Ok Then
- SQL_刪除歷史單價紀錄表1() : conn.Close()
- MsgBox("刪除完成") : Set_清單()
- End If
-
- End Sub
- Private Sub Button28_Click(sender As Object, e As EventArgs) Handles 列印篩選_bt.Click
- MsgBox("等待開發")
- End Sub
- Private Sub Button3_Click(sender As Object, e As EventArgs) Handles 新增工廠清單_bt.Click
- 清單修改.Close() : 工廠清單修改 = True : 清單修改.ShowDialog() : ComboBox2下拉表單資料載入() : 工廠清單修改 = False
- End Sub
- Private Sub Button4_Click(sender As Object, e As EventArgs) Handles 新增顏色清單_bt.Click
- 清單修改.Close() : 顏色清單修改 = True : 清單修改.ShowDialog() : ComboBox3下拉表單資料載入() : 顏色清單修改 = False
- End Sub
- Private Sub ComboBox4_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 形體號碼_cb.SelectedIndexChanged
- ComboBox5下拉表單資料載入()
- End Sub
- Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 客戶簡稱_cb.SelectedIndexChanged
- ComboBox4下拉表單資料載入()
- 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 >= 10 And 主表單_dgv.SelectedCells(0).ColumnIndex <= 11 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.00")
- WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(x, "#,##0.00")
- Else
- 加總_tb.Text = Strings.Format(0, "#,##0.00")
- WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0.00")
- End If
- Else
- 已超出 = True
- 加總_tb.Text = Strings.Format(0, "#,##0.00")
- WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0.00")
- End If
- End If
- End Sub
-
- End Class
|