【问题标题】:MS Access: Trim a leading character upon input into form fieldMS Access:在输入表单字段时修剪前导字符
【发布时间】:2015-09-25 19:38:32
【问题描述】:

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

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

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

【问题讨论】:

    标签: sql ms-access field ms-access-2013


    【解决方案1】:

    我会在文本框的 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
    

    【讨论】:

      【解决方案2】:

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

      SQL:

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

      VBA:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-17
        • 2023-04-01
        • 1970-01-01
        • 2021-04-16
        • 2022-01-16
        • 1970-01-01
        相关资源
        最近更新 更多