MSAccess条形码前导零

时间:2018-03-08 03:56:29

标签: ms-access ms-access-2010 ms-access-2013

我正在测试一些东西。我正在尝试构建跟踪信息跟踪器。我也是MS Access的新手。

Private Sub btn_Submit_Click()
CurrentDb.Execute _
    "INSERT INTO TrackNum_Table(TrackingNum_TrackNum) " & _
    "VALUES ('" & Me.txt_Track.Value & "')"

到目前为止,它只是一个文本框,看看它是否有效。扫描工作。 UPS标签具有字母数字跟踪,而Fedex标签只有数字,但扫描时它们具有前导零。

我希望暂时通过提交按钮存储扫描的数字,但会尝试在扫描时集成自动日志记录。

当我扫描到文本框时,我想在按下提交按钮之前删除前导零。

任何帮助都会有所帮助!

2 个答案:

答案 0 :(得分:1)

你想要InStr()和Mid()。

在您执行CurrentDb.Execute

之前
Dim strIn As String
Dim i As Integer
Dim iLen As Integer

strIn = Me.txt_Track.Value

iLen = Len(strIn)

For i = 1 To iLen
    If InStr(strIn, "0") = 1 Then 'by default checks the first char.
        strIn = Mid(strIn, 2)     'strIn now starts at the 2nd char.
    End If
Next i

...insert into...values...strIn

答案 1 :(得分:1)

wazz共享的一种更简单的替代方法如下:

Private Sub btn_Submit_Click()
Dim str As String
If IsNumeric(Me.txt_Track.Value) Then
    str = Int(Me.txt_Track.Value)
Else
    str = Me.txt_Track.Value
End If
CurrentDb.Execute _
    "INSERT INTO TrackNum_Table(TrackingNum_TrackNum) " & _
    "VALUES ('" & str & "')"

如果它是数字的话,这将从字段中删除任何前导零和小数,并且因为只有FedEx标签是数字的,所以它不会影响UPS的标签。