【问题标题】:Update junction table更新联结表
【发布时间】:2013-05-01 02:14:56
【问题描述】:

这是我的桌子

Proposal
--------------
Id | ProposalNo

SalesCall
---------------
Id

SalesCallReference (Junction Table)
---------------
Id | ProposalID | SalesCallID

一个销售电话可以与许多提案相关

所以在我的销售电话表单中,我得到了一个包含proposalNo 列表的连续子表单。有一个组合框可以显示并选择要链接的提案否。

但是当我选择一个新提案时,MS-Access 会为该提案创建一个新 ID,而不是 salesCallReference.id

因此它会创建新的空提案。

如何仅更新联结表 SalesCallReference 以及为什么 MS ACCESS 在我添加提案时会为提案创建新 ID?

子表单中的组合框有 2 列,proposalNoProposalId。我尝试在组合框的单击事件上更新隐藏的 proposalId 文本框,但没有成功。

如果有帮助,这是我加载子表单的查询

SELECT Proposals.ProposalID, Proposals.ProposalNo, SalesCallReference.ProposalID, SalesCallReference.ID, SalesCallReference.SalesCallID AS ReferenceSalesID
FROM Proposals 
   INNER JOIN SalesCallReference ON Proposals.ProposalID = SalesCallReference.ProposalID;

谢谢

【问题讨论】:

    标签: vba ms-access ms-access-2010


    【解决方案1】:

    听起来主窗体使用SalesCall(或基于SalesCall 的查询)作为其记录源。在这种情况下,使用SalesCallReference 作为子表单记录源并将链接主字段设置为SalesCall.Id 并将子字段设置为SalesCallReference.SalesCallID。这样,新的子表单行将从父表单“继承”它们的 SalesCallID 值。

    在子表单中为ProposalID 使用组合框或列表框。

    【讨论】:

    • 抱歉,我在看到您的问题更新之前提交了该信息。我可能不合时宜,但我怀疑子窗体控件上的链接主/子属性与此处有关。
    • 对不起,我忘了提到主/子链接,但它已经这样做了。我将删除组合框旁边的所有控件并尝试您的答案。我认为我需要为表格中的每个项目进行控制。谢谢
    • 如果只使用SalesCallReference 表作为子表单记录源是否有效?
    • 很好,它有效。问题是记录源。我将它更改为 salescallReference 就像你说的那样,而不是我的查询,我得到了带有查询的组合框的 proposalno。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多