Vb.net 在VB中使用access数据库中的数据查看图表

Vb.net 在VB中使用access数据库中的数据查看图表,vb.net,ms-access,Vb.net,Ms Access,我想查看数据库中数据的图表 我尝试了这个代码,但收到了一条错误消息 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 provi

我想查看数据库中数据的图表 我尝试了这个代码,但收到了一条错误消息

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)

当我删除COUNT时,它会显示出来,但我需要它来计算每个公司ID所需的数量

您错过了给出字段名的别名:

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]"

谢谢,效果不错,但是图表中的结果是错误的,我不知道为什么我想你需要在订单ID上进行筛选。请参见编辑。