根据文本框号添加一些记录

时间:2017-07-13 12:59:10

标签: ms-access

我有一个表格来提高房产工作的记录,一个选项是选择是单个属性记录还是多个处理稍有不同的属性记录。

如果选择了多个,则表单上会出现一个文本框,用于输入图表的数量。

我需要的是一种方法,将一些记录添加到一个表中,该表等于所指示的绘图数量,并为它们输入一个序列号以及添加主记录时创建的自动编号ID。

窗体!提高

在插入查询的按钮上添加了记录。 如果其类别=“多”记录,则输入了多个图表。

需要在单独的表中创建主

<Main Record ID>  <Plot number>
       1        ¦        1
       1        ¦        2
       1        ¦        3
       1        ¦        4
       2        ¦        1
       2        ¦        2
       2        ¦        3

我假设最好的方法是另一个插入查询,它提取主记录ID并根据图号添加一些记录, 总的情节编号也存储在主记录中,因此不是参考表格而是参考记录的情节编号总数。

所以我需要调用正确的记录(我可以想到两种方式来处理匹配表单或查找主要记录,其中cat =多个ID在Plot表ID中找不到)

然后如图所示创建数字记录,输入的图数最多为创建的总记录数。我根本不知道如何使用基于总数的序号来创建多个记录。

我做了一些搜索,运气不好,不知道从哪里开始,这可以有人帮忙吗?

2 个答案:

答案 0 :(得分:1)

假设您知道要插入的最大记录总数。创建一个仅包含数字1,2,3 ...的表格,至少达到此最大数量。

Table Numbers
Number
------
   1
   2
   3
   and so on until your all times max number

现在让我们插入5条主ID为3的记录

INSERT INTO plots ([Main Record ID], [Plot number])
SELECT 3, Number
FROM Numbers
WHERE Number <= 5

这会插入以下记录

<Main Record ID>  <Plot number>
       3        ¦        1
       3        ¦        2
       3        ¦        3
       3        ¦        4
       3        ¦        5

答案 1 :(得分:0)

有一个可能的答案,使用一个表格,其中只有一个数字列表超出了我可以从输入图号中得到的最大值使用以下查询

    SELECT Newbuilds.ID, Constant_numbers.number
from
Newbuilds
INNER JOIN
Constant_numbers
ON Constant_numbers.number <= Newbuilds.plots
;

这会生成一个带有序号的id列表,然后我可以将其插入到绘图表中,它不是最好的方法来获得我想要的结果但是它有效。

在oliver的帮助下,想要的完整解决方案如下所示,对于其他偶然发现的

    Insert Into Plot_status ([ID], [Plot])
Select Newbuilds.ID, Constant_numbers.number
From Newbuilds, Constant_numbers
Where Constant_numbers.number <= Newbuilds.Plots
And Newbuilds.category = "Multi"
And Not Exists (SELECT Plot_Status.ID
FROM Plot_Status
where Plot_status.ID = Newbuilds.ID);