我正在测试一些东西。我正在尝试构建跟踪信息跟踪器。我也是MS Access的新手。
Private Sub btn_Submit_Click()
CurrentDb.Execute _
"INSERT INTO TrackNum_Table(TrackingNum_TrackNum) " & _
"VALUES ('" & Me.txt_Track.Value & "')"
到目前为止,它只是一个文本框,看看它是否有效。扫描工作。 UPS标签具有字母数字跟踪,而Fedex标签只有数字,但扫描时它们具有前导零。
我希望暂时通过提交按钮存储扫描的数字,但会尝试在扫描时集成自动日志记录。
当我扫描到文本框时,我想在按下提交按钮之前删除前导零。
任何帮助都会有所帮助!
答案 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的标签。