Imports System.Data.SqlClient Imports System.Reflection Public Class Frm_STOCK_SUM Dim cmd As New SqlCommand Dim da As New SqlDataAdapter Dim dt As New DataTable Dim sql As String Dim g_period As Date Dim g_accounted As Boolean Dim period As Integer Private Sub Frm_STOCK_SUM_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim type As Type = DGV1.GetType() Dim pi As PropertyInfo = type.GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic) pi.SetValue(DGV1, True, Nothing) Dim conn As New SqlConnection Dim DT1 As New DataTable Dim DT2 As New DataTable Dim DT3 As New DataTable conn.ConnectionString = connstring conn.Open() cmd.Connection = conn 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 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" cmd.CommandText = sql da.SelectCommand = cmd da.Fill(dt) dt.Columns.Add("2个月未动") dt.Columns.Add("3个月未动") dt.Columns.Add("4个月未动") dt.Columns.Add("5个月未动") dt.Columns.Add("6个月未动") For X As Integer = 0 To dt.Rows.Count - 1 If dt.Rows(X).Item("12月").ToString = "" Then dt.Rows(X).Item("12月") = 0 If dt.Rows(X).Item("11月").ToString = "" Then dt.Rows(X).Item("11月") = 0 If dt.Rows(X).Item("10月").ToString = "" Then dt.Rows(X).Item("10月") = 0 If dt.Rows(X).Item("9月").ToString = "" Then dt.Rows(X).Item("9月") = 0 If dt.Rows(X).Item("8月").ToString = "" Then dt.Rows(X).Item("8月") = 0 If dt.Rows(X).Item("7月").ToString = "" Then dt.Rows(X).Item("7月") = 0 If dt.Rows(X).Item("6月").ToString = "" Then dt.Rows(X).Item("6月") = 0 Next For X As Integer = 0 To dt.Rows.Count - 1 If Val(dt.Rows(X).Item("12月")) = Val(dt.Rows(X).Item("11月")) Then dt.Rows(X).Item("2个月未动") = 1 End If If Val(dt.Rows(X).Item("12月")) = (Val(dt.Rows(X).Item("11月")) + Val(dt.Rows(X).Item("10月"))) / 2 Then dt.Rows(X).Item("3个月未动") = 1 End If 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 dt.Rows(X).Item("4个月未动") = 1 End If 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 dt.Rows(X).Item("5个月未动") = 1 End If 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 dt.Rows(X).Item("6个月未动") = 1 End If Next DGV1.DataSource = dt End Sub End Class