如题,怎么用DAO打开Access表,并根据表的index(number)设置该表别名因为要根据表名称判断和该表关联的表,从而自动生成select查询,所以select语句中使用的表名称是一个变量,不知怎么实现,谢谢

解决方案 »

  1.   

    查询语句字符串中代入变量,我试了一下不行,问题是这样的有表01class,01room; 02class,02room; 03class,03room; 04class,04room;打开数据库开始遍历 ,如果是01class,记录该表索引
    根据left(tb.name,2)=01遍历找到left(tb.name,2)=01 and right(tb.name,4)=room,记录找到的表(01room)的索引号根据索引分别用别名打开这两个表,假设是tb1,  tb2  (这个我不会  )再进行select查询,使用的表别名( 或者能不能直接用表的索引号查询? )sql = "select  tb1.name,tb1.id,tb2.roomid from tb1 tb2 where tb1.name=tb2.name"
    set rs = db.openrecordset(sql ,dbopendynaset)我的思路对不,有没有更好的方法,谢谢
      

  2.   

    找到类似代码  declare   @id   varchar(112),@tb   varchar(112),@keyword   varchar(2)   
      set   @id=1   
      set   @tb='FilePolicy'+@id   
        
      if   object_id(@tb)   is   not   null       begin   
          declare   @s   nvarchar(4000)   
          set   @s=N'select   @keyword=left(FilePolicy,2)   from   '+@tb+'   where   usergroupid=23'   
          EXEC   sp_executesql   @s,N'@keyword   varchar(2)   out',@keyword   out   
          print   @keyword   
      end请问
    怎么理解上述代码,呵呵,没遇到过,没有系统学习过
    怎么才用在dao中
      

  3.   

    请问,如果用变量tb1=tabledefs(i).name, tb2=tabledefs(i).name
    查询tb1.name,tb2.roomid where tb1.id=tb2.id 该怎么去写?谢谢
      

  4.   


    正解:aaa = "01room"
    sql = "select A.ID,A.name,b.roomid from 01class a," & aaa & " b where a.name='张三'"