我想使用组合框选择的值作为查询从mysql数据库中提取另一个数据。假设组合框选择了值作为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
'操纵组合框的属性并显示表单。
With UserForm1
With .ComboBox1
.Clear
.BoundColumn = k
.List = Application.Transpose(vaData)
.ListIndex = -1
End With
End With
'操纵组合框的属性并显示表单
设置rs1 = CreateObject(“ ADODB.Recordset”)
sqlQb =“从matcat_select中选择EOF,其中描述='”&ComboBox1.Value&“';”
rs1。打开sqlQb,oConn
虽然不是rs1.EOF
Label6.Caption = rs1(“ EOF”)
rs1.MoveNext
温德
如果我错了,请检查我的代码并纠正我。此外,每次通过vba在mysql中进行查询时,是否需要建立连接?
最佳答案
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
对于选择语句
sqlQb = "Select EOF From MyTable Where Description = '" & ComboBox1.Value & "';"
ComboBox不是文本框。要获取选定的值,请使用.Value方法。
是的,当您要执行任何查询时,您需要一个连接,您的VBA本身不是数据库,它不知道您想要什么。
recordset.Open Source,ActiveConnection,CursorType,LockType,选项
http://msdn.microsoft.com/en-us/library/windows/desktop/ms675544(v=vs.85).aspx