从组合框输入VBA

时间:2013-11-15 19:51:27

标签: vba ms-access

这是我的第一个数据库开发项目,我有点迷失了。

我有一个带有组合框的表单,它连接到一个独特的Lot / Heat Number。当我在我的组合框中键入一个批号时,它会正确地从我的记录中拉出LotNumber。

我现在如何在VBA中操作此记录?我需要能够引用记录的所有字段以及前一个记录的所有字段来进行计算。我可以编程,但我根本不知道语法。

提前谢谢!

1 个答案:

答案 0 :(得分:0)

我对“你以前的记录”的含义并不十分清楚。要根据所选的LotNumber访问所有记录,您可以执行以下操作:

Dim db as Database
Dim rec as Recordset

Set db = CurrentDB
Set rec = db.OpenRecordset ("Select * from MyTable where LotNumber = '" & Me.ComboBox.Value & "'")

rec现在包含所有记录的数据集,其中LotNumber是您在组合中选择的任何内容。根据您希望如何选择“上一条记录”,您始终可以设置另一个记录集,如:

Set rec2 = db.OpenRecordset ("Select * from MyTable where Whatever = '" & SomeValue & "'")

如果你将它从LotNumber减去1开始,它将类似于:

Set rec2 = db.OpenRecordset ("Select * from MyTable where LotNumber = '" & (Me.ComboBox.Value) - 1 & "'")

然后你通过说:

来引用它们
MyVariable1 = rec("WhateverFieldName")
MyVariable2 = rec("SomeOtherFieldName")
MyVariable3 = rec2("WhateverFieldName")
MyVariable4 = rec2("SomeOtherFieldName")

应该注意的是,如果您的LotNumber是Integer数据类型,则需要删除WHERE子句中的单引号。