2014-07-09 96 views
0

![WELD TRACKING DATABASE] [1]在單個字段中結合多列

嗨!

我希望你能幫我解決我的問題。 我有6列(Col1,Col2,Col3,Col4,Col5,Col6),每行都有唯一的ID。 現在,我試圖合併/合併6列在一個單一的領域,但我堅持+和&操作。我希望查詢結果如下。

ROW1(Col1中= 10 col2的= 10,COL3 = 10,COL4 = 10,COL5 = 10,COL6 = 10;查詢= 10)
行2(Col1中= 10 col2的= 10,COL3 = 20,COL4 = 20,Col5 = 30,Col6 = 30; Query = 10/20/30)
Row3(Col1 = 10 Col2 = 20,Col3 = 30,Col4 = 40,Col5 = 50,Col6 = 60; Query = 10/20/30/40/50/60)

謝謝各位提前!

回答

0

首先我想說,我認爲你應該重溫你存儲數據的方式。如果您覺得需要按照這種方式進行分組,則有可能沒有「正確」設置。通常情況下,存儲數據的方式是一個問題。我可能會誤解,但是對於給定的信息會有這種感覺。

爲了解決您的問題,我將使用自定義函數。只使用SQL

扔功能模塊中,並把它在你的查詢(例如CombinedColumns: GroupByColumns([a],[b],[c],[d],[e],[f]))我不能想辦法查詢和GROUP BY列,其中a,b,c,d,e,f是字段名

Function GroupByColumns(ParamArray flds()) 
    Dim dict As Dictionary 
    Dim key 
    Dim i As Long 

    Set dict = New Dictionary 
    For i = LBound(flds) To UBound(flds) 
     If dict.Exists(flds(i)) = False Then 
      dict.Add flds(i), flds(i) 
     End If 
    Next 
    For Each key In dict.Keys 
     If GroupByColumns = "" Then 
      GroupByColumns = key 
     Else 
      GroupByColumns = GroupByColumns & "/" & key 
     End If 
    Next 
End Function