【发布时间】:2013-11-15 19:51:26
【问题描述】:
这是我的第一个数据库开发项目,我有点迷茫。
我有一个带有组合框的表单,该组合框与唯一的批次/加热编号挂钩。当我在组合框中输入批号时,它会正确地从我的记录中提取批号。
我现在如何在 VBA 中对这条记录进行操作?我需要能够引用记录的所有字段以及上一条记录的所有字段来进行计算。我会编程,但我就是不懂语法。
提前谢谢你!
【问题讨论】:
这是我的第一个数据库开发项目,我有点迷茫。
我有一个带有组合框的表单,该组合框与唯一的批次/加热编号挂钩。当我在组合框中输入批号时,它会正确地从我的记录中提取批号。
我现在如何在 VBA 中对这条记录进行操作?我需要能够引用记录的所有字段以及上一条记录的所有字段来进行计算。我会编程,但我就是不懂语法。
提前谢谢你!
【问题讨论】:
我不太清楚您所说的“以前的记录”是什么意思。要访问基于所选 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 子句中的单引号。
【讨论】: