我目前有一个以两种形式返回数据的Access查询
一种形式是5个数字,例如12345 另一种形式是2个字母,后跟5个数字,例如ab12345 这是在同一领域,我只需要获得数字。我无法剥离前两个字符,因为那时对于只有数字的ID,我正在缩短它。
答案 0 :(得分:0)
使用选择查询作为表单的源,使用表达式去除两个主要字符:
Select *, Right([XX0000NumberField], 5) As NumberOnlyID
From YourTable
或者是混合数字:
char <- c("A", "K", "I", "B", "I", "N", "G", "O", "Z", "Q")
num <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
df <- data.frame(num, char)
word <- "BINGO"
index <- NULL
for(z in 1:nrow(df)){
if(substr(word, 1,1) == as.character(df[z,2])){
index <- c(index, z)
word <- substr(word, 2, nchar(word))
}
}
df[index,]
答案 1 :(得分:0)
使用Val(string)
在数字后删除字母。
使用pVal(string)
在数字前删除字母。
string1 = "123456abcd1234"
val1 = val(string1) => val1 = 123456
string2 = "aqweqweasd123456abcd1234"
val2 = pval(string2) => val2 = 123456
如果您有“asdasd123asasd456”并且您想要123456作为结果,您可以修改pval以替换输出中的所有非数字值
这是pVal函数。将其放在模块中并从任何地方使用
Public Function pVal(s As String)
Dim i As Long
For i = 1 To Len(s)
If IsNumeric(Mid(s, i, 1)) Then
pVal = Val(Mid(s, i, Len(s)))
Exit Function
End If
Next i
End Function