查询语句字符串中代入变量,我试了一下不行,问题是这样的有表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)我的思路对不,有没有更好的方法,谢谢
找到类似代码 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中
请问,如果用变量tb1=tabledefs(i).name, tb2=tabledefs(i).name 查询tb1.name,tb2.roomid where tb1.id=tb2.id 该怎么去写?谢谢
正解:aaa = "01room" sql = "select A.ID,A.name,b.roomid from 01class a," & aaa & " b where a.name='张三'"
根据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)我的思路对不,有没有更好的方法,谢谢
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中
查询tb1.name,tb2.roomid where tb1.id=tb2.id 该怎么去写?谢谢
正解:aaa = "01room"
sql = "select A.ID,A.name,b.roomid from 01class a," & aaa & " b where a.name='张三'"