【发布时间】:2018-03-30 14:01:39
【问题描述】:
我正在尝试学习如何在图表中显示数据,到目前为止我已经设法显示数据,但是我的 sql 查询有问题,我需要它以某种方式显示数据.
这是我的代码> 我有 1 个用于选择商店名称的组合框和 2 个日期时间选择器。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim Provider As String
Provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source ="
Dim dataFile As String
dataFile = "Original.accdb"
Dim SqlQry1 As String = "SELECT [Delivered], [Datess] FROM [Table1] WHERE [Store] = @1 AND [Datess] BETWEEN @2 AND @3 ORDER BY [Datess] ASC"
Using myconnection As New OleDbConnection(Provider & dataFile)
myconnection.Open()
Dim cmd1 As New OleDbCommand(SqlQry1, myconnection)
cmd1.Parameters.Add(New OleDbParameter With {.ParameterName = "@1", .OleDbType = OleDbType.Char, .Value = combobox1.SelectedItem})
cmd1.Parameters.Add(New OleDbParameter With {.ParameterName = "@2", .OleDbType = OleDbType.Date, .Value = fromdatess.Value.Date})
cmd1.Parameters.Add(New OleDbParameter With {.ParameterName = "@3", .OleDbType = OleDbType.Date, .Value = todatess.Value.Date})
Dim dr As OleDbDataReader = cmd1.ExecuteReader
While dr.Read
Dim asd As String
asd = dr("Delivered")
Dim datess As Date
datess = dr("Datess")
Chart1.ChartAreas(0).AxisX.Interval = 1
Chart1.Series("Series1").Points.AddXY(datess.ToShortDateString, asd)
End While
End Using
End Sub
我希望能够总结“已交付” 现在我的桌子是这样的>
ID | Store | Delivered | Datess
1 Ace1 200 3/1/2018
2 Ace1 150 3/1/2018
3 Bis1 50 3/2/2018
4 Ace1 50 3/2/2018
我想做的就是这样显示>
Ace1 350 3/1/2018
Bis1 50 3/2/2018
Ace1 50 3/2/2018
如您所见,Ace1 已求和。现在我尝试对它求和,但它会显示所有日子的总和结果,因为我有“BETWEEN Datess and Datess”,所以它在这些日期之间求和。我怎样才能只总结一天,但显示从 2018 年 1 月 3 日到 2018 年 1 月 30 日整个月的数据。任何帮助将不胜感激。
谢谢~
【问题讨论】: