2016-04-10 36 views
0

我要查看该数据的图表在我的数据库 我想这个代码,但我得到一个错误信息查看在VB利用访问数据库中的数据图表

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 

    Chart1.Series.Add("Total number of Orders for each Company") 

    Dim Conn As OleDbConnection = New OleDbConnection 
    Dim provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source =" 
    Dim dataFile = "F:\College Files\Co-op Files\Aramco Project\Application\OrdersApplication\OrdersApplication\Database.accdb" 
    Conn.ConnectionString = provider & dataFile 
    Conn.Open() 

    Dim cmd As OleDbCommand = New OleDbCommand("SELECT [CompanyID], (SELECT COUNT(QuantityRequired) FROM Order_Details) FROM [Orders] ", Conn) 
    Dim dr As OleDbDataReader = cmd.ExecuteReader 
    While dr.Read 
     Chart1.Series("Total number of Orders for each Company").Points.AddY(dr("CompanyID").ToString, dr("QuantityRequired").ToString) 
    End While 
    dr.Close() 
    cmd.Dispose() 

End Sub 

错误消息说QuantityRequired在此行的附加信息

 Chart1.Series("Total number of Orders for each Company").Points.AddY(dr("CompanyID").ToString, dr("QuantityRequired").ToString) 

当我删除指望它显示出来,但我需要它来计算每家公司ID

回答

0

你错过了阿里所需数量作为给出的字段名称:

Dim cmd As OleDbCommand = New OleDbCommand("SELECT [CompanyID], (SELECT COUNT(*) FROM Order_Details) As QuantityRequired FROM [Orders] ", Conn) 

只是猜测。 SQL阅读:

"SELECT [CompanyID], (SELECT COUNT(*) FROM Order_Details AS T WHERE T.OrderId = Orders.Id) As QuantityRequired FROM [Orders]" 
+0

谢谢你的工作,但结果是错误的图表我不知道为什么 –

+0

我想你需要过滤订单ID。请参阅编辑。 – Gustav

+0

非常感谢 –