扫描物理条形码时从条形码中过滤出文本

问题描述 投票:0回答:2

我的包裹上有物理条形码。我需要过滤掉显示

"CustID: "
的文本,整个条形码读取为
"CustID: 123456798"

我的工作表包含

"123456798"
,我需要两者匹配。我有大约 40000 个条形码,因此在同时扫描每个条形码时删除
"CustID: "
效果很好,而且对我来说速度更快。

我在扫描控件源框中的条形码时使用 MS Access,我尝试输入

=Replace("","CustID: ","")
来删除文本,但当我尝试扫描条形码时没有返回任何内容。

我希望条形码显示

"123456789"
而不是
"CustID: 123456798"
,同时在条形码读入我的数字之前过滤掉每个文本。

我的决定是放

Dim lngCurBarCode1 As Long

If Me.txtRec.Text <> "" Then

    Me!txtRec.SetFocus
    If Me!txtRec.Text Like "RecID: *" Then
       Me!txtRec = Replace(Me!txtRec.Text, "RecID: ", "")
    End If
    lngCurBarCode1 = Me.txtRec.Text

End If

其中 textRec 是文本框

excel ms-access barcode scanning
2个回答
2
投票

我建议将以下事件过程添加到 MS Access 文本框的

After Update
On Change
事件中:

Private Sub YourTextbox_AfterUpdate()
    If YourTextbox Like "CustID: *" Then
        YourTextbox = Replace(YourTextbox, "CustID: ", "")
    End If
End Sub

YourTextbox
更改为文本框的名称。


0
投票

使用 Office 365,作为一个更通用的流程(即多个文本部分或更改的文本都可以被捕获);现在可以使用公式轻松完成此操作。

=LET(arr, VSTACK(CHAR(SEQUENCE(26,,65)),{" ";":"}), REDUCE(A1, arr, LAMBDA(a,b,SUBSTITUTE(a,b,""))))

创建 A-Z 数组并将其附加到“”和“:”数组

然后将数组值依次替换为空文本,以保留引用单元格中的数字分量。

如果您想删除所有数字,您可以执行类似的操作:

=REDUCE(A1, SEQUENCE(10,,0), LAMBDA(a,b, SUBSTITUTE(a, b, "")))
© www.soinside.com 2019 - 2024. All rights reserved.