Office中國(guó)論壇/Access中國(guó)論壇

 找回密碼
 注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

返回列表 發(fā)新帖
查看: 2728|回復(fù): 4
打印 上一主題 下一主題

[查詢(xún)] 請(qǐng)問(wèn)個(gè) 在vba中sql聯(lián)合查詢(xún)語(yǔ)句的寫(xiě)法

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2010-10-1 13:07:15 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
比如一段代碼如下:
Private Sub 查詢(xún)_Click()
Dim strSQL As String
Dim chaxun As QueryDef
strSQL = "SELECT 成績(jī)表.學(xué)校, 成績(jī)表.班級(jí), Count(成績(jī)表.姓名) AS 人數(shù), Sum(成績(jī)表.數(shù)學(xué)) AS 數(shù)學(xué), Sum(成績(jī)表.語(yǔ)文) AS 語(yǔ)文, Sum(成績(jī)表.英語(yǔ)) AS 英語(yǔ)
FROM 成績(jī)表
GROUP BY 成績(jī)表.學(xué)校, 成績(jī)表.班級(jí)
UNION All SELECT 成績(jī)表.學(xué)校 & "合計(jì)" as 學(xué)校, "" AS 班級(jí), Count(成績(jī)表.姓名) AS 人數(shù), Sum(成績(jī)表.數(shù)學(xué)) AS 數(shù)學(xué), Sum(成績(jī)表.語(yǔ)文) AS 語(yǔ)文, Sum(成績(jī)表.英語(yǔ)) AS 英語(yǔ)
FROM 成績(jī)表
GROUP BY 成績(jī)表.學(xué)校
UNION ALL SELECT "學(xué)?傆(jì)" AS 學(xué)校, "" AS 班級(jí), Count(成績(jī)表.姓名) AS 人數(shù), Sum(成績(jī)表.數(shù)學(xué)) AS 數(shù)學(xué), Sum(成績(jī)表.語(yǔ)文) AS 語(yǔ)文, Sum(成績(jī)表.英語(yǔ)) AS 英語(yǔ)
FROM 成績(jī)表
ORDER BY 學(xué)校, 班級(jí);"
Set chaxun = CurrentDb.CreateQueryDef("linshi-jichu", strSQL)
DoCmd.OpenQuery chaxun.Name
-------------------------------------------------------------------------------------------
以上代碼 如果去掉聲明 只是sql語(yǔ)句 可以運(yùn)行 但在vba代碼編輯模式 不能運(yùn)行 改成如下可以運(yùn)行
-------------------------------------------------------------------------------------------
Private Sub 查詢(xún)_Click()
Dim strSQL As String
Dim chaxun As QueryDef
strSQL = "SELECT 成績(jī)表.學(xué)校, 成績(jī)表.班級(jí), Count(成績(jī)表.姓名) AS 人數(shù), Sum(成績(jī)表.數(shù)學(xué)) AS 數(shù)學(xué), Sum(成績(jī)表.語(yǔ)文) AS 語(yǔ)文, Sum(成績(jī)表.英語(yǔ)) AS 英語(yǔ) FROM 成績(jī)表 GROUP BY 成績(jī)表.學(xué)校, 成績(jī)表.班級(jí)"
Set chaxun = CurrentDb.CreateQueryDef("linshi-jichu", strSQL)
DoCmd.OpenQuery chaxun.Name
想請(qǐng)問(wèn) 怎么寫(xiě)那兩段union語(yǔ)句 才是正確的vba寫(xiě)法
不勝感激 謝謝!
附能在sql模式運(yùn)行的語(yǔ)句:
SELECT 成績(jī)表.學(xué)校, 成績(jī)表.班級(jí), Count(成績(jī)表.姓名) AS 人數(shù), Sum(成績(jī)表.數(shù)學(xué)) AS 數(shù)學(xué), Sum(成績(jī)表.語(yǔ)文) AS 語(yǔ)文, Sum(成績(jī)表.英語(yǔ)) AS 英語(yǔ)
FROM 成績(jī)表
GROUP BY 成績(jī)表.學(xué)校, 成績(jī)表.班級(jí)
UNION All SELECT 成績(jī)表.學(xué)校 & "合計(jì)" as 學(xué)校, "" AS 班級(jí), Count(成績(jī)表.姓名) AS 人數(shù), Sum(成績(jī)表.數(shù)學(xué)) AS 數(shù)學(xué), Sum(成績(jī)表.語(yǔ)文) AS 語(yǔ)文, Sum(成績(jī)表.英語(yǔ)) AS 英語(yǔ)
FROM 成績(jī)表
GROUP BY 成績(jī)表.學(xué)校
UNION ALL SELECT "學(xué)?傆(jì)" AS 學(xué)校, "" AS 班級(jí), Count(成績(jī)表.姓名) AS 人數(shù), Sum(成績(jī)表.數(shù)學(xué)) AS 數(shù)學(xué), Sum(成績(jī)表.語(yǔ)文) AS 語(yǔ)文, Sum(成績(jī)表.英語(yǔ)) AS 英語(yǔ)
FROM 成績(jī)表
ORDER BY 學(xué)校, 班級(jí);
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 分享淘帖 訂閱訂閱
2#
發(fā)表于 2010-10-1 13:30:53 | 只看該作者
雙引號(hào)要改為單引號(hào):

ssql="SELECT 學(xué)校, 班級(jí), Count(姓名) AS 人數(shù), Sum(數(shù)學(xué)) AS 數(shù)學(xué), Sum(語(yǔ)文) AS 語(yǔ)文, Sum(英語(yǔ)) AS 英語(yǔ) "
ssql=ssql & "FROM 成績(jī)表 GROUP BY 學(xué)校, 班級(jí) "
ssql=ssql & "UNION All SELECT 學(xué)校 & '合計(jì)' as 學(xué)校, '' AS 班級(jí), Count(姓名) AS 人數(shù), Sum(數(shù)學(xué)) AS 數(shù)學(xué), Sum(語(yǔ)文) AS 語(yǔ)文, Sum(英語(yǔ)) AS 英語(yǔ) "
ssql=ssql & "FROM 成績(jī)表 GROUP BY 學(xué)校 "
ssql=ssql & "UNION ALL SELECT '學(xué)校總計(jì)' AS 學(xué)校, '' AS 班級(jí), Count(姓名) AS 人數(shù), Sum(數(shù)學(xué)) AS 數(shù)學(xué), Sum(語(yǔ)文) AS 語(yǔ)文, Sum(英語(yǔ)) AS 英語(yǔ) "
ssql=ssql & "FROM 成績(jī)表 "
ssql=ssql & "ORDER BY 學(xué)校, 班級(jí);"

3#
發(fā)表于 2010-10-1 16:52:34 | 只看該作者
正解。
4#
 樓主| 發(fā)表于 2010-10-1 19:53:29 | 只看該作者
哈哈哈 謝謝兩位了 是這么回事兒
5#
發(fā)表于 2010-11-11 11:28:02 | 只看該作者
學(xué)習(xí)學(xué)習(xí)
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則

QQ|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó) ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2024-10-23 10:30 , Processed in 0.134842 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表