用于检查是否存在条形码输入的表达式,在这种情况下,该条形码的加载数据将继续创建新记录


嗨,我

正在使用Access 2007,我正在做一个程序来输入库存项目。

我正在使用一个表格,我需要确保当用户输入产品的条形码时,系统会检查表中是否存在。如果它确实存在,我需要将此现有项目的数据加载到同一表单的 3 个附加字段中,否则继续创建新记录。

现在我正在尝试在之前的更新中使用设置临时变量,但是我无法正确处理。

请提出任何建议。

字段名称 : [条形码]要查看的表是"墨盒静态数据"如果存在条形码,要填写的其他字段包括:[墨盒] , [最终用户] , [电话号码]

感谢任何帮助

问候

托尼

我会使用访问向导插入一个组合框。

从"墨盒静态数据"中选择数据,即[条形码] [墨盒] [最终用户] [电话号码]

不要隐藏第一行,并确保在生成向导时可以在向导中看到数据宽度。

完成后,转到组合 [数据] [行源] 并单击三个 {...}

检查显示的内容~例如按条形码排序,删除空值等。

如果列宽错误,可以在[格式选项卡中更改列宽]。

列标题默认为"否",可能需要更改,或者您可能对此感到满意。

在[其他]名称检查下,您有一个理智的名称,例如cbo_barcode_search

现在将此代码附加到组合框的 AfterUpdate 属性:

Sub cbo_barcode_search_AfterUpdate ()
    Dim rs As DAO.Recordset
    If Not IsNull(Me.cbo_barcode_search) Then
        'Save before move.
        If Me.Dirty Then
            Me.Dirty = False
        End If
        'Search in the clone set.
        Set rs = Me.RecordsetClone
        rs.FindFirst "[BarCode] = " & Me.cbo_barcode_search
        'rs.FindFirst "[BarCode] = """ & Me.cbo_barcode_search & """" 'for text
        If rs.NoMatch Then
            'Trigger new form or add the just typed data into your form as required
            ‘e.g. me.field1 = cbo_barcode_search.column(0)  ' Barcode
        Else
            'Display the found record in the form.
            ' Usually use  Me.Bookmark = rs.Bookmark  but your question suggests this is not what you want so
            'NOTE:  First column data is column(0) NOT column(1)
            me.field1 = cbo_barcode_search.column(0)  ' Barcode
            me.field2 = cbo_barcode_search.column(1)  ' Cartridge
            me.field3 = cbo_barcode_search.column(2)  ' end user
            me.field4 = cbo_barcode_search.column(3)  ' phone no
        End If
        Set rs = Nothing
    End If
End Sub

您需要修改它以匹配您的字段名称(例如 me.field1 可能是 me.barcode,但它可能是me.str_barcode~我不知道您使用了什么。

希望这能让你走上正轨。 保罗

最新更新