Ingen beskrivning
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_STOCK_SUM.vb 3.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. Imports System.Data.SqlClient
  2. Imports System.Reflection
  3. Public Class Frm_STOCK_SUM
  4. Dim cmd As New SqlCommand
  5. Dim da As New SqlDataAdapter
  6. Dim dt As New DataTable
  7. Dim sql As String
  8. Dim g_period As Date
  9. Dim g_accounted As Boolean
  10. Dim period As Integer
  11. Private Sub Frm_STOCK_SUM_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  12. Dim type As Type = DGV1.GetType()
  13. Dim pi As PropertyInfo = type.GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic)
  14. pi.SetValue(DGV1, True, Nothing)
  15. Dim conn As New SqlConnection
  16. Dim DT1 As New DataTable
  17. Dim DT2 As New DataTable
  18. Dim DT3 As New DataTable
  19. conn.ConnectionString = connstring
  20. conn.Open()
  21. cmd.Connection = conn
  22. sql = "SELECT * FROM (SELECT CARD,COLOR,TECH,[6] AS [6月],[7] AS [7月],[8] AS [8月],[9] AS [9月],[10] AS [10月],[11] AS [11月],[12] AS [12月] FROM (SELECT MONTH(DATE) AS 月份,CARD,COLOR,TECH,CAST(WET AS NUMERIC(10,0)) as wb_weight FROM RT_MONTH_TM ) AS P
  23. PIVOT (sum(wb_weight) FOR 月份 IN ([6],[7],[8],[9],[10],[11],[12])) AS q ) AS R WHERE [12月] IS NOT NULL AND [11月] IS NOT NULL"
  24. cmd.CommandText = sql
  25. da.SelectCommand = cmd
  26. da.Fill(dt)
  27. dt.Columns.Add("2个月未动")
  28. dt.Columns.Add("3个月未动")
  29. dt.Columns.Add("4个月未动")
  30. dt.Columns.Add("5个月未动")
  31. dt.Columns.Add("6个月未动")
  32. For X As Integer = 0 To dt.Rows.Count - 1
  33. If dt.Rows(X).Item("12月").ToString = "" Then dt.Rows(X).Item("12月") = 0
  34. If dt.Rows(X).Item("11月").ToString = "" Then dt.Rows(X).Item("11月") = 0
  35. If dt.Rows(X).Item("10月").ToString = "" Then dt.Rows(X).Item("10月") = 0
  36. If dt.Rows(X).Item("9月").ToString = "" Then dt.Rows(X).Item("9月") = 0
  37. If dt.Rows(X).Item("8月").ToString = "" Then dt.Rows(X).Item("8月") = 0
  38. If dt.Rows(X).Item("7月").ToString = "" Then dt.Rows(X).Item("7月") = 0
  39. If dt.Rows(X).Item("6月").ToString = "" Then dt.Rows(X).Item("6月") = 0
  40. Next
  41. For X As Integer = 0 To dt.Rows.Count - 1
  42. If Val(dt.Rows(X).Item("12月")) = Val(dt.Rows(X).Item("11月")) Then
  43. dt.Rows(X).Item("2个月未动") = 1
  44. End If
  45. If Val(dt.Rows(X).Item("12月")) = (Val(dt.Rows(X).Item("11月")) + Val(dt.Rows(X).Item("10月"))) / 2 Then
  46. dt.Rows(X).Item("3个月未动") = 1
  47. End If
  48. If Val(dt.Rows(X).Item("12月")) = (Val(dt.Rows(X).Item("11月")) + Val(dt.Rows(X).Item("10月")) + Val(dt.Rows(X).Item("9月"))) / 3 Then
  49. dt.Rows(X).Item("4个月未动") = 1
  50. End If
  51. If Val(dt.Rows(X).Item("12月")) = (Val(dt.Rows(X).Item("11月")) + Val(dt.Rows(X).Item("10月")) + Val(dt.Rows(X).Item("9月")) + Val(dt.Rows(X).Item("8月"))) / 4 Then
  52. dt.Rows(X).Item("5个月未动") = 1
  53. End If
  54. If Val(dt.Rows(X).Item("12月")) = (Val(dt.Rows(X).Item("11月")) + Val(dt.Rows(X).Item("10月")) + Val(dt.Rows(X).Item("9月")) + Val(dt.Rows(X).Item("8月")) + Val(dt.Rows(X).Item("7月"))) / 5 Then
  55. dt.Rows(X).Item("6个月未动") = 1
  56. End If
  57. Next
  58. DGV1.DataSource = dt
  59. End Sub
  60. End Class