删除Access 2010查询中的某些字符串

时间:2017-03-24 13:14:55

标签: ms-access

我目前有一个以两种形式返回数据的Access查询

一种形式是5个数字,例如12345 另一种形式是2个字母,后跟5个数字,例如ab12345 这是在同一领域,我只需要获得数字。我无法剥离前两个字符,因为那时对于只有数字的ID,我正在缩短它。

2 个答案:

答案 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