我已经在ado控件属性里设置了指向的access数据库及其中的一个表,单我想在程序中根据条件选择其他的表,用一个datagrid控件显示,怎样写代码!
Dim cnstr As String, sqlstr As String
cnstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\SpectrumData.mdb;Mode=Share Deny None;Persist Security Info=False"
      Adodc1.ConnectionString = cnstr
      Adodc1.CommandType = adCmdTable
      sqlstr = "select * from 重车高速二维应力谱"
      Adodc1.RecordSource = sqlstr
      Adodc1.Refresh
      Set dagyinglipu.DataSource = Adodc1
          dagyinglipu.Refresh

解决方案 »

  1.   

    Dim TempTableName as String
    TempTableName="asasds" '根据条件选择其他的表名
    sqlstr = "select * from " & TempTableName 
      

  2.   

    要注意的是:完成查询后 把 set Adodc1.RecordSource=Noing
      

  3.   

    不行,他说from子句语法错误,adodc1 refresh失败!
      

  4.   

    sqlstr = "ASaf"
    Adodc1.RecordSource = sqlstr
    Adodc1.Refresh你上面已经指定了查询类型:
    Adodc1.CommandType = adCmdTable
    只要给出表名然后刷新Adodc1即可。
      

  5.   

    不行呀,他说from子句语法错误,对象refresh方法Iadodc失败!
    是不是因为我已经在adodc1控件中设置了connetionstring和recordsource
    的原因?
      

  6.   

    是的 。adodc1控件中设置了connetionstring和recordsource 它只有查询指定的表。
    用代码设置了设置了connetionstring和recordsource试一试啊
      

  7.   

    在改变 RecordSource 之前 
    加上这一句 Adodc1.CommandType = adCmdUnknown
    就可以了.
      

  8.   

    对!也可以adodc1.CommandType=adCmdText