首页 > 解决方案 > 根据条件在数据库中创建新行

问题描述

我有一个似乎找不到答案的问题(我是新手,显然我不知道如何正确创建附加查询......)

我有一个表格“篮子”,我每周在表格上创建新行。每次我创建一个新的“篮子”时,我希望我的“跟随篮子”表增加一个新行,按照适当的条件(我的表“客户”)为每个客户附加。

所以我需要一个查询(我认为),为每个“客户”从“关注篮子”中的“篮子”复制数据,其中每个“客户”的条件与“篮子”匹配。你明白我的意思吗?

示例:我为第 S1 周创建篮子“P 型” 它为每个订阅篮子“P 型”的客户在“关注篮子”中创建第 S1 周篮子。在“跟随篮子”中,我可以说他们是否已经交付并支付了篮子。

谢谢您的帮助...

这是我的数据库结构

在此处输入图像描述

Panier : 购物篮
suivi_paiement_panier : 关注购物篮
Particuliers : 顾客

I also have a "semainier" field (weeks) because we create specific baskets each week and all the follow up is made like that (S1, S2, ... = Week1, week2...)

标签: ms-accessms-access-2010

解决方案


您希望根据新数据和现有数据“批量创建”一组新记录。INSERT SELECT SQL 语句通常用于完成此操作。

多值字段 Type_de_panier 复杂但易于管理。

另一个复杂因素是引用表单控件来提取标准参数,因为可能的表单/子表单排列涉及数据输入,并且参数来自不同的表单。如果您将 Samainier 作为主(父)表单,将 Panier 作为子表单,并且代码位于 Panier 表单后面,请考虑:

DoCmd.RunCommand acCmdSaveRecord
CurrentDb.Execute "INSERT INTO Suivi_paiement_paniers(IDDate, IDT1) " & _
    "SELECT " & Me.Parent!Semainier_IDDate & " AS SID, IDT1 FROM Particuliers " & _
    "WHERE Fréquence='" & Me.Parent!Paire_Impaire & "' AND Actif=True " & _
    "AND IDT1 IN " & _
        "(SELECT IDT1 FROM Particuliers WHERE Type_de_panier.Value='" & Me!Type_Panier & "')"

如果您的表格排列不同,请进行调整。

现在必须弄清楚将代码放入哪个事件。如果您想依靠用户来启动此操作,请使用按钮单击。


推荐阅读