以下代码是大项目的一部分。
以下代码统计特定列中的记录。
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
现在我需要计算列中的不同值。我使用了以下查询
query1 = "SELECT COUNT(distinct RETAIL_SKU) FROM [RETOUCH$]"
但它会低于错误..
odbc driver does not support the requested properties
更新部分:
是否可以插入此查询 -
SELECT COUNT(A.RETAIL_SKU) AS TotalCount FROM (SELECT DISTINCT RETAIL_SKU FROM [RETOUCH$]) AS A)
进入这个
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
答案 0 :(得分:5)
因为COUNT(DISTINCT ...)
尚不支持。尝试,
SELECT COUNT(A.RETAIL_SKU) AS TotalCount
FROM
(
SELECT DISTINCT RETAIL_SKU
FROM [RETOUCH$]
) AS A