Без опису
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. Imports System.Data.SqlClient
  2. Imports System.Reflection
  3. Imports Microsoft.Office.Interop.Excel.XlPaperSize
  4. Imports Microsoft.Office.Interop.Excel.XlPageOrientation
  5. Imports Microsoft.Office.Interop.Excel.XlOrder
  6. Imports Microsoft.Office.Interop.Excel.XlPrintErrors
  7. Imports Microsoft.Office.Core.XlHAlign
  8. Public Class Frm_M_retan
  9. Dim cmd As New SqlCommand
  10. Dim da As New SqlDataAdapter
  11. Dim sql As String
  12. Dim colorArray(10) As Color
  13. Dim conn As New SqlConnection
  14. Private Sub Frm_M_retan_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  15. Dim DT1 As New DataTable
  16. Dim DT2 As New DataTable
  17. Dim DT3 As New DataTable
  18. colorArray(0) = Color.FromName("Aquamarine")
  19. colorArray(1) = Color.FromName("azure")
  20. colorArray(2) = Color.FromName("beige")
  21. colorArray(3) = Color.FromName("gainsboro")
  22. colorArray(4) = Color.FromName("LightBlue")
  23. colorArray(5) = Color.FromName("LightSalmon")
  24. conn.ConnectionString = connstring
  25. conn.Open()
  26. cmd.Connection = conn
  27. Dim dr As SqlDataReader
  28. dgv_measure.RowTemplate.Height = 30
  29. dgv_measure.AllowUserToAddRows = False
  30. sql = "SELECT year(date) as 年, month(date) as 月 from rt_measure_daily group by year(date),month(date) order by year(date) desc,month(date) desc"
  31. cmd.CommandText = sql
  32. dr = cmd.ExecuteReader
  33. While dr.Read
  34. ListBox1.Items.Add(dr("年") & "/" & dr("月"))
  35. End While
  36. dr.Close()
  37. End Sub
  38. Private Sub ListBox1_Click(sender As Object, e As EventArgs) Handles ListBox1.Click
  39. Dim dt_measure As New DataTable
  40. Dim p() As String
  41. p = Split(ListBox1.Items(ListBox1.SelectedIndex).ToString, "/")
  42. sql = "SELECT RT_MEASURE_DAILY.DATE AS 量尺日期, RT_MEASURE_DAILY.CARD AS 卡号, RT_RETAN_RECORD.CUST AS 客户, " &
  43. " RT_RETAN_RECORD.TECH AS 技术员, RT_MEASURE_DAILY.COLOR AS 颜色, " &
  44. " RT_RETAN_RECORD.THICKNESS AS 厚度, RT_MEASURE_DAILY.SF AS 尺数, " &
  45. " RT_MEASURE_DAILY.WEIGHT AS 蓝皮重, RT_MEASURE_DAILY.SOURCE AS 皮源, " &
  46. " RT_MEASURE_DAILY.COMMENT1 AS 备注, cast(RT_RETAN_RECORD.PRICE/RT_MEASURE_DAILY.WEIGHT as numeric(10,1)) AS 蓝皮单价 " &
  47. " FROM RT_MEASURE_DAILY LEFT OUTER JOIN " &
  48. " RT_RETAN_RECORD ON RIGHT(RT_MEASURE_DAILY.CARD,10) = RIGHT(RT_RETAN_RECORD.CARD,10) where year(rt_measure_daily.date)='" & p(0) & "' And month(rt_measure_daily.date)='" & p(1) & "' ORDER BY 日期 DESC"
  49. sql = "SELECT TOP (100) PERCENT RT_MEASURE_DAILY.DATE AS 量尺日期, RT_MEASURE_DAILY.CARD AS 卡号,
  50. RT_RETAN_RECORD.CUST AS 客户, RT_RETAN_RECORD.TECH AS 技术员, RT_MEASURE_DAILY.COLOR AS 颜色,
  51. RT_RETAN_RECORD.THICKNESS AS 厚度, RT_MEASURE_DAILY.SF AS 尺数, RT_MEASURE_DAILY.WEIGHT AS 蓝皮重,
  52. RT_MEASURE_DAILY.SOURCE AS 皮源, RT_MEASURE_DAILY.COMMENT1 AS 备注,
  53. RT_SYS_CHEM_OUT.NO AS 领料单号, COUNT(*) AS 笔数
  54. FROM RT_MEASURE_DAILY LEFT OUTER JOIN
  55. RT_SYS_CHEM_OUT ON RT_MEASURE_DAILY.CARD = RT_SYS_CHEM_OUT.CARD LEFT OUTER JOIN
  56. RT_RETAN_RECORD ON RIGHT(RT_MEASURE_DAILY.CARD, 10) = RIGHT(RT_RETAN_RECORD.CARD, 10)
  57. WHERE year(rt_measure_daily.date)='" & p(0) & "' And month(rt_measure_daily.date)='" & p(1) & "'
  58. GROUP BY RT_MEASURE_DAILY.DATE, RT_MEASURE_DAILY.CARD, RT_RETAN_RECORD.CUST, RT_RETAN_RECORD.TECH,
  59. RT_MEASURE_DAILY.COLOR, RT_RETAN_RECORD.THICKNESS, RT_MEASURE_DAILY.SF,
  60. RT_MEASURE_DAILY.WEIGHT, RT_MEASURE_DAILY.SOURCE, RT_MEASURE_DAILY.COMMENT1,
  61. RT_SYS_CHEM_OUT.NO
  62. ORDER BY 量尺日期 DESC, 卡号,领料单号"
  63. cmd.CommandText = sql
  64. da.SelectCommand = cmd
  65. da.Fill(dt_measure)
  66. DGV_MEASURE.DataSource = dt_measure '------打尺
  67. DGV_MEASURE.Columns(0).Width = 100
  68. DGV_MEASURE.Columns(1).Width = 130
  69. DGV_MEASURE.Columns(2).Width = 80
  70. DGV_MEASURE.Columns(3).Width = 70
  71. DGV_MEASURE.Columns(4).Width = 120
  72. DGV_MEASURE.Columns(5).Width = 60
  73. DGV_MEASURE.Columns(6).Width = 80
  74. DGV_MEASURE.Columns(7).Width = 80
  75. DGV_MEASURE.Columns(8).Width = 80
  76. DGV_MEASURE.Columns(9).Width = 60
  77. Set_grid_color()
  78. End Sub
  79. Private Sub ListBox2_Click(sender As Object, e As EventArgs)
  80. End Sub
  81. Private Sub Set_grid_color()
  82. Dim c As Integer = 1
  83. Dim p(1500) As Integer
  84. Dim x As Integer
  85. p(1) = 0
  86. For x = 1 To DGV_MEASURE.Rows.Count - 2
  87. If DGV_MEASURE.Rows(x).Cells(1).Value.ToString <> DGV_MEASURE.Rows(x - 1).Cells(1).Value.ToString Then
  88. p(c + 1) = x
  89. c = c + 1
  90. End If
  91. Next
  92. p(c + 1) = x
  93. ReDim Preserve p(x)
  94. If c = 1 Then
  95. For z As Integer = 0 To x - 1
  96. DGV_MEASURE.Rows(z).DefaultCellStyle.BackColor = colorArray(1)
  97. Next
  98. Else
  99. For cc As Integer = 1 To c
  100. For z As Integer = p(cc) To p(cc + 1) - 1
  101. DGV_MEASURE.Rows(z).DefaultCellStyle.BackColor = colorArray(cc Mod 6)
  102. Next
  103. Next
  104. End If
  105. End Sub
  106. End Class