2014-04-04 4 views
2

아래 코드는 큰 프로젝트의 일부입니다.SQL VBA가 Excel VBA에서 작동하지 않음

아래 코드는 특정 열의 레코드를 계산합니다.

Sub qareportds() 
    Dim wb As Workbook 
    Dim ws As Worksheet 
    Dim con As ADODB.Connection 
    Dim rs As ADODB.Recordset 
    Dim sname As String 
    Dim i As Integer 
    Dim lrow As Integer 

    sname = ActiveSheet.Name 
    Set con = New ADODB.Connection 
    Set rs = New ADODB.Recordset 
    value1 = weeknum 

    con.ConnectionString = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" & ActiveWorkbook.FullName 

    If con.State = adStateClosed Then con.Open 

    Dim query1 As String 

    query1 = "SELECT COUNT(RETAIL_SKU) FROM [RETOUCH$]" 

    rs.Open query1, con, adOpenKeyset, adLockOptimistic 

    Sheets("SHEET3").Range("a1").CopyFromRecordset rs 

    rs.Close 

    Set rs = Nothing 
    Set con = Nothing 
    End Sub 

지금 내가 .I이 아래 쿼리

query1 = "SELECT COUNT(distinct RETAIL_SKU) FROM [RETOUCH$]" 

를 사용하는 열에서 고유 한 값을 계산해야하지만 .. 오류 아래

odbc driver does not support the requested properties 

업데이트 섹션을 던졌습니다 :

은 가능한이 COUNT(DISTINCT ...) 아직 supprted되지 그것 때문에이

SELECT REGION + '-' + STUDIO_SHORT_NAME, 
    AVG(WorkedHours), 
    AVG(OVERALL_CYCLE_TIME_HRS), 
    'Studio Retouch - By Studio Locations - Non IA' as value1, 
    13 as date1 
FROM [RETOUCH$] 
WHERE RETOUCH_LEVEL IN (1,2,3,4,5,6) 
    AND MERCHANT='Amazon' 
    AND SOURCE_TYPE='Studio' 
GROUP BY REGION + '-' + STUDIO_SHORT_NAME 

답변

5

SELECT COUNT(A.RETAIL_SKU) AS TotalCount FROM (SELECT DISTINCT RETAIL_SKU FROM [RETOUCH$]) AS A)

을 질의 - 삽입하는 것입니다. 시도해보십시오,

SELECT COUNT(A.RETAIL_SKU) AS TotalCount 
FROM 
(
    SELECT DISTINCT RETAIL_SKU 
    FROM [RETOUCH$] 
) AS A 
+0

완벽한 감사 ... 작동 :) –

+0

내 질문에 업데이트 섹션을 도와 드릴까요? –