【问题标题】:Microsoft Access - I want my mainform to create X records in subform base on fields automaticallyMicrosoft Access - 我希望我的主窗体根据字段自动在子窗体中创建 X 记录
【发布时间】:2014-10-26 23:14:25
【问题描述】:

我一直在思考这背后的逻辑,但我似乎无法找出处理这个问题的最佳方法。

1 - 后插入

2 - 未绑定字段 + 插入 X 次的按钮

3 - 我愿意接受建议

表格

关系

我正在讨论使用AfterInsert 来处理所有事情。由于NoOfBoxes 将决定记录的数量,我只需要将MergeNoisCommission 的值复制到子表单中。但问题是,我还需要自动填充项目,这让我想到了解决方案 2。

选择数字 2 的原因是;我的接收报告标题不包含项目信息,因为子表单只能有一种类型的项目,但可以有多个。我正朝着第二名前进。

解决方案 2 是多个未绑定字段,将信息拉入组合框,或输入所需信息并点击按钮,然后将所有数据传输到子表单并创建正确数量的记录。

未绑定字段 = itemcode、mergeNo、isCommission 和 NoOfBoxes。

【问题讨论】:

    标签: forms ms-access ms-access-2010 subform insertafter


    【解决方案1】:

    我认为您需要一个数字表,其中包含从 1 或 0 到适当数字的整数,然后您可以这样说:

    INSERT INTO ATable ( MergeNo, IsCommission )
    SELECT [Forms]![aForm]![MergeNo] AS MergeNo, 
           [Forms]![aForm]![IsCommission ] AS IsCommission 
    FROM Numbers
    WHERE Numbers.Number<=[Forms]![aForm]![NoOfBoxes]
    

    不要忘记,如果数字表从0开始,它小于,不小于或等于。

    【讨论】:

    • 您是否暗示要使用插入创建循环?并继续,直到我点击NoOfBoxes
    • 不,我不是 Numbers 表有从 0 或 1 到至少最大 NoOfBoxes 的整数,SQL 然后从 numbers 表中 SELECTS 以获取所需的行。
    • 我不明白插入查询如何根据 where 子句将 X 数量插入表中。有一张桌子只是用来存放数字不是很糟糕,这似乎是半生产力的。
    • 数字表占用空间小,非常有用dba.stackexchange.com/questions/11506/… 您会发现查询确实运行得非常快,而不是RBAR 方法。为什么不在前端副本上尝试查询呢?您可以只使用 SELECT 而不是 INSERT 来查看它的工作原理。
    • 我认为你的方法行不通,因为我刚刚读到微软访问不允许在 1 个插入语句中插入多个值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-25
    • 1970-01-01
    相关资源
    最近更新 更多