MS Access:在输入到表单字段时修剪一个前导字符



我正在构建一个访问数据库,在我的主表单上,我有一个名为"PartNumber "的字段。我想使用USB扫描仪和条形码扫描数据(零件号)到这个字段。然而,条形码包含一个前导"P",它实际上不在零件号中,仅用于标识该编号分配给的对象类型。我希望在最初扫描数据时自动删除该P,以便数据库存储并显示正确的零件号。

我考虑使用包含mid()和len()表达式的查询,然后将表单字段的控制设置为查询中的该字段。但是,这不会让我在表单的表中更改或输入数据,因此对于表中没有的任何记录都是无用的。

任何想法都非常感谢。谢谢!

我会用VBA,在文本框的AfterUpdate事件。

Private Sub PartNumber_AfterUpdate()
    If Left(Me!PartNumber, 1) = "P" Then
        ' Remove the first character
        Me!PartNumber = Mid(Me!PartNumber, 2)
    End If
End Sub

根据条形码API VBA的运行方式:通过SQL更新表或更新VBA中的当前表单记录;批量更新或一次更新一个。在更新字段时,在条形码读取结束时,只需在VBA或SQL中使用Replace():

SQL:

UPDATE tablename SET fieldname = Replace(fieldname, 'P', '')

VBA:

Me.fieldname = Replace(Me.fieldname, 'P', '')

最新更新