谢谢了!
再问个问题 就是 联合查询在vba中的语句 的写法
比如说:
Private Sub 查询_Click()
Dim strSQL As String
Dim chaxun As QueryDef
strSQL = "SELECT 成绩表.学校, 成绩表.班级, Count(成绩表.姓名) AS 人数, Sum(成绩表.数学) AS 数学, Sum(成绩表.语文) AS 语文, Sum(成绩表.英语) AS 英语 FROM 成绩表 GROUP BY 成绩表.学校, 成绩表.班级
UNION All SELECT 成绩表.学校 & "合计" as 学校, "" AS 班级, Count(成绩表.姓名) AS 人数, Sum(成绩表.数学) AS 数学, Sum(成绩表.语文) AS 语文, Sum(成绩表.英语) AS 英语
FROM 成绩表
GROUP BY 成绩表.学校
UNION ALL SELECT "学校总计" AS 学校, "" AS 班级, Count(成绩表.姓名) AS 人数, Sum(成绩表.数学) AS 数学, Sum(成绩表.语文) AS 语文, Sum(成绩表.英语) AS 英语
FROM 成绩表
ORDER BY 学校, 班级;"
Set chaxun = CurrentDb.CreateQueryDef("linshi-jichu", strSQL)
DoCmd.OpenQuery chaxun.Name
-------------------------------------------------------
上面的语句运行的时候 是错的 但改成 下面这句 可以运行
strSQL = "SELECT 成绩表.学校, 成绩表.班级, Count(成绩表.姓名) AS 人数, Sum(成绩表.数学) AS 数学, Sum(成绩表.语文) AS 语文, Sum(成绩表.英语) AS 英语 FROM 成绩表 GROUP BY 成绩表.学校, 成绩表.班级"
--------------------------------------------------------
直接写成 最上面的代码段 不能运行 想请问下 最上面那部分的联合查询段代码应该怎么写!
不胜感激!
双引号要改为单引号:
ssql="SELECT 学校, 班级, Count(姓名) AS 人数, Sum(数学) AS 数学, Sum(语文) AS 语文, Sum(英语) AS 英语 "
ssql=ssql & "FROM 成绩表 GROUP BY 学校, 班级 "
ssql=ssql & "UNION All SELECT 学校 & '合计' as 学校, '' AS 班级, Count(姓名) AS 人数, Sum(数学) AS 数学, Sum(语文) AS 语文, Sum(英语) AS 英语 "
ssql=ssql & "FROM 成绩表 GROUP BY 学校 "
ssql=ssql & "UNION ALL SELECT '学校总计' AS 学校, '' AS 班级, Count(姓名) AS 人数, Sum(数学) AS 数学, Sum(语文) AS 语文, Sum(英语) AS 英语 "
ssql=ssql & "FROM 成绩表 "
ssql=ssql & "ORDER BY 学校, 班级;"