我试图在MS Access中设置一个代码,以增加文本字段的最后四个位置。文本字段中的数字有七个数字。例如:
0010012
0010013
前三位数字代表制造商,后四位数字代表产品。这些是我要增加的。我正在使用下面的代码,该代码是我在网上找到的,应该可以使用,但是我不断收到错误消息:“运行时错误'13':类型不匹配”
Dim varSifra As Variant
varSifra = DMax("[Sifra]", "tblProducts", "[Manufacturer] = " & Forms!frmProduct!Manufacturer)
Me.[Sifra] = Left(varSifra, 3) & Format(Val(Right(varSifra, 4)) + 1, "0000")
我尝试了不带Format函数的代码,但得到的是00114,而不是递增的数字0010014
能帮上忙吗?
Sub Test()
Debug.Print IncrementProduct("0010001") //Prints 0010002
Debug.Print IncrementProduct("0010012") //Prints 0010013
Debug.Print IncrementProduct("0010099") //Prints 0010100
End Sub
Function IncrementProduct(code As String) As String
Dim manufacturerCode As String, padding As String, productCode As String
manufacturerCode = VBA.Left$(code, 3)
productCode = CInt(VBA.Right$(code, Len(code) - Len(manufacturerCode))) + 1
padding = Application.WorksheetFunction.Rept("0", 4 - Len(productCode))
IncrementProduct = manufacturerCode & padding & productCode
End Function
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句