【问题标题】:VBA input from a combo box来自组合框的 VBA 输入
【发布时间】:2013-11-15 19:51:26
【问题描述】:

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

我有一个带有组合框的表单,该组合框与唯一的批次/加热编号挂钩。当我在组合框中输入批号时,它会正确地从我的记录中提取批号。

我现在如何在 VBA 中对这条记录进行操作?我需要能够引用记录的所有字段以及上一条记录的所有字段来进行计算。我会编程,但我就是不懂语法。

提前谢谢你!

【问题讨论】:

    标签: vba ms-access


    【解决方案1】:

    我不太清楚您所说的“以前的记录”是什么意思。要访问基于所选 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 子句中的单引号。

    【讨论】:

    • 根据之前的记录,它可能是 LotNumber-1。这似乎正是我需要的!谢谢 我的 VBA 的结果将在我的表单上输出,并将打印在报告上...从 VBA 中的变量到我的 Access 表单中的表的最佳方法是什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-28
    • 2022-12-20
    • 2019-04-30
    • 1970-01-01
    • 1970-01-01
    • 2021-03-18
    相关资源
    最近更新 更多