2017-07-25 41 views
0

我有一列有多個服務代碼,我正在尋找拆分爲不同的列以便在Access中進行統計。一條線的一個例子是這樣的:將字符串數據拆分爲多列訪問

$= ** ;= AA AC BB1 CA5 CC4 CC5 CC6 CC7 CC9 CD1 CI CR D0 D1 D2 D3 D9 F> F> FA7 FA9 FB1 HA6 KJ P* P? PW PZ QG V4 WJ 1D 2O 

的目標是創建一個AA柱,AC列等,以吻合其服務代碼被用於哪一行。此外,每行服務代碼都與其他服務代碼有獨特的不同。有什麼想法嗎?我對宏和SQL查詢也很熟悉。

這是我到目前爲止有:

Sub splitColumn() 

Dim rst As DAO.Recordset 
Dim arr() As String 
Dim i As Integer 

Set rst = CurrentDb.OpenRecordset("SELECT * FROM _Raw") 
arr = split(rst("Serv Cde String"), ",") 

For i = 0 To UBound(arr) 
    '/do something here 
Next i 

End Sub 

謝謝

麗貝卡

+0

請[編輯](https://開頭stackoverflow.com/posts/45312091/edit)這個問題,並在那裏包含你的代碼。除了評論中的代碼幾乎不可讀,問題本身就是應該放置所有需要的信息的地方。 – YowE3K

+0

這個問題基本上與https://stackoverflow.com/questions/45315638/split-one-field-column-into-multiple-columns-with-varying-figure-counts-sql-acce相同,都是樣本數據和意圖。這可能是一個家庭作業問題?沒關係,但請參閱https://stackoverflow.com/help/on-topic。拆分/解析字符串應該與如何存儲解析數據有關。至少你應該展示更多關於你如何計劃組織/存儲分割數據的工作,然後尋求更具體的幫助。 –

+0

以下是一個提示:您可能需要另一個至少包含兩列的表:原始主鍵值和分隔的代碼字段,尤其是因爲您有各種可能唯一的代碼。您可能不想嘗試爲每個代碼創建單獨的列。那麼你將不得不編寫查詢來做「理貨」。 –

回答

0

的分離似乎是錯誤的:

Sub splitColumn() 

    Dim rst As DAO.Recordset 
    Dim arr As Variant 
    Dim i As Integer 

    Set rst = CurrentDb.OpenRecordset("SELECT * FROM _Raw") 
    arr = Split(rst("Serv Cde String").Value, " ") 

    For i = LBound(arr) To UBound(arr) 
     '/do something here 
     Debug.Print i, arr(i) 
    Next 

    Set rst = Nothing 

End Sub 
+0

我將如何創建一個新的字段/列來計算每行使用的特定服務代碼? –