123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315 |
- Option Strict Off
- Imports System.IO
- Imports System.Net
- Public Class 物料資料庫
- ReadOnly ds As New DataSet : ReadOnly ds1 As New DataSet : ReadOnly ds2 As New DataSet
- Dim EDR As Integer = 0 : Dim ESTR As String
- Private Sub Set_DGV1開始()
- DataGridView1.DataSource = Nothing : ds.Clear()
- DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- DataGridView1.ColumnHeadersHeight = 40
- DataGridView1.AllowUserToAddRows = False
- DataGridView1.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithoutHeaderText
- DataGridView1.MultiSelect = True
- End Sub
- Private Sub Set_物料清單()
- NU1 = True : NU2 = False : Set_DGV1開始() : SQL__物料資料庫清單() : Set_DGV1結束()
- End Sub
- Private Sub Set_DGV1結束()
- da.Fill(ds) : DataGridView1.DataSource = ds.Tables(0) : conn.Close()
- DataGridView1.Columns(0).FillWeight = 8 : DataGridView1.Columns(1).FillWeight = 6 : DataGridView1.Columns(2).FillWeight = 20 : DataGridView1.Columns(3).FillWeight = 5
- DataGridView1.Columns(4).FillWeight = 5 : DataGridView1.Columns(5).FillWeight = 5 : DataGridView1.Columns(6).FillWeight = 10 : DataGridView1.Columns(7).FillWeight = 10
- DataGridView1.Columns(8).Visible = False : DataGridView1.Columns(9).FillWeight = 10 : DataGridView1.Columns(10).FillWeight = 5 : DataGridView1.Columns(11).FillWeight = 3
- DataGridView1.EditMode = DataGridViewEditMode.EditOnEnter
- DataGridView1.Columns(3).DefaultCellStyle.Format = "#,##0" : DataGridView1.Columns(4).DefaultCellStyle.Format = "#,##0" : DataGridView1.Columns(5).DefaultCellStyle.Format = "#,##0"
- DataGridView1.Columns(10).DefaultCellStyle.Format = "#,##0"
- DataGridView1.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
- DataGridView1.Columns(3).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
- DataGridView1.Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
- DataGridView1.Columns(10).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(10).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
- DataGridView1.Columns(1).ReadOnly = True : DataGridView1.Columns(2).ReadOnly = True : DataGridView1.Columns(3).ReadOnly = True : DataGridView1.Columns(4).ReadOnly = True
- DataGridView1.Columns(5).ReadOnly = True : DataGridView1.Columns(6).ReadOnly = True : DataGridView1.Columns(7).ReadOnly = True : DataGridView1.Columns(8).ReadOnly = True
- DataGridView1.Columns(9).ReadOnly = True : DataGridView1.Columns(11).ReadOnly = True : DataGridView1.Columns(0).ReadOnly = True
- For i As Integer = 0 To DataGridView1.Rows.Count - 1
- If DataGridView1.Rows(i).Cells("最低庫存量").Value.ToString = "" Then
- DataGridView1.Rows(i).Cells("最低庫存量").Value = 0
- End If
- Next
- End Sub
- Private Sub Set_未配置圖片的物料清單()
- DataGridView2.DataSource = Nothing : ds1.Clear()
- DataGridView2.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- DataGridView2.ColumnHeadersHeight = 25
- DataGridView2.AllowUserToAddRows = False
- DataGridView2.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithoutHeaderText
- DataGridView2.MultiSelect = True
- SQL_未配置圖片的物料清單()
- da.Fill(ds1) : DataGridView2.DataSource = ds1.Tables(0) : conn.Close()
- DataGridView2.Columns(0).FillWeight = 10 : DataGridView2.Columns(0).ReadOnly = True
- End Sub
- Private Sub ComboBox1下拉表單資料載入()
- SQL_物料頁碼清單()
- ComboBox1.Items.Clear() : While (dr.Read()) : ComboBox1.Items.Add(dr("頁碼")) : End While : conn.Close()
- End Sub
- Private Sub 圖片導入()
- PictureBox1.Image = Nothing : PA = TextBox6.Text : 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() : PictureBox1.SizeMode = 4 : PA = ""
- End Sub
- Private Sub 物料資料庫_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Me.MdiParent = MAOJI_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
- TextBox1.Enabled = False : Button8.Enabled = False
- TextBox6.Visible = False : TextBox8.Visible = False : TextBox11.Visible = False
- ComboBox1下拉表單資料載入() : Set_物料清單() : Set_未配置圖片的物料清單()
- If gUserName = "李協叡" Then : 資料刪除ToolStripMenuItem.Enabled = True : Else : 資料刪除ToolStripMenuItem.Enabled = False : End If
- If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then : WebBrowser2.Navigate(FolderBrowserDialog1.SelectedPath) : End If
- Target1 = Target & AA(1) & "/"
- WebBrowser1.Url = New Uri(Target1)
- End Sub
- Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
- If e.RowIndex = -1 Then : Else
- TextBox1.Text = DataGridView1.Rows(e.RowIndex).Cells("料號").Value.ToString : TextBox2.Text = DataGridView1.Rows(e.RowIndex).Cells("頁碼").Value.ToString
- TextBox3.Text = DataGridView1.Rows(e.RowIndex).Cells("品名").Value.ToString : NumericUpDown1.Value = DataGridView1.Rows(e.RowIndex).Cells("成本").Value.ToString
- NumericUpDown2.Value = DataGridView1.Rows(e.RowIndex).Cells("售價").Value.ToString : NumericUpDown3.Value = DataGridView1.Rows(e.RowIndex).Cells("件數").Value.ToString
- TextBox4.Text = DataGridView1.Rows(e.RowIndex).Cells("尺寸").Value.ToString : TextBox5.Text = DataGridView1.Rows(e.RowIndex).Cells("材質").Value.ToString
- TextBox6.Text = DataGridView1.Rows(e.RowIndex).Cells("圖片編碼").Value.ToString : TextBox7.Text = DataGridView1.Rows(e.RowIndex).Cells("備註").Value.ToString
- CheckBox1.Checked = DataGridView1.Rows(e.RowIndex).Cells("停用").Value : NumericUpDown4.Value = DataGridView1.Rows(e.RowIndex).Cells("最低庫存量").Value
- 圖片導入()
- For i As Integer = 0 To DataGridView2.Rows.Count - 1
- If DataGridView1.Rows(e.RowIndex).Cells("料號").Value.ToString = DataGridView2.Rows(i).Cells("料號").Value.ToString Then
- TextBox10.Text = DataGridView1.Rows(e.RowIndex).Cells("料號").Value.ToString : Exit For
- Else
- TextBox10.Text = ""
- End If
- Next
- End If
- End Sub
- Private Sub DataGridView2_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView2.CellClick
- If e.RowIndex = -1 Then : Else
- TextBox10.Text = DataGridView2.Rows(e.RowIndex).Cells("料號").Value.ToString
- End If
- End Sub
- Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
- PA = ComboBox1.Text : NU1 = False : NU2 = True : Set_DGV1開始() : SQL__物料資料庫清單() : Set_DGV1結束() : PA = ""
- End Sub
- Private Sub TextBox9_DragEnter(sender As Object, e As DragEventArgs) Handles TextBox9.DragEnter
- If e.Data.GetDataPresent(DataFormats.FileDrop) Then
- Dim files As String()
- Try
- files = CType(e.Data.GetData(DataFormats.FileDrop), String())
- TextBox9.Text = files(files.Length - 1)
- Catch ex As Exception
- MessageBox.Show(ex.Message)
- Return
- End Try
- End If
- Dim STR2 As Integer = 0
- TextBox8.Text = TextBox9.Text
- If TextBox9.Text = "" Then
- Else
- For i As Integer = 0 To 9999
- Dim STR1 As Integer = Strings.Len(TextBox8.Text)
- If Strings.Right((TextBox8.Text), 1) <> "\" Then
- STR1 -= 1 : STR2 += 1
- If STR1 = 0 Then
- TextBox8.Text = ""
- TextBox9.Text = ""
- i = 9999
- Else
- TextBox8.Text = Strings.Left((TextBox8.Text), STR1)
- End If
- Else
- TextBox8.Text = Strings.Right((TextBox9.Text), STR2)
- TextBox9.Text = TextBox8.Text
- i = 9999
- End If
- Next
- End If
- End Sub
- Private Sub TextBox9_DragDrop(ByVal sender As Object, ByVal e As DragEventArgs) Handles TextBox9.DragDrop
- Dim files As Array = e.Data.GetData(DataFormats.FileDrop)
- For Each file As String In files
- TextBox9.AppendText(file + Environment.NewLine)
- Next
- End Sub
- Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
- PA = InputBox("請輸入要查詢的關鍵字") : Set_物料清單()
- End Sub
- Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
- DataGridView1.Enabled = False
- TextBox2.Text = "0" : TextBox3.Text = "" : TextBox4.Text = "" : TextBox5.Text = "" : TextBox6.Text = "" : TextBox7.Text = ""
- NumericUpDown1.Value = 0 : NumericUpDown2.Value = 0 : NumericUpDown3.Value = 0 : CheckBox1.Checked = False : ComboBox1下拉表單資料載入()
- '----------------------自动生成流水号-------------------------------------------------------------------------
- SQL_物料圖庫流水號最後一筆()
- If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("料號").ToString, 8)) : Else : EDR = 0 : End If : conn.Close() : EDR += 1
- If EDR < 10 Then : ESTR = "PR" & "0000000" & EDR
- ElseIf EDR > 9 And EDR < 100 Then : ESTR = "PR" & "000000" & EDR
- ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "PR" & "00000" & EDR
- ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "PR" & "0000" & EDR
- ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "PR" & "000" & EDR
- ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "PR" & "00" & EDR
- ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "PR" & "0" & EDR
- ElseIf EDR > 9999999 Then : ESTR = "PR" & EDR : End If : TextBox1.Text = ESTR
- MsgBox("請注意頁碼格式前三碼為數字後續再用符號-隔開,在頁碼前三碼大於999之後請通知系統開發商更新程4碼。")
- End Sub
- Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
- If DataGridView1.Enabled = False Then
- If TextBox2.Text = "0" Then : MsgBox("沒有輸入頁碼,請注意頁碼格式前三碼為數字後續再用符號-隔開,在頁碼前三碼大於999之後請通知系統開發商更新程4碼。")
- Else
- SQL_物料資料庫新增() : conn.Close()
- MsgBox("資料新增完畢 。") : Set_物料清單() : Set_未配置圖片的物料清單() : PA = "" : DataGridView1.Enabled = True
- End If
- Else
- PA1 = TextBox2.Text : PA2 = TextBox3.Text : NU1 = NumericUpDown1.Value : NU2 = NumericUpDown2.Value : NU3 = NumericUpDown3.Value : PA3 = TextBox4.Text : PA4 = TextBox5.Text
- PA5 = TextBox6.Text : PA6 = TextBox7.Text : 布林1 = CheckBox1.Checked : PA7 = TextBox1.Text : NU4 = NumericUpDown4.Value
- SQL_物料資料庫修改() : conn.Close()
- MsgBox("資料存檔完畢 。") : Set_物料清單() : PA = "" : DataGridView1.Enabled = True
- End If
- End Sub
- Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Button14.Click
- If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then : WebBrowser2.Navigate(FolderBrowserDialog1.SelectedPath) : End If
- End Sub
- Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
- If TextBox6.Text = "" Then : MsgBox("所選擇的資料沒有圖片檔案,無法下載。")
- Else
- With SaveFileDialog1 : .Filter = "所有文件(*.jpg)|*.jpg" : End With
- SaveFileDialog1.FileName = TextBox6.Text & "-" & Format(Today(), "yyyyMMdd") & ".jpg"
-
- SaveFileDialog1.ShowDialog() : TextBox11.Text = SaveFileDialog1.FileName
- ds2.Clear() : SQL_物料圖庫_圖片下載() : da.Fill(ds2) : conn.Close()
- If ds2.Tables(0).Rows.Count > 0 Then
- Dim imgData() As Byte
- imgData = ds2.Tables(0).Rows(0).Item("圖片")
- Dim fs As FileStream
- fs = File.Create(TextBox11.Text, imgData.Length - 1)
- fs.Write(imgData, 0, imgData.Length - 1)
- fs.Close()
- End If : MsgBox("下載完成")
- End If
- End Sub
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
- Dim aa As MsgBoxResult = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel)
- If aa = MsgBoxResult.Ok Then
- PA = TextBox6.Text
- SQL_物料圖庫_圖片刪除() : conn.Close()
- SQL_物料圖庫_圖片刪除後圖片編號取消() : conn.Close()
- MsgBox("刪除完成") : Set_物料清單() : Set_未配置圖片的物料清單() : PA = ""
- End If
- End Sub
- Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
- If TextBox10.Text = "" Then : MsgBox("請先選擇未指定圖片的物料料號")
- Else
- SQL_物料圖庫_圖片新增時圖片編號註冊() : conn.Close() : SQL_物料圖庫_圖片新增() : conn.Close()
- '---FTP方式刪除檔案----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Dim frq As FtpWebRequest, frp As FtpWebResponse, fcr As NetworkCredential
- frq = CType(WebRequest.Create(New Uri(Target1 & TextBox9.Text)), FtpWebRequest)
- fcr = New NetworkCredential(FTP帳號, FTP密碼)
- frq.Credentials = fcr
- frq.Method = WebRequestMethods.Ftp.DeleteFile
- frq.UseBinary = True
- frp = CType(frq.GetResponse, FtpWebResponse)
- frp.Close()
- WebBrowser1.Refresh()
- '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- PictureBox1.Image = Nothing : PA = TextBox10.Text : 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()
- PictureBox1.SizeMode = 4
- '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- TextBox9.Text = "" : TextBox10.Text = "" : Set_物料清單() : Set_未配置圖片的物料清單()
- End If
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- If TextBox6.Text = "" Then : MsgBox("請先選擇要修改圖片的物料料號")
- Else
- SQL_物料圖庫_圖片修改()
- '---FTP方式刪除檔案----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Dim frq As FtpWebRequest, frp As FtpWebResponse, fcr As NetworkCredential
- frq = CType(WebRequest.Create(New Uri(Target1 & TextBox9.Text)), FtpWebRequest)
- fcr = New NetworkCredential(FTP帳號, FTP密碼)
- frq.Credentials = fcr
- frq.Method = WebRequestMethods.Ftp.DeleteFile
- frq.UseBinary = True
- frp = CType(frq.GetResponse, FtpWebResponse)
- frp.Close()
- WebBrowser1.Refresh()
- '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- TextBox9.Text = "" : MsgBox("修改完成") : Set_物料清單() : 圖片導入()
- End If
- End Sub
- Private Sub 格式1()
- CheckBox2.Checked = False : Button8.Enabled = False
- DataGridView1.Columns(3).ReadOnly = True : DataGridView1.Columns(4).ReadOnly = True : DataGridView1.Columns(5).ReadOnly = True : DataGridView1.Columns(6).ReadOnly = True
- DataGridView1.Columns(7).ReadOnly = True : DataGridView1.Columns(9).ReadOnly = True : DataGridView1.Columns(10).ReadOnly = True
- End Sub
- Private Sub CheckBox2_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox2.Click
- If CheckBox2.Checked = False Then
- 格式1()
- Else
- CheckBox2.Checked = True : Button8.Enabled = True
- DataGridView1.Columns(3).ReadOnly = False : DataGridView1.Columns(4).ReadOnly = False : DataGridView1.Columns(5).ReadOnly = False : DataGridView1.Columns(6).ReadOnly = False
- DataGridView1.Columns(7).ReadOnly = False : DataGridView1.Columns(9).ReadOnly = False : DataGridView1.Columns(10).ReadOnly = False
- MsgBox("請注意成本,售價,件數,三格欄位內的資料必須是阿拉伯數字,不然存檔時會出錯喔。")
- End If
- End Sub
- Private Sub 存檔1()
- For i As Integer = 0 To DataGridView1.Rows.Count - 1
- 資料數 = DataGridView1.Rows.Count : MyModule1.進度條()
- PA1 = DataGridView1.Rows(i).Cells("頁碼").Value : PA2 = DataGridView1.Rows(i).Cells("品名").Value : NU1 = DataGridView1.Rows(i).Cells("成本").Value
- NU2 = DataGridView1.Rows(i).Cells("售價").Value : NU3 = DataGridView1.Rows(i).Cells("件數").Value : PA3 = DataGridView1.Rows(i).Cells("尺寸").Value
- PA4 = DataGridView1.Rows(i).Cells("材質").Value : PA5 = DataGridView1.Rows(i).Cells("圖片編碼").Value : PA6 = DataGridView1.Rows(i).Cells("備註").Value
- 布林1 = DataGridView1.Rows(i).Cells("停用").Value : PA7 = DataGridView1.Rows(i).Cells("料號").Value : NU4 = DataGridView1.Rows(i).Cells("最低庫存量").Value
- SQL_物料資料庫修改() : conn.Close()
- Next : MAOJI_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
- End Sub
- Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
- 存檔1() : MsgBox("修改完成") : 格式1()
- End Sub
- '-----------------------------滑鼠右鍵------------------------------------------------------------------------------------------------------------------------------------------
- Private Sub 重新整理ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 重新整理ToolStripMenuItem.Click
- Set_物料清單() : Set_未配置圖片的物料清單()
- End Sub
- Private Sub 關鍵字查詢ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 關鍵字查詢ToolStripMenuItem.Click
- Me.Button3.PerformClick()
- End Sub
- Private Sub 新增物料資料ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 新增物料資料ToolStripMenuItem.Click
- Me.Button6.PerformClick()
- End Sub
- Private Sub 資料存檔ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 資料存檔ToolStripMenuItem.Click
- Me.Button4.PerformClick()
- End Sub
- Private Sub 下載圖片ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 下載圖片ToolStripMenuItem.Click
- Me.Button7.PerformClick()
- End Sub
- Private Sub 讀取料夾路徑ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 讀取料夾路徑ToolStripMenuItem.Click
- Me.Button14.PerformClick()
- End Sub
- Private Sub 圖檔入系統ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 圖檔入系統ToolStripMenuItem.Click
- Me.Button5.PerformClick()
- End Sub
- Private Sub 圖片修改ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 圖片修改ToolStripMenuItem.Click
- Me.Button1.PerformClick()
- End Sub
- Private Sub 刪除圖檔ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 刪除圖檔ToolStripMenuItem.Click
- Me.Button2.PerformClick()
- End Sub
- Private Sub 刪除物料ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 資料刪除ToolStripMenuItem.Click
- Dim aa As MsgBoxResult
- aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel)
- If aa = MsgBoxResult.Ok Then
- PA = TextBox1.Text
- SQL_物料圖庫_圖片刪除() : conn.Close() : SQL_物料資料庫刪除() : conn.Close()
- MsgBox("刪除完成") : Set_物料清單() : Set_未配置圖片的物料清單() : PA = ""
- End If
- End Sub
- End Class
|