2013-12-19 41 views
0

我需要一些幫助與這一個,我似乎無法找到正確的問題要求得到答案。我們有一張基本上是1個主鍵的表格,130個以上的軟件標題是Yes/No字段。我需要通過字段名稱來計算值(count),我們可以通過一個簡單的聚合查詢來進行計數,但我的理解是,只會返回查詢創建時所包含字段的結果。隨着更多SW字段被添加到表中,我還需要包括這些數字。有沒有簡單的方法來完成這一點。我的大腦被炸了!提前致謝。訪問2013 - 計數字段值,同時添加任何新字段

PK SW1 SW2 SW3 ... 
1 1 0 1 
2 1 0 0 
3 0 1 1 

所以我需要返回:

SW1 SW2 SW3 
    2 1 2 

如果SW4被添加到表,包括該領域也成果。

克里斯

+0

我想你已經發現了爲什麼這是一個可怕的數據結構。如果您可以修改它,您可能會重新考慮數據庫設計。 – JohnFx

回答

1

假設你正在使用Access中的VB,你可以得到字段名和動態地構建任何添加的字段的新查詢。

以下代碼來自An example of how to get field names of a table。獲取字段名稱後,將它們放入數組中,並刪除查詢構建時存在的所有字段。然後爲任何添加的字段動態構建新的查詢。可能比你希望的工作多一些,但它會起作用。

Public Function fReturnFieldList(strTableName) 
Dim rst As DAO.Recordset 
Dim fld As Field 
Dim strReturn As String 

    On Error GoTo ProcError 

    Set rst = CurrentDb.OpenRecordset(strTableName) 
    For Each fld In rst.Fields 
     strReturn = strReturn & ", " & fld.Name 
    Next fld 

EXIT_Proc: 
    fReturnFieldList = Mid(strReturn, 3) 
    On Error GoTo 0 
    Exit Function 

ProcError: 
    strReturn = ", Cannot process " & strTableName 
    Resume EXIT_Proc 

End Function 
+0

我明白,表結構可怕,但周圍的工作就像一個魅力!感謝您的協助! – CSharp821