在vba中合并mysql记录集

时间:2014-04-01 00:21:14

标签: mysql sql vba

我想使用组合框选择的值作为查询从mysql数据库中提取另一个数据。让我们说Combobox将值选为id。然后我将使用此ID来提取与此ID相关的其他详细信息,例如供应商,成本等,以显示在标签选项中。我使用了以下代码,但它不起作用。

sqlQa ="从matcat_select中选择描述,其中BOF喜欢' MAIN';"

rs.Open sqlQa,oConn,adOpenStatic

用rs

    'Set .ActiveConnection = Nothing 'Disconnect the recordset.
        k = .Fields.Count
     'Populate the array with the whole recordset.
    vaData = .GetRows
End With

'操纵Combobox的属性并显示表单。

With UserForm1
    With .ComboBox1
        .Clear
        .BoundColumn = k
        .List = Application.Transpose(vaData)
        .ListIndex = -1
    End With
End With

'操纵Combobox的属性并显示表单

设置rs1 = CreateObject(" ADODB.Recordset")

sqlQb ="从matcat_select中选择EOF,其中Description ='" &安培; ComboBox1.Value& "&#39 ;;"

rs1.Open sqlQb,oConn

虽然不是rs1.EOF

Label6.Caption = rs1(" EOF")

rs1.MoveNext

WEND

如果我错了,请检查我的代码并纠正我。另外,每次我通过vba在mysql中进行查询时,我都需要建立连接吗?

1 个答案:

答案 0 :(得分:0)

If Not rs1.EOF Then

Label6.Caption = rs1("EOF")

Else

Label6.Caption = ""

End If

试试这个

While Not rs1.EOF
 Label6.Caption = rs1("EOF")
 rs1.MoveNext
Wend

对于select语句

sqlQb = "Select EOF From MyTable Where Description = '" & ComboBox1.Value & "';"

ComboBox不是文本框。要获取所选值,请使用.Value方法。

是的,当您想要执行任何查询时,您需要连接,您的VBA本身不是数据库,它不知道您想要什么。

recordset.Open Source,ActiveConnection,CursorType,LockType,Options

http://msdn.microsoft.com/en-us/library/windows/desktop/ms675544(v=vs.85).aspx