MS Access:Trim 表单域输入前导字符
MS Access: Trim a leading character upon input into form field
我正在构建一个访问数据库,在我的主窗体上,我有一个名为 "PartNumber." 的字段我想使用 USB 扫描仪和条形码将数据(零件号)扫描到该字段中。但是,条形码包含一个前导 "P",它实际上不在零件编号中,仅用于识别该编号分配给的对象类型。我想在最初扫描数据时自动删除那个 P,以便数据库存储和显示正确的零件号。
我考虑过使用包含 mid() 和 len() 表达式的查询,然后将表单字段的控件设置为查询中的该字段。但是,这不会让我在表单的 table 中更改或输入数据,因此对于 table.
中尚未存在的任何记录都是无用的
非常感谢任何想法。谢谢!
我会在文本框的 AfterUpdate 事件中使用 VBA 执行此操作。
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 中的当前表格记录;批量更新或一次更新一个。无论哪种方式,在更新字段时在条形码读取结束时,只需使用 Replace()
in VBA 或 SQL:
SQL:
UPDATE tablename SET fieldname = Replace(fieldname, 'P', '')
VBA:
Me.fieldname = Replace(Me.fieldname, 'P', '')
我正在构建一个访问数据库,在我的主窗体上,我有一个名为 "PartNumber." 的字段我想使用 USB 扫描仪和条形码将数据(零件号)扫描到该字段中。但是,条形码包含一个前导 "P",它实际上不在零件编号中,仅用于识别该编号分配给的对象类型。我想在最初扫描数据时自动删除那个 P,以便数据库存储和显示正确的零件号。
我考虑过使用包含 mid() 和 len() 表达式的查询,然后将表单字段的控件设置为查询中的该字段。但是,这不会让我在表单的 table 中更改或输入数据,因此对于 table.
中尚未存在的任何记录都是无用的非常感谢任何想法。谢谢!
我会在文本框的 AfterUpdate 事件中使用 VBA 执行此操作。
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 中的当前表格记录;批量更新或一次更新一个。无论哪种方式,在更新字段时在条形码读取结束时,只需使用 Replace()
in VBA 或 SQL:
SQL:
UPDATE tablename SET fieldname = Replace(fieldname, 'P', '')
VBA:
Me.fieldname = Replace(Me.fieldname, 'P', '')