所有的使用DAO一个一个记录去检查。
相加、相减、特征等问题使用left(),len(),val(),mid().do while过程判断。
比如判断AK14525
txt1=ak14525
len1=1
tt=len(txt1)
do while len1<tt
if left(txt1,1)<"a" then
ObjectValue=txt1
exit do
else
len1=2
end if
checkT=mid(txt1,len1,1)
if checkT<"a" then
ObjectValue=right(txt1,tt-len1)
exit do
len1=len1+1
loop
if len1=1 then
表字段值=val(txt1)+1
else
表字段值=left(txt1,len1) & val(mid(txt1,len1-1))+1
end if
msgbox "OK!"
end sub
只是思路,记得引用DAO。
刚才要去吃饭
下面给出一个文本数值混合编号的增减量函数,看是否有启发:
Function TextNumAdd(NumStr As String, NumAdd As Integer) As String '增量可以为负数
Dim i As Integer
Const zerostr = "00000000000000000000"
'取右边数值字符串
For i = 1 To Len(NumStr)
If IsNumeric(Right(NumStr, i)) Then TextNumAdd = Right(NumStr, i)
Next
'如果数值加上增量的位数小于原来数值字符串则补0
If Len(Trim(Str(Val(TextNumAdd) + NumAdd))) < Len(TextNumAdd) Then
TextNumAdd = Left(NumStr, Len(NumStr) - Len(TextNumAdd)) & _
Left(zerostr, Len(TextNumAdd) - Len(Trim(Str(Val(TextNumAdd) + NumAdd)))) & _
Trim(Str(Val(TextNumAdd) + NumAdd))
Else
TextNumAdd = Left(NumStr, Len(NumStr) - Len(TextNumAdd)) & _
Trim(Str(Val(TextNumAdd) + NumAdd))
End If
End Function