【问题标题】:How to apply .FindFirst method in VBA for MS Access?如何在 VBA 中为 MS Access 应用 .FindFirst 方法?
【发布时间】:2022-12-11 18:23:21
【问题描述】:

我创建了一个名为 tblProduct 的表,其中包含 3 个字段,Product_ID(短文本)、Product_Name(短文本)、Sale_Unit(短文本),Product_ID 是主键。
然后有一个表单名称 frm_Product,以 cboProductID 作为组合框,行源设置为:

SELECT tblProduct.ID, tblProduct.Product_Name, tblProduct.Sale_Unit
FROM tblProduct
ORDER BY tblProduct.Product_Name;

它的绑定列设置为1,列数设置为3,列宽设置为0cm;4cm;2cm,然后有2个文本框,txtProduct_Name和txtSale_Unit。
然后我为cboProductID的AfterUpdate事件写了如下代码:

Private Sub cboProductID_AfterUpdate()
    
    Set rs1 = CurrentDb.OpenRecordset("tblProduct", dbOpenDynaset, dbSeeChanges)
    rs1.FindFirst "ID = '" & "Me.cboProductID.Column(0)" '"
    txtProduct_Name = rs1!Product_Name
    txtSale_Unit = rs1!Sale_Unit
    
End Sub

代码在 .FindFirst 方法处停止。

【问题讨论】:

    标签: vba ms-access


    【解决方案1】:

    尝试这个:

    rs1.FindFirst "ID = '" & Me.cboProductID.Column(0) & "'"
    

    如果您在该表达式周围加上引号,那么您最终会搜索 Me.cboproductID.Column(0) 的 ID,但我认为这不是您要查找的“ID”。

    【讨论】:

      【解决方案2】:

      试试这个:删除 me.cboProdtID.Column(0) 周围的引号

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多