0
在表格的一個短文本列中,這樣的數據被存儲爲「any_text_N」,其中N是每行特定的某個數字。
我需要用N + 1代替N.
任何人都可以提供查詢來做到這一點?
用於替換字符串中的數字的查詢
在表格的一個短文本列中,這樣的數據被存儲爲「any_text_N」,其中N是每行特定的某個數字。
我需要用N + 1代替N.
任何人都可以提供查詢來做到這一點?
用於替換字符串中的數字的查詢
假設(1)數字始終是最右邊的字符,並且(2)數字前面有下劃線,您可以創建一個函數來解析數字並返回增加的數值(請參見下文)。
然後對其進行測試,創建一個查詢類似如下(請確保您測試先行!!!):
SELECT Table2.MyText, resetnbr([MyText]) AS NewVal
FROM Table2
WHERE (((Table2.MyText) Is Not Null));
然後更新您的數據:
UPDATE Table2 SET Table2.MyText= resetnbr([MyText])
WHERE (((Table2.MyText) Is Not Null));
Public Function ResetNbr(strIn As String) As String
'Assumes: (1) Number in rightmost position of string; (2) underscore preceeds number
Dim iLen As Integer
Dim i As Integer
Dim sNbr As String
If strIn = "" Then
ResetNbr = strIn
Exit Function
End If
iLen = Len(strIn)
For i = iLen To 1 Step -1
If Mid(strIn, i, 1) = "_" Then
Exit For
End If
Next i
If i > 1 Then
sNbr = Mid(strIn, i + 1, 99)
sNbr = sNbr + 1
ResetNbr = left(strIn, i) & sNbr
Else
' No underscore found!
ResetNbr = strIn
End If
End Function
感謝您的回覆!這是非常有益的! – 2014-10-10 19:12:55
是 '_N' 總是最右邊的字符,並且當你爲每一行說'具體'時,你的意思是獨一無二的還是真的與一行有關? – 2014-10-10 15:25:09