|
동준님 !
한번더 요청 드려요
전에 올려주신 예제에서의 Temp 쿼리를 이용해서
합계 쿼리인 "쿼리-Sum"을 아래와 같이 만들고 싶습니다
부탁드려요 ~ !
쿼리-Sum을 만들어서 올리려고 했는데, 댓글 형식에서는
파일 첨부가 안되서,,,아래와 같이 결과값을 기재했습니다
시도 년도 상호 수량계 금액계
-------- -------- --------- ---- -------------
경상남도 2022 밀양산업 25 \1,500,000
김해시 2022 김해자동 20 \1,205,000
부산시 2022 부산테크 5 \350,000
창원시 2022 창원정밀 10 \750,000
==============[WinWin님 글에 대한 답변입니다]==============
시도 년도 상호 수량계 금액계
경상남도 2022 밀양산업 50 \3,000,000
김해시 2022 김해자동 30 \1,807,500
부산시 2022 부산테크 15 \1,050,000
창원시 2022 창원정밀 20 \1,500,000
합계요약을 위해 ID필드를 제거해야해서 콤보1을 무조건 선택하도록 바꿨습니다.
콤보1이 공란일경우 쉼표 처리가 애매해 지더라구요.
Dim db As DAO.Database
Set db = CurrentDb
Dim qdf As DAO.QueryDef
Dim newSQL As String
'임시쿼리 삭제
For Each qdf In db.QueryDefs
If qdf.Name = "tempQry" Then
DoCmd.SetWarnings False
DoCmd.DeleteObject acQuery, qdf.Name
DoCmd.SetWarnings True
End If
Next
'콤보 선택에 따라 쿼리문 생성
newSQL = "Select " & Me.Com1
If Not IsNull(Me.Com2) Then
newSQL = newSQL + ", " & Me.Com2
End If
If Not IsNull(Me.Com3) Then
newSQL = newSQL + ", " & Me.Com3
End If
'합계 및 요약
newSQL = newSQL + ",sum(실적수량) as 수량계,sum(실적금액) as 금액계 from 실적"
newSQL = newSQL + " GROUP BY 년도, 시도, 상호;"
'아무것도 선택 하지 않았을때
If IsNull(Com1) And IsNull(Com2) And IsNull(Com3) Then
newSQL = "Select * from 실적"
End If
'쿼리생성
Set qdf = db.CreateQueryDef("tempQry", newSQL)
DoCmd.OpenQuery "tempQry"
|
|