表名或者字段名是变量的参数查询
来源:优易学  2011-12-9 16:58:24   【优易学:中国教育考试门户网】   资料下载   IT书店

  问题:

  如何写表名是变量的参数查询?

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

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训