在扫描物理条形码时过滤掉条形码中的文本



我的包裹上有物理条形码。我需要过滤掉一个文本,上面写着整个条形码"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 是文本框

我建议将以下事件过程添加到MS Access文本框的After UpdateOn Change事件中:

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

YourTextbox更改为文本框的名称。

使用 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, "")))

相关内容

最新更新