会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Access技巧 > 查询视图 > 正文

表名或者字段名是变量的参数查询

时间:2005-02-04 00:00 来源:Access911 作者:cg1 阅读:

 

问题:

 如何写表名是变量的参数查询?
表名是变量的查询怎么写?比如: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)

(责任编辑:admin)

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: