Sin descripción
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.

Frm_CHEM_OUT.vb 7.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. Imports System.Data.SqlClient
  2. Public Class Frm_CHEM_OUT
  3. Dim cmd As New SqlCommand
  4. Dim da As New SqlDataAdapter
  5. Dim dt As New DataTable
  6. Dim sql As String
  7. Private Sub Frm_CHEM_OUT_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  8. Dim conn As New SqlConnection
  9. ' connstring = "Data Source=127.0.0.1;Persist Security Info=True;User ID=sa;Password=Lafayette11;Initial Catalog=maindb_hy2014"
  10. conn.ConnectionString = connstring
  11. conn.Open()
  12. Dim DT1 As New DataTable
  13. cmd.Connection = conn
  14. sql = "SELECT YEAR(DATE) AS 年, MONTH(DATE) AS 月, NAME AS 化料品名, CAST(SUM(WEIGHT) AS NUMERIC(10, 0)) AS 用量kg, COUNT(*) AS 笔数, CAST(SUM(WEIGHT) / SUM(ORDER_A) * 100 AS NUMERIC(10, 1)) AS 百分比 FROM RT_SYS_CHEM_OUT WHERE MONTH(DATE)=5 and order_a<>0 GROUP BY YEAR(DATE), MONTH(DATE), NAME "
  15. cmd.CommandText = Sql
  16. da.SelectCommand = cmd
  17. da.Fill(dt)
  18. DGV1.DataSource = dt
  19. sql = "SELECT RT_SYS_CHEM_OUT.DATE AS 日期, RT_SYS_CHEM_OUT.NO AS 领料单号, RT_SYS_CHEM_OUT.CARD AS 卡号, " &
  20. " RT_RETAN_RECORD.S_CARD AS 简约卡号, RT_RETAN_RECORD_D.CUST AS 客户, " &
  21. " RT_RETAN_RECORD_D.COLOR AS 颜色, RT_RETAN_RECORD.THICKNESS AS 厚度, " &
  22. " AVG(RT_SYS_CHEM_OUT.ORDER_A) AS 蓝皮重量, CAST(SUM(RT_SYS_CHEM_OUT.WEIGHT) AS numeric(10, 0)) " &
  23. " AS 化料用量, CAST(SUM(RT_SYS_CHEM_OUT.WEIGHT) / AVG(RT_SYS_CHEM_OUT.ORDER_A) * 100 AS numeric(10, " &
  24. " 1)) AS 用量百分比, RT_RETAN_RECORD.TECH AS 技衔员, RT_RETAN_RECORD.SOURCE AS 皮源, " &
  25. " RT_RETAN_RECORD_D.TYPE AS 染色类别, RT_RETAN_RECORD_D.CLASS AS 分类 " &
  26. " FROM RT_RETAN_RECORD INNER JOIN " &
  27. " RT_RETAN_RECORD_D ON RT_RETAN_RECORD.S_CARD = RT_RETAN_RECORD_D.s_card RIGHT OUTER JOIN " &
  28. " RT_SYS_CHEM_OUT ON RT_RETAN_RECORD.CARD = RT_SYS_CHEM_OUT.CARD " &
  29. " WHERE (RT_SYS_CHEM_OUT.CARD <> '') " &
  30. " GROUP BY RT_SYS_CHEM_OUT.CARD, RT_SYS_CHEM_OUT.NO, RT_RETAN_RECORD.SOURCE, " &
  31. " RT_RETAN_RECORD.WB_WEIGHT, RT_RETAN_RECORD.S_CARD, RT_RETAN_RECORD_D.TYPE, " &
  32. " RT_RETAN_RECORD_D.CLASS, RT_RETAN_RECORD.THICKNESS, RT_RETAN_RECORD_D.CUST, " &
  33. " RT_RETAN_RECORD_D.COLOR, RT_SYS_CHEM_OUT.DATE, RT_RETAN_RECORD.TECH " &
  34. " ORDER BY 卡号"
  35. 'sql = "SELECT name, SUM(weight) AS Expr1, COUNT(*) AS Expr2, price FROM RT_CHEM_STOCK_MONTH GROUP BY name, price order by name"
  36. cmd.CommandText = sql
  37. da.SelectCommand = cmd
  38. da.Fill(DT1)
  39. DGV2.DataSource = DT1
  40. set_grid()
  41. DGV1.SelectionMode = DataGridViewSelectionMode.FullRowSelect
  42. DGV2.SelectionMode = DataGridViewSelectionMode.FullRowSelect
  43. DGV3.SelectionMode = DataGridViewSelectionMode.FullRowSelect
  44. DGV4.SelectionMode = DataGridViewSelectionMode.FullRowSelect
  45. End Sub
  46. Private Sub set_grid()
  47. DGV2.Columns(0).Width = 100
  48. DGV2.Columns(1).Width = 100
  49. DGV2.Columns(2).Width = 120
  50. DGV2.Columns(3).Width = 90
  51. 'DGV2.Columns(4).Width = 68
  52. 'DGV2.Columns(5).Width = 80
  53. 'DGV2.Columns(6).Width = 65
  54. 'DGV2.Columns(7).Width = 65
  55. 'DGV2.Columns(8).Width = 65
  56. 'DGV2.Columns(9).Width = 65
  57. 'DGV2.Columns(10).Width = 53
  58. 'DGV2.Columns(11).Width = 100
  59. 'DGV2.Columns(12).Width = 80
  60. 'DGV2.Columns(13).Width = 80
  61. End Sub
  62. Private Sub DGV2_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DGV2.CellClick
  63. Dim DT As New DataTable
  64. sql = "SELECT name as 品名,weight as 重量, order_a as 蓝皮重, cast(weight/order_a*100 as numeric(10,1)) as 比例 FROM RT_SYS_CHEM_OUT WHERE NO='" & DGV2.Rows(DGV2.CurrentRow.Index).Cells("领料单号").Value & "'"
  65. cmd.CommandText = sql
  66. da.SelectCommand = cmd
  67. da.Fill(DT)
  68. DGV3.DataSource = DT
  69. End Sub
  70. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button2.Click
  71. Dim dr As SqlDataReader
  72. Dim DT As New DataTable
  73. sql = "select * from rt_sys_chem_main"
  74. cmd.CommandText = sql
  75. dr = cmd.ExecuteReader
  76. Dim conn1 As New SqlConnection
  77. connstring = "Data Source=127.0.0.1;Persist Security Info=True;User ID=sa;Password=Lafayette11;Initial Catalog=maindb_hy2014"
  78. conn1.ConnectionString = connstring
  79. conn1.Open()
  80. Dim cmd1 As New SqlCommand With {
  81. .Connection = conn1
  82. }
  83. While dr.Read
  84. ' sql = "select * from rt_chem_stock_month where name like '%" dr.item("name").value & "'"
  85. End While
  86. dr.Close()
  87. da.SelectCommand = cmd
  88. da.Fill(DT)
  89. DGV1.DataSource = DT
  90. End Sub
  91. Private Sub DGV1_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DGV1.CellClick
  92. End Sub
  93. Private Sub DGV4_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DGV4.CellContentClick
  94. End Sub
  95. Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
  96. Dim dt As New DataTable
  97. sql = "SELECT YEAR(DATE) AS 年, MONTH(DATE) AS 月, NAME AS 化料品名, CAST(SUM(WEIGHT) AS NUMERIC(10, 0)) AS 用量kg, COUNT(*) AS 笔数, CAST(SUM(WEIGHT) / SUM(ORDER_A) * 100 AS NUMERIC(10, 1)) AS 百分比 FROM RT_SYS_CHEM_OUT Where name Like N'%" & TextBox1.Text & "%' GROUP BY YEAR(DATE), MONTH(DATE), NAME "
  98. cmd.CommandText = sql
  99. da.SelectCommand = cmd
  100. da.Fill(dt)
  101. DGV1.DataSource = dt
  102. End Sub
  103. Private Sub DGV1_CellMouseUp(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DGV1.CellMouseUp
  104. Dim p() As String
  105. p = Split(DGV1.Rows(DGV1.CurrentRow.Index).Cells("化料品名").Value, " ")
  106. Dim DT As New DataTable
  107. sql = "Select Year(Date) As 年, MONTH(Date) As 月, NAME As 化料品名, CAST(SUM(WEIGHT) As NUMERIC(10, 0)) As 用量kg,COUNT(*) As 笔数, CAST(SUM(WEIGHT) / SUM(ORDER_A) * 100 As NUMERIC(10, 1)) As 百分比 From RT_SYS_CHEM_OUT Where Name Like N'%" & DGV1.Rows(DGV1.CurrentRow.Index).Cells("化料品名").Value & "%' Group By YEAR(Date), MONTH(Date), Name Order By 化料品名, 年, 月"
  108. cmd.CommandText = sql
  109. da.SelectCommand = cmd
  110. da.Fill(DT)
  111. DGV4.DataSource = DT
  112. Dim DT1 As New DataTable
  113. sql = "SELECT DATE AS 日期, NAME AS 品名, QTY AS 數量, PRICE AS 單價, CAST(PRICE / 6.7 AS NUMERIC(10, 2)) AS 折美金 FROM RT_CHEM_IN_PRICE WHERE (NAME LIKE N'%" & DGV1.Rows(DGV1.CurrentRow.Index).Cells("化料品名").Value & "%') ORDER BY DATE DESC"
  114. cmd.CommandText = sql
  115. da.SelectCommand = cmd
  116. da.Fill(DT1)
  117. dgv5.DataSource = DT1
  118. da.Update(DT1)
  119. dgv5.EditMode = DataGridViewEditMode.EditOnEnter
  120. End Sub
  121. End Class