查询参数
表名或者字段名是变量的参数查询
2005-02-04 18:50:46

 

问题:

 如何写表名是变量的参数查询? 表名是变量的查询怎么写?比如:SELECT * FROM [@kk]

我要将表名作为一个参数输入,随客户输入的不同查询不同的表。 如何写字段名是变量的参数查询?比如:SELECT * FROM tablename WHERE [input fieldname]='545'

 回答:

上述写法是错误的! 同 SQL SERVER 的 T-SQL 语句一样,“表名”或者“字段名”是不允许用变量代替。 你必须用 VBA 来控制 SQL 字串的组合

dim strsql as string dim strTableName as string strTableName="abc" strsql="select * from " & strTableName '后面就看你随便写了,你可以用 RECORDSET 打开,也可以用 create view 语句建立一个查询 '用 recordset 打开的代码如下: dim rs as new adodb.recordset rs.open strsql,currentproject.connection,1,1 ....

'也可以用 CREATE VIEW 语句来创建一个新的查询,并打开 on error resume next currentproject.connection.execute "drop view 查询名称" currentproject.connection.execute "create view 查询名称 as " & strsql docmd.openquery "查询名称"  

顺便提一下, SQL SERVER 应该如下操作 declare @sql varchar(200) set @sql='select * from ' + @table_name execute(@sql)