Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

VAB查询问题

初学者  发表于:2015-06-19 12:29:03  
复制

我在运行以下代码时,提示运行错误#3141#。望各位老师能指导解决。谢谢!!!!


Dim strsql As String

strsql = "SELECT 问题库.问题级别, Count(问题库.问题级别) AS 各级别问题数, 问题库.问题类别, Sum(问题库.涉及金额) AS 涉及金额之总计" & _
         "FROM 问题库" & _
         "GROUP BY 问题库.问题级别, 问题库.问题类别;"
DoCmd.RunSQL strsql

 

Top
杜超 发表于:2015-06-19 13:20:27
易勋 发表于:2015-06-19 13:51:11

"SELECT XXX " _

& " FROM XXX " _

&" GROUP BY XXX ;"



初学者 发表于:2015-06-19 14:21:24
按照以上方式修改了,但仍然提示#3141#错误。提示为:“SELECT 子句中包一个保留字、拼写错误或丢失的参数,或标的不正确。”

初学者 发表于:2015-06-19 15:31:36
发现是在”FROM“和“GROUP”前没有加空。但修改后,又提示运行错误”2342“即:RunSQL 操作需要由SQL语句组成的参数。

cspa 发表于:2015-06-22 21:49:38
strsql = "SELECT 问题库.问题级别, Count(问题库.问题级别) AS 各级别问题数, 问题库.问题类别, Sum(问题库.涉及金额) AS 涉及金额之总计 " & _
         "FROM 问题库 " & _
         "GROUP BY 问题库.问题级别, 问题库.问题类别;"


拷贝上面的再试试,在"涉及金额之总计"后面也少一个空格。



zhaoyoulong 发表于:2015-06-23 10:28:08
DoCmd.RunSQL 方法 (访问)
Office 2013
RunSQL方法执行 RunSQL 操作在 Visual Basic 中。
语法
表达式 .RunSQL(SQLStatement, UseTransaction)
表达式 一个代表 DoCmd 对象的变量。
参数
名称
必需/可选
数据类型
说明
SQLStatement
必需
Variant
字符串表达式,表示动作查询或数据定义查询的有效 SQL 语句。它使用 INSERT INTO、DELETE、SELECT...INTO、UPDATE、CREATE TABLE、ALTER TABLE、DROP TABLE、CREATE INDEX 或 DROP INDEX 语句。如果要访问其他数据库,则应包含 IN 子句。
UseTransaction
可选
Variant
使用True (– 1) 在事务中包含此查询。如果不想使用事务处理,则使用False (0)。如果将此参数留空,则假定的默认 (True)。
注解
通过使用相应的 SQL 语句,可以用 RunSQL 操作来运行 Microsoft Access 的动作查询。还可以运行数据定义查询。
该方法仅适用于 Microsoft Access 数据库。
sqlstatement 参数的最大长度为 32,768 个字符(而"宏"窗口中的 SQL 语句操作参数的最大长度为 256 个字符)。
Links provided by: The UtterAccess community | 有关参与者 (英文)
调用操作查询
查询/SQL: 使用存储在表中的语句
示例
下面的示例更新 Employees 表,将每一个销售经理的职务改为 Regional Sales Manager:
VBA
Public Sub DoSQL() 
 
    Dim SQL As String 
     
    SQL = "UPDATE Employees " & _ 
          "SET Employees.Title = 'Regional Sales Manager' " & _ 
          "WHERE Employees.Title = 'Sales Manager'" 
 
    DoCmd.RunSQL SQL 
     
End Sub


初学者 发表于:2015-06-25 09:58:03

还时提示错误。我改为:

strsql = "SELECT 问题级别, Count(问题级别) AS 各级别问题数, 问题类别, Sum(涉及金额) AS 涉及金额之总计 FROM 审计问题库 GROUP BY 问题级别, 问题类别;"

仍然提示错误。但上述SQL在创建的查询中运行正常。



zhaoyoulong 发表于:2015-06-25 10:24:00

DoCmd.RunSQL 方法 肯定不能执行

"SELECT 问题级别, Count(问题级别) AS 各级别问题数, 问题类别, Sum(涉及金额) AS 涉及金额之总计 FROM 审计问题库 GROUP BY 问题级别, 问题类别;"


可以用聚合函数来取得你所需的值

换个思路

或者把你的目的写出来(运行查询的目的)让大家看看



煮江品茶 发表于:2015-06-25 10:35:32

把设计好SQL语句拷贝到SQL设计视图中,然后保存为查询,比如叫做查询1,则

docmd.OpenQuery "查询1"



初学者 发表于:2015-06-26 09:17:25
谢谢!!!!

总记录:10篇  页次:1/1 9 1 :