簡體   English   中英

在VBA中合並MySQL記錄集

[英]Merge mysql recordset in vba

我想使用組合框選擇的值作為查詢從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/zh-cn/library/windows/desktop/ms675544(v=vs.85).aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM