【问题标题】:How can I write a macro to check to for a related record in another table?如何编写一个宏来检查另一个表中的相关记录?
【发布时间】:2013-01-21 07:13:41
【问题描述】:

我想编写一个宏,每次将记录输入某个表时都会运行该宏。我想要宏做的是检查不同表中是否有相关记录,如果有,将数据类型是/否的字段更改为是。如果还没有定义相关记录,我什么都不做,因为 Yes/No 字段的默认值为 No。

这两个表在this way.中有关联

所以当一条记录输入到 tblOrders 表中时,我需要检查 tblRecipes 表中是否存在相关记录,如果可能,我想使用宏来执行此操作,因为我将重复此操作对于输入的每个订单。

这可能吗,如果可以,请问宏语言是什么?

【问题讨论】:

    标签: ms-access-2010


    【解决方案1】:

    例如,通常的做法是使用表单进行数据输入,并在控件的更新前事件中检查食谱表。

    Private Sub CustomerPartNumber_BeforeUpdate(Cancel As Integer)
        If Not IsNull(DLookup( _
         "CustPartNum", "tblRecipes", "CustPartNum=" & Me.CustomerPartNumber)) Then
            Me.AYesNoField = True
        Else
            Me.AYesNoField = False
        End If
    End Sub
    

    但是,在 Access 2010 中,您可以使用 data macros。只要在 Orders 中更改 CustomerPartNumber,此示例就会运行。

    【讨论】:

    • 是的,如果您在 MS Access 中工作,请使用 VBA,它会给您更多的控制权。我已经展示了更新前事件以防您需要取消更新,但如果您所做的只是更改 YesNo 字段,更新后也一样好。
    • 对于文本,您需要引号:"CustPartNum", "tblRecipes", "CustPartNum='" & Me.CustomerPartNumber & "'"
    • 您不应该存储公司名称,这会导致问题,您应该存储ID,您总是可以从查询中获取名称。您可以设置组合与行源 select id, company from customers -- column widths 0;2 -- column count 2 -- bound column 1 绑定列是将存储到 control source 中设置的字段的值
    • 使用查询作为报表的基础:select company, orderdetail from orders inner join customers on customers.id=orders.customerid,假设只有一个客户可以有订单,如果订单并不总是有关联客户,则需要left join
    • 点赞:SELECT tblOrders.SalesOrderNumber, tblOrders.Customer, tblOrders.PONumber, tblOrders.OrderDate, tblOrders.DueDate, tblOrders.CustomerPartNumber, tblOrders.FONumber, tblOrders.Alloy, tblOrders.Temper, tblOrders.Finish, tblRecipes.StepOne, tblRecipes.StepTwo, tblRecipes.StepThree FROM (tblRecipes INNER JOIN tblOrders ON tblRecipes.CustPartNum = tblOrders.CustomerPartNumber) INNER JOIN tblCustomers ON tblOrders.Customer = tblCustomers.ID WHERE tblOrders.FONumber=[FO Number?] 使用查询设计窗口来做对。
    猜你喜欢
    • 2022-09-24
    • 1970-01-01
    • 2021-12-30
    • 2020-08-14
    • 2013-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-30
    相关资源
    最近更新 更多