暫無描述
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 7.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. Option Strict Off
  2. Public Class 人員行政物料領用記錄表
  3. Private ReadOnly ds, ds1 As New DataSet
  4. Dim KKK3, KKK4 As String
  5. Dim 已超出 As Boolean
  6. Private Sub Set_人員清單()
  7. 人員_dgv.DataSource = Nothing : ds1.Clear()
  8. 人員_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  9. 人員_dgv.ColumnHeadersHeight = 25
  10. 人員_dgv.AllowUserToAddRows = False
  11. SQL_人員清單()
  12. da.Fill(ds1) : 人員_dgv.DataSource = ds1.Tables(0) : conn.Close()
  13. 人員_dgv.Columns(0).Visible = False : 人員_dgv.Columns(1).FillWeight = 150 : 人員_dgv.Columns(2).Visible = False : 人員_dgv.Columns(3).Visible = False
  14. 人員_dgv.Columns(4).Visible = False
  15. End Sub
  16. Private Sub Set_清單()
  17. 明細_dgv.DataSource = Nothing : ds.Clear()
  18. 明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  19. 明細_dgv.ColumnHeadersHeight = 25
  20. 明細_dgv.AllowUserToAddRows = False
  21. SQL_人員行政物料領用紀錄表()
  22. da.Fill(ds) : 明細_dgv.DataSource = ds.Tables(0) : conn.Close()
  23. 明細_dgv.Columns(0).FillWeight = 150 : 明細_dgv.Columns(1).FillWeight = 150 : 明細_dgv.Columns(2).FillWeight = 150 : 明細_dgv.Columns(3).FillWeight = 934
  24. 明細_dgv.Columns(4).FillWeight = 150 : 明細_dgv.Columns(5).FillWeight = 150
  25. 明細_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  26. End Sub
  27. Private Sub ComboBox1下拉表單資料載入()
  28. SQL_年份清單()
  29. 查詢月份_cb.Items.Clear()
  30. While (dr.Read()) : 查詢月份_cb.Items.Add(dr("年份")) : End While : conn.Close()
  31. End Sub
  32. Private Sub ComboBox3下拉表單資料載入()
  33. SQL_人員行政物料表()
  34. 選擇行政物料_cb.Items.Clear()
  35. While (dr.Read()) : 選擇行政物料_cb.Items.Add(dr("行政物料")) : End While : conn.Close()
  36. End Sub
  37. Private Sub Set_日期格式轉換()
  38. DTP = Format(Today(), "yyyy/MM/dd")
  39. End Sub
  40. Private Sub 人員行政物料領用記錄表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  41. Me.MdiParent = WINPROFIT_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  42. ComboBox1下拉表單資料載入() : ComboBox3下拉表單資料載入()
  43. Set_人員清單()
  44. 查詢月份_cb.Text = Year(Today) : 查詢月份1_cb.SelectedIndex = Month(Today) - 1
  45. KKKJJ3 = "AND (日期 LIKE N'" & KKK3 & "/" & KKK4 & "%') "
  46. 明細_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  47. 人員_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  48. End Sub
  49. Private Sub DataGridView2_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 人員_dgv.CellClick
  50. If e.RowIndex = -1 Then : Else
  51. XXCC = 人員_dgv.Rows(e.RowIndex).Cells("姓名").Value
  52. KKKJJ3 = "AND (日期 LIKE N'" & KKK3 & "/" & KKK4 & "%') "
  53. Set_清單()
  54. End If
  55. End Sub
  56. Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 明細_dgv.CellClick
  57. If e.RowIndex = -1 Then : Else
  58. 選擇資料流水號_tb.Text = 明細_dgv.Rows(e.RowIndex).Cells("流水號").Value
  59. End If
  60. End Sub
  61. Private Sub Button6_Click(sender As Object, e As EventArgs) Handles 新增_bt.Click
  62. If 選擇行政物料_cb.Text = "" Or XXCC = "" Then
  63. MsgBox("沒有選擇物料或人員")
  64. Else
  65. SQL_查詢最後一筆流水號()
  66. If dr.Read() Then : 編號 = dr("流水號").ToString : Else : 編號 = "MR00000000" : End If
  67. conn.Close()
  68. Dim NUM1 As Integer
  69. NUM1 = Double.Parse(Strings.Right(編號, 8)) + 1
  70. If NUM1 < 10 Then : 編號 = "MR" & "0000000" & NUM1
  71. ElseIf NUM1 > 9 And NUM1 < 100 Then : 編號 = "MR" & "000000" & NUM1
  72. ElseIf NUM1 > 99 And NUM1 < 1000 Then : 編號 = "MR" & "00000" & NUM1
  73. ElseIf NUM1 > 999 And NUM1 < 10000 Then : 編號 = "MR" & "0000" & NUM1
  74. ElseIf NUM1 > 9999 And NUM1 < 100000 Then : 編號 = "MR" & "000" & NUM1
  75. ElseIf NUM1 > 99999 And NUM1 < 100000 Then : 編號 = "MR" & "00" & NUM1
  76. ElseIf NUM1 > 999999 And NUM1 < 1000000 Then : 編號 = "MR" & "0" & NUM1
  77. ElseIf NUM1 > 9999999 Then : 編號 = "MR" & NUM1
  78. End If
  79. Set_日期格式轉換()
  80. SQL_新增人員行政物料領用紀錄表()
  81. conn.Close()
  82. Set_清單()
  83. End If
  84. End Sub
  85. Private Sub Button15_Click(sender As Object, e As EventArgs) Handles 刪除_bt.Click
  86. Dim aa As MsgBoxResult
  87. aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel)
  88. If aa = MsgBoxResult.Ok Then
  89. SQL_刪除人員行政物料領用紀錄表()
  90. conn.Close() : dr.Close()
  91. MsgBox("刪除完成") : Set_清單()
  92. End If
  93. End Sub
  94. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 存檔_bt.Click
  95. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  96. 資料數 = 明細_dgv.Rows.Count : MyModule1.進度條()
  97. PA = 明細_dgv.Rows(i).Cells("數量").Value : PA1 = 明細_dgv.Rows(i).Cells("單位").Value
  98. PA2 = 明細_dgv.Rows(i).Cells("流水號").Value
  99. SQL_更改人員行政物料領用紀錄表()
  100. conn.Close() : dr.Close()
  101. Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  102. MsgBox("存檔完成")
  103. End Sub
  104. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 新增物料清單_bt.Click
  105. 清單修改.Close() : 行政物料 = True : 清單修改.ShowDialog() : ComboBox3下拉表單資料載入() : 行政物料 = False
  106. End Sub
  107. Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 查詢月份_cb.SelectedIndexChanged
  108. KKK3 = 查詢月份_cb.Text
  109. KKKJJ3 = "AND (日期 LIKE N'" & KKK3 & "/" & KKK4 & "%') "
  110. End Sub
  111. Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 查詢月份1_cb.SelectedIndexChanged
  112. KKK4 = 查詢月份1_cb.Text
  113. KKKJJ3 = "AND (日期 LIKE N'" & KKK3 & "/" & KKK4 & "%') "
  114. End Sub
  115. Private Sub 明細_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 明細_dgv.MouseUp
  116. If 明細_dgv.SelectedCells.Count = 1 Then
  117. 已超出 = False
  118. End If
  119. If 明細_dgv.SelectedCells.Count > 0 Then
  120. '設定滑鼠點擊DGV時候的範圍,超出範圍時有可能不是數字所以不計算
  121. If 明細_dgv.SelectedCells(0).ColumnIndex = 4 Then
  122. If 已超出 = False Then
  123. Dim x As Double = 0
  124. For i As Integer = 0 To 明細_dgv.SelectedCells.Count - 1
  125. '明細_dgv.SelectedCells.Item(i).ColumnIndex + 8 是因為該DGV顯示項與計算像剛好差8格,使用時要注意可直接計算的不需要加數字。
  126. x += Val(明細_dgv.Rows(明細_dgv.SelectedCells.Item(i).RowIndex).Cells(明細_dgv.SelectedCells.Item(i).ColumnIndex).Value)
  127. Next i
  128. '將計算好的資料放置到指定的控件中
  129. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(x, "#,##0")
  130. Else
  131. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0")
  132. End If
  133. Else
  134. 已超出 = True
  135. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0")
  136. End If
  137. End If
  138. End Sub
  139. End Class