설명 없음
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 10KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. Option Strict Off
  2. Public Class 服務項目成本建檔
  3. ReadOnly ds As New DataSet
  4. Private Sub DGV1讀取前設定()
  5. DataGridView1.DataSource = Nothing : ds.Clear()
  6. DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  7. DataGridView1.ColumnHeadersHeight = 25
  8. DataGridView1.AllowUserToAddRows = False
  9. ConnOpen()
  10. End Sub
  11. Private Sub DGV1讀取後設定()
  12. CmdSet_For_DGV() : da.Fill(ds) : DataGridView1.DataSource = ds.Tables(0) : conn.Close()
  13. End Sub
  14. Private Sub 讀取庫存資料表()
  15. If PA = "" Then
  16. DGV1讀取前設定()
  17. If CheckBox1.Checked = False Then
  18. SQL1 = "SELECT 流水號, 科目, 類別, 服務內容, 台幣成本, 台幣費用, 人民幣成本, 人民幣費用, 備註 FROM 服務內容成本紀錄表 " &
  19. "WHERE (備註 NOT LIKE '統旺科技') ORDER BY 流水號 DESC"
  20. Else
  21. SQL1 = "SELECT 流水號, 科目, 類別, 服務內容, 台幣成本, 台幣費用, 人民幣成本, 人民幣費用, 備註 FROM 服務內容成本紀錄表 ORDER BY 流水號 DESC"
  22. End If
  23. 列印用SQL1 = SQL1 : DGV1讀取後設定()
  24. Else
  25. DGV1讀取前設定()
  26. If CheckBox1.Checked = False Then
  27. SQL1 = "SELECT 流水號, 科目, 類別, 服務內容, 台幣成本, 台幣費用, 人民幣成本, 人民幣費用, 備註 FROM 服務內容成本紀錄表 " &
  28. "WHERE ((流水號 LIKE '%" & PA & "%') OR (科目 LIKE '%" & PA & "%') OR (類別 LIKE '%" & PA & "%') OR (服務內容 LIKE '%" & PA & "%')) " &
  29. "AND (備註 NOT LIKE '統旺科技') ORDER BY 流水號 DESC"
  30. Else
  31. SQL1 = "SELECT 流水號, 科目, 類別, 服務內容, 台幣成本, 台幣費用, 人民幣成本, 人民幣費用, 備註 FROM 服務內容成本紀錄表 " &
  32. "WHERE (流水號 LIKE '%" & PA & "%') OR (科目 LIKE '%" & PA & "%') OR (類別 LIKE '%" & PA & "%') OR (服務內容 LIKE '%" & PA & "%') " &
  33. "ORDER BY 流水號 DESC"
  34. End If
  35. 列印用SQL1 = SQL1 : DGV1讀取後設定()
  36. End If
  37. End Sub
  38. Private Sub Set_grid1()
  39. DataGridView1.Columns(0).Width = 70 : DataGridView1.Columns(1).Width = 110 : DataGridView1.Columns(2).Width = 110
  40. DataGridView1.Columns(3).Width = 300 : DataGridView1.Columns(4).Width = 90 : DataGridView1.Columns(5).Width = 90
  41. DataGridView1.Columns(6).Width = 90 : DataGridView1.Columns(7).Width = 90 : DataGridView1.Columns(8).Width = 350
  42. DataGridView1.Columns(4).DefaultCellStyle.Format = "#,##0.00" : DataGridView1.Columns(5).DefaultCellStyle.Format = "#,##0.00"
  43. DataGridView1.Columns(6).DefaultCellStyle.Format = "#,##0.00" : DataGridView1.Columns(7).DefaultCellStyle.Format = "#,##0.00"
  44. End Sub
  45. Private Sub 下拉表單資料載入()
  46. If ComboBox3.Text = "" Or ComboBox3.Text = "-請選擇-" Then
  47. ComboBox3.Text = "-請選擇-"
  48. ConnOpen()
  49. SQL1 = "SELECT 類別 FROM 服務內容成本紀錄表 GROUP BY 類別"
  50. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  51. ComboBox4.Items.Clear()
  52. While (dr.Read())
  53. ComboBox4.Items.Add(dr("類別"))
  54. End While
  55. conn.Close()
  56. Else
  57. ConnOpen()
  58. SQL1 = "SELECT 類型 FROM 機構成本科目類型表 WHERE (科目 ='" & ComboBox3.Text & "') GROUP BY 類型"
  59. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  60. ComboBox4.Items.Clear()
  61. While (dr.Read())
  62. ComboBox4.Items.Add(dr("類型"))
  63. End While
  64. conn.Close()
  65. End If
  66. End Sub
  67. Private Sub 格式設定()
  68. TextBox3.Enabled = False : TextBox4.Enabled = False
  69. End Sub
  70. Private Sub 服務項目成本建檔_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  71. Me.MdiParent = GCM_ERP_SYS : Me.WindowState = 2
  72. ComboBox3.Items.AddRange(科目清單) : 讀取庫存資料表() : Set_grid1() : 下拉表單資料載入() : 格式設定()
  73. ConnOpen()
  74. SQL1 = "SELECT 匯率 FROM 匯率表 WHERE (對應 = '人民幣兌台幣')"
  75. CmdSet_For_dr()
  76. If dr.Read() Then : TextBox9.Text = dr("匯率").ToString : End If
  77. ER = Double.Parse(dr("匯率").ToString)
  78. conn.Close() : dr.Close()
  79. End Sub
  80. Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove
  81. timeNow = 0
  82. GCM_ERP_SYS.Timer1.Enabled = False
  83. GCM_ERP_SYS.Timer1.Enabled = True
  84. End Sub
  85. Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress
  86. timeNow = 0
  87. GCM_ERP_SYS.Timer1.Enabled = False
  88. GCM_ERP_SYS.Timer1.Enabled = True
  89. End Sub
  90. Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
  91. If e.RowIndex = -1 Then : Else
  92. TextBox1.Text = DataGridView1(0, e.RowIndex).Value.ToString : ComboBox3.Text = DataGridView1(1, e.RowIndex).Value.ToString
  93. ComboBox4.Text = DataGridView1(2, e.RowIndex).Value.ToString : TextBox2.Text = DataGridView1(3, e.RowIndex).Value.ToString
  94. TextBox4.Text = Format(Val(DataGridView1(4, e.RowIndex).Value.ToString), "#,##0.00")
  95. TextBox3.Text = Format(Val(DataGridView1(5, e.RowIndex).Value.ToString), "#,##0.00")
  96. TextBox5.Text = Format(Val(DataGridView1(6, e.RowIndex).Value.ToString), "#,##0.00")
  97. TextBox6.Text = Format(Val(DataGridView1(7, e.RowIndex).Value.ToString), "#,##0.00")
  98. TextBox7.Text = DataGridView1(8, e.RowIndex).Value.ToString
  99. End If
  100. End Sub
  101. Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
  102. PA = InputBox("請輸入要查詢的資料")
  103. 讀取庫存資料表() : Set_grid1()
  104. PA = ""
  105. End Sub
  106. Private Sub ComboBox3_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox3.TextChanged
  107. 下拉表單資料載入()
  108. End Sub
  109. Private Sub TextBox5_TextChanged(sender As Object, e As EventArgs) Handles TextBox5.TextChanged
  110. If IsNumeric(TextBox5.Text) = True And IsNumeric(TextBox9.Text) = True Then
  111. TextBox4.Text = Format(Val(CStr(Math.Round((Double.Parse(TextBox5.Text) * Double.Parse(TextBox9.Text)), 2))), "#,##0.00")
  112. Else
  113. TextBox4.Text = "0.00"
  114. End If
  115. End Sub
  116. Private Sub TextBox6_TextChanged(sender As Object, e As EventArgs) Handles TextBox6.TextChanged
  117. If IsNumeric(TextBox6.Text) = True And IsNumeric(TextBox9.Text) = True Then
  118. TextBox3.Text = Format(Val(CStr(Math.Round((Double.Parse(TextBox6.Text) * Double.Parse(TextBox9.Text)), 2))), "#,##0.00")
  119. Else
  120. TextBox3.Text = "0.00"
  121. End If
  122. End Sub
  123. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  124. If ComboBox3.Text = "" Or ComboBox4.Text = "" Or ComboBox3.Text = "-請選擇-" Or TextBox2.Text = "" Or TextBox3.Text = "" Or
  125. TextBox4.Text = "" Or TextBox5.Text = "" Or TextBox6.Text = "" Then
  126. MsgBox("科目或類型欄位不可空白")
  127. Else
  128. ConnOpen()
  129. SQL1 = "SELECT TOP (1) 流水號 FROM 服務內容成本紀錄表 ORDER BY 流水號 DESC"
  130. CmdSet_For_dr()
  131. If dr.Read() Then : TextBox1.Text = dr("流水號").ToString : Else : TextBox1.Text = "" : End If
  132. conn.Close()
  133. Dim NUM1 As Integer
  134. NUM1 = Strings.Right(TextBox1.Text, 5) + 1
  135. If NUM1 < 10 Then : TextBox1.Text = "SV" & "0000" & NUM1
  136. ElseIf NUM1 > 9 And NUM1 < 100 Then : TextBox1.Text = "SV" & "000" & NUM1
  137. ElseIf NUM1 > 99 And NUM1 < 1000 Then : TextBox1.Text = "SV" & "00" & NUM1
  138. ElseIf NUM1 > 999 And NUM1 < 10000 Then : TextBox1.Text = "SV" & "0" & NUM1
  139. ElseIf NUM1 > 9999 Then : TextBox1.Text = "SV" & NUM1
  140. End If
  141. ConnOpen()
  142. SQL1 = "INSERT INTO 服務內容成本紀錄表 (流水號, 科目, 類別, 服務內容, 台幣成本, 台幣費用, 人民幣成本, 人民幣費用, 備註) VALUES ('" & TextBox1.Text &
  143. "','" & ComboBox3.Text & "','" & ComboBox4.Text & "','" & TextBox2.Text & "','" & TextBox4.Text & "','" & TextBox3.Text & "','" & TextBox5.Text &
  144. "','" & TextBox6.Text & "','" & TextBox7.Text & "')"
  145. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery()
  146. MsgBox("新增完成")
  147. conn.Close()
  148. End If
  149. 讀取庫存資料表() : Set_grid1()
  150. End Sub
  151. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
  152. If IsNumeric(TextBox5.Text) = True And IsNumeric(TextBox6.Text) = True Then
  153. ConnOpen()
  154. SQL1 = "UPDATE 服務內容成本紀錄表 SET 科目 = '" & ComboBox3.Text & "', 類別 = '" & ComboBox4.Text & "', 服務內容 = '" & TextBox2.Text & "', 台幣成本 = '" & TextBox4.Text &
  155. "', 台幣費用 = '" & TextBox3.Text & "', 人民幣成本 = '" & TextBox5.Text & "', 人民幣費用 = '" & TextBox6.Text & "', 備註 = '" & TextBox7.Text &
  156. "' WHERE (流水號 = '" & TextBox1.Text & "')"
  157. cmd.CommandText = SQL1 : cmd.ExecuteNonQuery()
  158. MsgBox("修改完成")
  159. conn.Close()
  160. Else
  161. MsgBox("成本資料非數字")
  162. End If
  163. 讀取庫存資料表() : Set_grid1()
  164. End Sub
  165. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
  166. SQL1 = "DELETE FROM 服務內容成本紀錄表 WHERE (流水號 = '" & TextBox1.Text & "')"
  167. cmd.CommandText = SQL : cmd.Connection = conn
  168. ConnOpen()
  169. Dim aa As MsgBoxResult
  170. aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel)
  171. If aa = MsgBoxResult.Ok Then : cmd.ExecuteNonQuery() : MsgBox("刪除完成") : End If
  172. conn.Close()
  173. 讀取庫存資料表() : Set_grid1()
  174. End Sub
  175. End Class