【问题标题】:Mschart control.columnlabel not retrieving data from Ado using VB6Mchart control.columnlabel 不使用 VB6 从 Ado 检索数据
【发布时间】:2016-08-30 08:47:42
【问题描述】:

我是 VB6 新手,我在 MSChart.columnlabel 中遇到问题,我将从数据库中检索数据,我的产品表中有名称字段。问题是每当我运行程序时,都会弹出一个 msgbox

“在与请求的名称或序号对应的集合中找不到项目。”请帮我。谢谢

我会在这里发布我的代码:

Private cn As ADODB.Connection
Private rsProducts As ADODB.Recordset
Private Sub Form_Load()
Set cn = New ADODB.Connection
MSChart1.ToDefaults

Const ConnectionString = "MySQL ODBC 5.1 Driver; SERVER=10.237.2.152; DATABASE=monitoring;UID=root;PWD=c0k3float;DSN=itemearv;"
' Open the connection.
   cn.Open ConnectionString
   Dim strQuery As String ' SQL query string.

   ' Create a query that retrieves only four fields.
   'strQuery = "SELECT ProductName, UnitPrice,
   'UnitsInStock, UnitsOnOrder  FROM Products"
   strQuery = "Select value from test.product"
   Set rsProducts = New ADODB.Recordset
   ' Open the recordset.
   rsProducts.CursorLocation = adUseClient
   rsProducts.Open strQuery, cn, adOpenKeyset
   ' Set the DataSource to the recordset.
   With MSChart1
         .ShowLegend = True
       Set .DataSource = rsProducts
       .ColumnCount = rsProducts.RecordCount
       .RowCount = 1
       .RowLabel = "TESTING"
    End With
    Dim i As Integer
    i = 1
    While i <= rsProducts.RecordCount
        With MSChart1
            .Column = i
            .Row = 1
            .Data = rsProducts!Value
            .ColumnLabel = rsProducts!Name
            End With
            rsProducts.MoveNext
            i = i + 1

    Wend
    Set rsProducts = Nothing


End Sub

【问题讨论】:

    标签: winforms vba vb6 ado mschart


    【解决方案1】:

    select 命令更改为包含Name

    strQuery = "Select value,Name from test.product"
    

    【讨论】:

    • 正确,选择了表测试中的值字段,但是您调用了返回名称字段上的数据,导致您的错误,因为返回的数据中不存在名称。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-06
    • 2010-11-30
    • 1970-01-01
    • 2010-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多