0
我有一個表格,其中存儲了用分號分隔的時間塊(;
)。我想創建一個行,每次塊,例如,給予爲包含分隔字符串的列中的每個項目創建重複行
我想創建一個行,每次塊
請讓我知道如果這可能在Access中。
編輯
我嘗試使用此查詢
SELECT * INTO ImportedData
FROM (
SELECT [SourceData].[Time block], [SourceData].[Work History Id],[SourceData].[Operation Code]
FROM SourceData
WHERE InStr([SourceData].[Time block], ';') = 0
UNION ALL
SELECT Left([SourceData].[Time block], InStr([SourceData].[Time block], ';') - 1),[SourceData].[Work History Id], [SourceData].[Operation Code]
FROM SourceData
WHERE InStr([SourceData].[Time block], ';') > 0
UNION ALL
SELECT Mid([SourceData].[Time block], InStr([SourceData].[Time block], ';') + 1), [SourceData].[Work History Id], [SourceData].[Operation Code]
FROM SourceData
WHERE InStr([SourceData].[Time block], ';') > 0) AS CleanedUp;
,我也試過這個VBA代碼,沒有運氣。
Public Sub addToTable()
Dim rstObj As DAO.Recordset, dbObj As DAO.Database
Dim InsertSQL As String
Set dbObj = CurrentDb()
Set rstObj = dbObj.OpenRecordset("Query1")
Do While Not rstObj.EOF
Dim memArr() As String
memArr = Split(rstObj.Fields("Time block"), ",")
For i = 0 To UBound(memArr)
InsertSQL = "SELECT*INTO ImportedData(Time block, Work History ID) VALUES(""" & rstObj.Fields("Time block") & """, """ & memArr(i) & """)"
DoCmd.RunSQL (InsertSQL)
Next
rstObj.MoveNext
Loop
End Sub
爲什麼這個問題被標記下來? – user3667159
「這個問題爲什麼被標記下來?」 - 可能是因爲你問過「是否有可能?」這個問題沒有給出任何關於你已經研究過什麼或者你曾經嘗試過什麼的跡象。看看[Meta上的這個答案](http://meta.stackoverflow.com/a/269359/2144390)。 –
我爲監督道歉,我已經嘗試了不同的接近通過查詢,迄今爲止這是唯一有點工作正常,提供的SQL無法正常工作,因爲它插入空白記錄或有時不正確地拆分字符串,任何幫助將非常感謝 – user3667159