第一个我直接指定rowsource和rowmember,第二个我在form_load里定义了
   private  sub form_load
    Set CntrySql = defnb.rscountry
    CntrySql.Open
    Me.cntrycombo.RowMember = "CntrySql"
    Me.cntrycombo.ReFill
    Me.cntrycombo.ListField = "name"
    Me.cntrycombo.BoundColumn = "no"
end sub
第一个控件的change事件如下
Private Sub towncombo_Change()
   Dim SqlFilter As String
    SqlFilter = " no like '" & Me.towncombo.BoundText & "%'"
    CntrySql.Filter = SqlFilter
    CntrySql.Open
    Me.cntrycombo.Refresh
End Sub
 
该form启动后 第二个控件里没有选项,也不随第一个控件变化

解决方案 »

  1.   

    Dim cn As New ADODB.Connection
        Dim rst As New ADODB.RecordsetPrivate Sub DataCombo1_Change()
        Dim rst1 As New ADODB.Recordset
        rst1.Open "select * from 施工表资料 where 工号='" & Val(DataCombo1.Text) & "'", cn, adOpenKeyset, adLockOptimistic, adCmdText
    Debug.Print rst1.RecordCount
        Set DataCombo2.RowSource = rst1End SubPrivate Sub Form_Load()
        cn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=mt1;Data Source=pc1"
        rst.Open "select * from 施工表", cn, adOpenKeyset, adLockOptimistic, adCmdText
        Set DataCombo1.RowSource = rst
        
        
    End Sub
      

  2.   

    dim CntryList as new adodb.recordsetform_load 里定义如下:    
    CntryList.Open "select * from code where item=7", defnb, adOpenKeyset, adLockOptimistic, adCmdText
        Set cntrycombo.RowMember = CntryList
    defnb 是我在设计器里已经定义好了的连接
    在执行到set cntrycombo.rowmemver=cntryList 时 提示”参数号错误或无效的属性赋值“ 是不是我不能用已经建立好的连接?
      

  3.   

    谢谢楼上的两位高手,问题我已经解决了,可就是不动为什么把rst 和rst1赋值给rowsource属性而不是rowmember属性?