我正在將sql導入到我的Access數據庫中,並且正在將數據解析到正確的表和字段中。我再次轉向你們的大師們以幫助解決問題解析Access中的字符串值
其中一個導入的字段包含逗號分隔的值,需要進行分隔。字符串中可能存在1到10個可能的值。
PHO,Rosgen,NRCS,EMAP,T-DL,YSI-DL
我已經想通了,如果我做的所有值相同的長度(比如4個字符),我可以得到第一,最後和第一逗號之後解析,但似乎無法得到提取的中間值正確。
SELECT Left([FieldForms],InStr([FieldForms],",")-1) AS DEQ_SampleTypeID
FROM tblSiteVisit
UNION ALL
SELECT Mid([FieldForms],InStr([FieldForms],",")+1,4) AS DEQ_SampleTypeID
FROM tblSiteVisit
UNION ALL
SELECT Mid([FieldForms], 11, 4) AS DEQ_SampleTypeID
FROM tblSiteVisit
UNION ALL
SELECT Mid([FieldForms], 16, 4) AS DEQ_SampleTypeID
FROM tblSiteVisit
UNION ALL
SELECT Mid([FieldForms], 21, 4) AS DEQ_SampleTypeID
FROM tblSiteVisit
UNION ALL
SELECT Mid([FieldForms],InStrRev([FieldForms],",")-4,4) AS DEQ_SampleTypeID
FROM tblSiteVisit
UNION ALL
SELECT Right([FieldForms],InStr([FieldForms],",")-1) AS DEQ_SampleTypeID
FROM tblSiteVisit
如果我使用InStrRev或右邊的功能,我得到重複,如果有比也使用空行的中期功能結果的最大較少。
有沒有辦法來解析出像這樣的字符串,只能從字符串
這將是更容易的IMO與Access VBA過程而不是查詢。這對你來說會是一個合適的選擇嗎? – HansUp
任何可以工作的東西都是一個選項 – pja
'Split(FieldForms,「,」)'會給你一個字符串數組。向數組中的每個項添加一行到目標表。 – HansUp