Açıklama Yok
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

歷史單價紀錄表.vb 15KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. Option Strict Off
  2. Imports System.IO
  3. Public Class 歷史單價紀錄表
  4. Private ReadOnly ds As New DataSet
  5. Dim 新流水號 As String
  6. Dim 已超出 As Boolean
  7. Private Sub Set_清單()
  8. 主表單_dgv.DataSource = Nothing : ds.Clear()
  9. 主表單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  10. 主表單_dgv.ColumnHeadersHeight = 25
  11. 主表單_dgv.AllowUserToAddRows = False
  12. SQL_歷史單價紀錄表1()
  13. da.Fill(ds) : 主表單_dgv.DataSource = ds.Tables(0) : conn.Close()
  14. 主表單_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
  15. 主表單_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
  16. 主表單_dgv.Columns(10).Width = 60 : 主表單_dgv.Columns(11).Width = 60 : 主表單_dgv.Columns(12).Width = 515 : 主表單_dgv.Columns(13).Visible = False
  17. 主表單_dgv.Columns(10).DefaultCellStyle.Format = "#,##0.00" : 主表單_dgv.Columns(11).DefaultCellStyle.Format = "#,##0.00"
  18. 主表單_dgv.Columns(10).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 主表單_dgv.Columns(11).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  19. 主表單_dgv.Columns(10).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight : 主表單_dgv.Columns(11).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  20. End Sub
  21. Private Sub ComboBox1下拉表單資料載入()
  22. SQL_客戶簡稱()
  23. 客戶簡稱_cb.Items.Clear() : While (dr.Read()) : 客戶簡稱_cb.Items.Add(dr("客戶簡稱")) : End While : conn.Close()
  24. End Sub
  25. Private Sub ComboBox2下拉表單資料載入()
  26. SQL_工廠控制表()
  27. 工廠_cb.Items.Clear() : While (dr.Read()) : 工廠_cb.Items.Add(dr("工廠")) : End While : conn.Close()
  28. End Sub
  29. Private Sub ComboBox3下拉表單資料載入()
  30. SQL_顏色清單()
  31. 顏色_cb.Items.Clear() : While (dr.Read()) : 顏色_cb.Items.Add(dr("顏色")) : End While : conn.Close()
  32. End Sub
  33. Private Sub ComboBox4下拉表單資料載入()
  34. SQL_型體控制表3()
  35. 形體號碼_cb.Items.Clear() : While (dr.Read()) : 形體號碼_cb.Items.Add(dr("型體號碼")) : End While : conn.Close()
  36. End Sub
  37. Private Sub ComboBox5下拉表單資料載入()
  38. SQL_型體控制表4()
  39. 形體名稱_cb.Items.Clear() : While (dr.Read()) : 形體名稱_cb.Items.Add(dr("型體名稱")) : End While : conn.Close()
  40. End Sub
  41. Private Sub Set_日期格式轉換()
  42. DTP1 = Format(日期_dtp.Value, "yyyy/MM/dd") : DTP2 = Format(日期2_dtp.Value, "yyyy/MM/dd")
  43. End Sub
  44. Private Sub 歷史單價紀錄表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  45. WINPROFIT_ERP_SYS.WindowState = 2 : Me.MdiParent = WINPROFIT_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  46. 資料編碼_tb.Enabled = False : 鞋圖編號_tb.Enabled = False : 新增存檔_bt.Enabled = False : 文字提醒_lb.Visible = False
  47. ComboBox1下拉表單資料載入() : ComboBox2下拉表單資料載入() : ComboBox3下拉表單資料載入()
  48. Set_清單()
  49. If CC(6) = False Then
  50. 一般新增_bt.Enabled = False : 複製新增_bt.Enabled = False : 修改_bt.Enabled = False
  51. End If
  52. If CC(7) = False Then
  53. 刪除_bt.Enabled = False
  54. End If
  55. If CC(8) = False Then
  56. 新增工廠清單_bt.Enabled = False : 新增顏色清單_bt.Enabled = False
  57. End If
  58. End Sub
  59. Private Sub 歷史單價紀錄表_Unload(sender As Object, e As EventArgs) Handles MyBase.Closing
  60. If 新增存檔_bt.Enabled = True Then
  61. SQL_刪除歷史單價紀錄表() : conn.Close()
  62. End If
  63. End Sub
  64. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
  65. If 文字提醒_lb.Visible = True Then : 文字提醒_lb.Visible = False : Else : 文字提醒_lb.Visible = True : End If
  66. End Sub
  67. Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 主表單_dgv.CellClick
  68. If e.RowIndex = -1 Then : Else
  69. If 新增存檔_bt.Enabled = False Then
  70. 資料編碼_tb.Text = 主表單_dgv(0, e.RowIndex).Value.ToString : 客戶簡稱_cb.Text = 主表單_dgv(1, e.RowIndex).Value.ToString : 客戶備註_tb.Text = 主表單_dgv(2, e.RowIndex).Value.ToString
  71. 日期_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
  72. 形體號碼_cb.Text = 主表單_dgv(6, e.RowIndex).Value.ToString : 形體名稱_cb.Text = 主表單_dgv(7, e.RowIndex).Value.ToString : 鞋面_tb.Text = 主表單_dgv(8, e.RowIndex).Value.ToString
  73. 顏色_cb.Text = 主表單_dgv(9, e.RowIndex).Value.ToString : 工廠價_tb.Text = 主表單_dgv(10, e.RowIndex).Value.ToString : 客戶價_tb.Text = 主表單_dgv(11, e.RowIndex).Value.ToString
  74. 備註_tb.Text = 主表單_dgv(12, e.RowIndex).Value.ToString : 鞋圖編號_tb.Text = 主表單_dgv(13, e.RowIndex).Value.ToString
  75. 工廠價_tb.Text = Format(Val(工廠價_tb.Text), "#,##0.00") : 客戶價_tb.Text = Format(Val(客戶價_tb.Text), "#,##0.00")
  76. PictureBox1.Image = Nothing
  77. PA = 主表單_dgv(1, e.RowIndex).Value.ToString : PA1 = 主表單_dgv(6, e.RowIndex).Value.ToString
  78. PA2 = 主表單_dgv(7, e.RowIndex).Value.ToString : PA3 = 主表單_dgv(9, e.RowIndex).Value.ToString
  79. SQL_鞋型圖片資料庫5()
  80. If dr.Read() Then
  81. PictureBox1.Image = Nothing
  82. SQL_鞋型圖片資料庫5()
  83. While dr.Read() = True
  84. Dim bytes As Byte() = New Byte(-1) {}
  85. bytes = DirectCast(dr.Item("圖片"), Byte())
  86. Dim oStream As New MemoryStream(bytes)
  87. PictureBox1.Image = Image.FromStream(oStream)
  88. End While
  89. conn.Close()
  90. Else
  91. PA4 = 主表單_dgv(1, e.RowIndex).Value.ToString : PA5 = 主表單_dgv(6, e.RowIndex).Value.ToString
  92. PA6 = 主表單_dgv(7, e.RowIndex).Value.ToString
  93. SQL_一筆鞋型圖片資料庫()
  94. If dr.Read() Then
  95. PictureBox1.Image = Nothing : SQL_一筆鞋型圖片資料庫()
  96. While dr.Read() = True
  97. Dim bytes As Byte() = New Byte(-1) {}
  98. bytes = DirectCast(dr.Item("圖片"), Byte())
  99. Dim oStream As New MemoryStream(bytes)
  100. PictureBox1.Image = Image.FromStream(oStream)
  101. End While
  102. conn.Close()
  103. Else
  104. conn.Close()
  105. End If
  106. End If : PictureBox1.SizeMode = 4
  107. End If
  108. End If
  109. End Sub
  110. Private Sub DataGridView1_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 主表單_dgv.RowPostPaint
  111. Dim linePen As New Pen(Color.Blue, 2)
  112. If e.RowIndex = 主表單_dgv.Rows.Count - 1 Then
  113. Exit Sub
  114. Else
  115. If 主表單_dgv(1, e.RowIndex).Value.ToString <> 主表單_dgv(1, e.RowIndex + 1).Value.ToString Then
  116. Dim startX As Integer = IIf(主表單_dgv.RowHeadersVisible, 主表單_dgv.RowHeadersWidth, 0)
  117. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  118. Dim endX As Integer = startX + 主表單_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 主表單_dgv.HorizontalScrollingOffset
  119. e.Graphics.DrawLine(linePen, startX, startY, endX, startY)
  120. Exit Sub
  121. End If
  122. End If
  123. End Sub
  124. Private Sub Button9_Click(sender As Object, e As EventArgs) Handles 搜尋_bt.Click
  125. PA = InputBox("請輸入要查詢的關鍵字") : Set_清單() : PA = ""
  126. End Sub
  127. Private Sub Button32_Click(sender As Object, e As EventArgs) Handles 返回_bt.Click
  128. PA = "" : Set_清單()
  129. End Sub
  130. Private Sub 新增準備1()
  131. Dim NUM1 As Integer
  132. SQL_最後一筆流水號3()
  133. If dr.Read() Then : 新流水號 = dr("流水號") : End If : conn.Close()
  134. NUM1 = Double.Parse(Strings.Right(新流水號, 6)) + 1
  135. If NUM1 < 10 Then : 新流水號 = "PR" & "00000" & NUM1
  136. ElseIf NUM1 > 9 And NUM1 < 100 Then : 新流水號 = "PR" & "0000" & NUM1
  137. ElseIf NUM1 > 99 And NUM1 < 1000 Then : 新流水號 = "PR" & "000" & NUM1
  138. ElseIf NUM1 > 999 And NUM1 < 10000 Then : 新流水號 = "PR" & "00" & NUM1
  139. ElseIf NUM1 > 9999 And NUM1 < 100000 Then : 新流水號 = "PR" & "0" & NUM1
  140. ElseIf NUM1 > 99999 Then : 新流水號 = "PR" & NUM1
  141. End If
  142. 資料編碼_tb.Text = 新流水號
  143. End Sub
  144. Private Sub 新增準備2()
  145. SQL_新增歷史單價紀錄表() : conn.Close()
  146. 新增存檔_bt.Enabled = True : 一般新增_bt.Enabled = False : 複製新增_bt.Enabled = False : 修改_bt.Enabled = False
  147. MsgBox("資料新增準備完成")
  148. End Sub
  149. Private Sub Button29_Click(sender As Object, e As EventArgs) Handles 一般新增_bt.Click
  150. Timer1.Enabled = True
  151. 新增準備1()
  152. ComboBox1下拉表單資料載入() : ComboBox2下拉表單資料載入() : ComboBox3下拉表單資料載入()
  153. 日期_dtp.Value = Today() : 日期2_dtp.Value = Today()
  154. 客戶備註_tb.Text = "" : 形體號碼_cb.Text = "" : 形體名稱_cb.Text = "" : 鞋面_tb.Text = "" : 工廠價_tb.Text = "0.00" : 客戶價_tb.Text = "0.00" : 備註_tb.Text = "" : 鞋圖編號_tb.Text = ""
  155. Set_日期格式轉換()
  156. 新增準備2()
  157. End Sub
  158. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 複製新增_bt.Click
  159. Timer1.Enabled = True
  160. If 形體號碼_cb.Text = "" Or 形體名稱_cb.Text = "" Or 鞋面_tb.Text = "" Or 客戶簡稱_cb.Text = "" Or 工廠_cb.Text = "" Or 顏色_cb.Text = "" Then
  161. MsgBox("複製新增方式需要先選擇一筆被複製的舊資料")
  162. Else
  163. 新增準備1() : Set_日期格式轉換() : 新增準備2()
  164. End If
  165. End Sub
  166. Private Sub 修改1()
  167. If 形體號碼_cb.Text = "" Or 形體名稱_cb.Text = "" Or 鞋面_tb.Text = "" Or 客戶簡稱_cb.Text = "" Or 工廠_cb.Text = "" Or 顏色_cb.Text = "" Then
  168. MsgBox("紅色字體的資料欄位為必填項,不可空白")
  169. Else
  170. Set_日期格式轉換()
  171. SQL_更改歷史單價紀錄表() : conn.Close()
  172. 新增存檔_bt.Enabled = False : 一般新增_bt.Enabled = True : 複製新增_bt.Enabled = True : 修改_bt.Enabled = True
  173. MsgBox("存檔完成") : Set_清單()
  174. End If
  175. Timer1.Enabled = False : 文字提醒_lb.Visible = False
  176. End Sub
  177. Private Sub Button11_Click(sender As Object, e As EventArgs) Handles 新增存檔_bt.Click
  178. 修改1()
  179. End Sub
  180. Private Sub Button12_Click(sender As Object, e As EventArgs) Handles 修改_bt.Click
  181. 修改1()
  182. End Sub
  183. Private Sub Button10_Click(sender As Object, e As EventArgs) Handles 刪除_bt.Click
  184. Dim aa As MsgBoxResult
  185. aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel)
  186. If aa = MsgBoxResult.Ok Then
  187. SQL_刪除歷史單價紀錄表1() : conn.Close()
  188. MsgBox("刪除完成") : Set_清單()
  189. End If
  190. End Sub
  191. Private Sub Button28_Click(sender As Object, e As EventArgs) Handles 列印篩選_bt.Click
  192. MsgBox("等待開發")
  193. End Sub
  194. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles 新增工廠清單_bt.Click
  195. 清單修改.Close() : 工廠清單修改 = True : 清單修改.ShowDialog() : ComboBox2下拉表單資料載入() : 工廠清單修改 = False
  196. End Sub
  197. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles 新增顏色清單_bt.Click
  198. 清單修改.Close() : 顏色清單修改 = True : 清單修改.ShowDialog() : ComboBox3下拉表單資料載入() : 顏色清單修改 = False
  199. End Sub
  200. Private Sub ComboBox4_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 形體號碼_cb.SelectedIndexChanged
  201. ComboBox5下拉表單資料載入()
  202. End Sub
  203. Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 客戶簡稱_cb.SelectedIndexChanged
  204. ComboBox4下拉表單資料載入()
  205. End Sub
  206. Private Sub 主表單_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 主表單_dgv.MouseUp
  207. If 主表單_dgv.SelectedCells.Count = 1 Then
  208. 已超出 = False
  209. End If
  210. If 主表單_dgv.SelectedCells.Count > 0 Then
  211. '設定滑鼠點擊DGV時候的範圍,超出範圍時有可能不是數字所以不計算
  212. If 主表單_dgv.SelectedCells(0).ColumnIndex >= 10 And 主表單_dgv.SelectedCells(0).ColumnIndex <= 11 Then
  213. If 已超出 = False Then
  214. Dim x As Double = 0
  215. For i As Integer = 0 To 主表單_dgv.SelectedCells.Count - 1
  216. '主表單_dgv.SelectedCells.Item(i).ColumnIndex + 8 是因為該DGV顯示項與計算像剛好差8格,使用時要注意可直接計算的不需要加數字。
  217. x += Val(主表單_dgv.Rows(主表單_dgv.SelectedCells.Item(i).RowIndex).Cells(主表單_dgv.SelectedCells.Item(i).ColumnIndex).Value)
  218. Next i
  219. '將計算好的資料放置到指定的控件中
  220. 加總_tb.Text = Strings.Format(x, "#,##0.00")
  221. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(x, "#,##0.00")
  222. Else
  223. 加總_tb.Text = Strings.Format(0, "#,##0.00")
  224. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0.00")
  225. End If
  226. Else
  227. 已超出 = True
  228. 加總_tb.Text = Strings.Format(0, "#,##0.00")
  229. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0.00")
  230. End If
  231. End If
  232. End Sub
  233. End Class