正在使用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~我不知道您使用了什么。
希望这能让你走上正轨。 保罗