通过依赖于另一个组合框选定值的SQL查询填充两个VBA用户表单组合框

时间:2015-07-14 19:51:24

标签: sql-server-2008 excel-vba combobox vba excel

我在VBA Userform中从SQL数据库中填充了3个Combobox。第一个组合框值是从sql数据库中为接下来的两个组合框填充的内容的关键。

我尝试了各种afterupdate()和change()子程序,但我迷路了。我成功地在表单初始化期间使用组合框1的数据库记录集填充我的用户表单,现在我需要组合框2&一旦选择了组合框1中的值,将自动填充3。

收到的错误是:

  

RUN-TIME ERROR '91:对象变量或块变量未设置   连接的粗体文本(CNNSP.OPEN ....)上发生此错误:

Private Sub ComboAcct_AfterUpdate()
    Dim strSql As String
    Dim rstsp As ADODB.Recordset
    Dim cnnsp As ADODB.Connection
    Dim db As Database

    **cnnsp.Open "Provider=SQLOLEDB.1;Password=<>;Persist Security Info=True;User ID=<>;Data Source=<>;"**

    strSql = "SELECT svc_provider_name FROM cnp_master.dbo.TEMP_TX_PAPERLOGIMPORT_MERGE WHERE account = " & FrmPaperLog2.ComboAcct

Set rstsp = db.OpenRecordset(strSql)

If Not ((rstsp.BOF) And (rstsp.EOF)) Then
Label32.Caption = rstsp![ComboSP].Value

End If

Close Recordset
rstsp.Close
Set rstsp = Nothing

0 个答案:

没有答案