mysql - 在vba中合并mysql记录集

标签 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

'操作组合框的属性并显示表单。

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 本身不是数据库,它不知道您想要什么。

记录集.开源、ActiveConnection、CursorType、LockType、选项

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

关于mysql - 在vba中合并mysql记录集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22774605/

相关文章:

php - 同一张表的多个查询

javascript - 创建用户 session - NODE js

PHP MYSQL 返回结果两次(Double)

mysql - 为什么 LIKE '%%' 依赖于无关连接?

function - 在 Excel 中设置范围时 VBA 失败

php - 返回 MySQL 中特定日期的行

mysql - mySQL 中的非法混合排序规则

php - 从sql表中创建一个列表

excel - 在另一张纸上隐藏多列 : Type mismatch

excel - 如何使用 Excel VBA 打开 Outlook 电子邮件模板?