设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 1262|回复: 11
打印 上一主题 下一主题

[窗体] (已经解决)sql语句中能不能用变量?

[复制链接]
跳转到指定楼层
1#
发表于 2008-1-4 10:57:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如下面这语句

strSQL = "TRANSFORM Sum(存书查询.单价) AS 单价之Sum SELECT 存书查询.类别 FROM 存书查询 "

改成
var1=存书查询.单价
var2=存书查询.类别

strSQL = "TRANSFORM Sum(var1) AS 单价之Sum SELECT var2 FROM 存书查询 "

这样使用了就会出错,是我写的语法有错误,还是本身就不能这样使用。
有没有更好的方法,根据变量来改变查询语句呢?

[ 本帖最后由 su_xx 于 2008-1-4 14:30 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2008-1-4 11:00:17 | 只看该作者
VBA 里可以
在查询不行 但可以调用函数
3#
 楼主| 发表于 2008-1-4 11:06:02 | 只看该作者
我想的就是在vba里面,楼上的版主,能不能写一个具体例子,让我明白一点,谢谢了
4#
发表于 2008-1-4 11:08:24 | 只看该作者
try:
strSQL = "TRANSFORM Sum(" & var1 & ") AS 单价之Sum SELECT  " & var2 & " FROM 存书查询 "
5#
 楼主| 发表于 2008-1-4 11:29:37 | 只看该作者
根据你的修改,还是不行

Private Sub cmd查询_Click()
  Dim qdf As DAO.QueryDef 'qdf
  Dim strSQL As String
    Dim var1, var2 As string

                 var1 = 存书查询.单价
         var2 = 存书查询.类别
    strSQL = "TRANSFORM Sum(" & var1 & ") AS 单价之Sum SELECT  " & var2 & " FROM 存书查询 "
Set qdf = CurrentDb.QueryDefs("存书查询_交叉表")
    qdf.SQL = strSQL
    qdf.Close
Set qdf = Nothing
end sub

执行查询时,就会跳出一个提示框:显示"要求对象".
6#
发表于 2008-1-4 12:43:48 | 只看该作者
这样写看看
strSQL = "TRANSFORM Sum(’“& var1 & ”’) AS 单价之Sum SELECT  ‘“& var2 & ”‘FROM 存书查询 "
7#
 楼主| 发表于 2008-1-4 13:00:44 | 只看该作者
一样,还是出现同样的问题,不知道是不是我语句里写错,还是不能这样使用。
8#
发表于 2008-1-4 13:09:46 | 只看该作者
为什么非要用变量呢?
9#
 楼主| 发表于 2008-1-4 13:25:39 | 只看该作者
楼上的为什么这样问呢?本人新手,想知道这样行不行?
10#
发表于 2008-1-4 13:42:12 | 只看该作者
是你定义的变量书写不正确
var1 = "存书查询.单价"
  var2 = "存书查询.类别"
执行后语句返回
TRANSFORM Sum(存书查询.单价) AS 单价之Sum SELECT  存书查询.类别 FROM 存书查询
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-6-6 13:04 , Processed in 0.102564 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表