|
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
1. 엑셀 버전(95,97,2000,2002):
2. 윈도우즈의 버전(win95,win98,winME,winNT,win2000,winXP):
3. CPU (486,PentiumI/II/III/IV...):
4. RAM (32,64,128,256,512MB,1G...):
* 아래줄에 질문을 작성하세요 >>
VBA팁SQL _17에서 자료를 가져와 공부중인데...
3061 런타임 오류
매개변수가너무적습니다 4이(가)필요합니다라고나오는데
뭐가잘못 된거지여...??
==============[한울타리님 글에 대한 답변입니다]==============
vba팁에서 필드명만 바꿔는데 안되는데여...
하번 봐주세여...
Option Explicit
Const 제목 = "◈ 존날.존곳 ☞ 엑 사 모 ◈"
Dim stSQL As String
Sub 실행코드()
Dim rngDb As DAO.Database
Dim rngRs As DAO.Recordset
Dim i As Variant
Const rngFname = "재고현황" '불러올 예제화일명
Call 연습시트삭제 '이건 연습한거 삭제허구
Set rngDb = OpenDatabase(ThisWorkbook.FullName, False, True, "Excel 8.0;")
Set rngRs = rngDb.OpenRecordset(stSQL)
Sheets.Add '시트하나 맹글구
For i = 0 To rngRs.Fields.Count - 1 '첫째열 (필드명) 을 순환해서
Cells(1, i + 1).Value = rngRs.Fields(i).Name '새로맹근 시트 첫째열에 뿌려주구
Next
With ActiveSheet
.Range("A2").CopyFromRecordset rngRs
Columns("D:D").Style = "Comma [0]" '금액은 콤마로
.UsedRange.Columns.AutoFit '열 자동맟추구
End With
MsgBox "자 겁 완 료", vbInformation, 제목
rngRs.Close
rngDb.Close
Set rngRs = Nothing
Set rngDb = Nothing
End Sub
Sub 예제_1()
stSQL = "SELECT 구분, 차종, 품명, Sum(기말재고) AS 기말재고합계 " '셀렉드절 조건
stSQL = stSQL & "FROM [재고현황$] " '폼절조건
stSQL = stSQL & "GROUP BY 구분, 차종, 품명" '웨어절 조건은 그룹바이
Call 실행코드
End Sub
Sub 예제_2()
stSQL = "SELECT 구분, 차종, 품명, Sum(기초재고) AS 기초재고합계, Count(기말재고) AS 기말재고개수 " '셀렉드절 조건
stSQL = stSQL & "FROM [재고현황$] " '폼절조건
stSQL = stSQL & "GROUP BY 구분, 차종, 품명" '웨어절 조건은 그룹바이
Call 실행코드
End Sub |
|