0

我有一系列需要扩展的数字范围。我已将它们放入一个表格中,该表格分为范围(包括)的开始、结束和大小以及关联的范围 ID

例如:

Start       End         Size ID
01234567890 01234567892 3    001
01234567900 01234567999 100  002
etc

我想创建一个数据库,允许扩展这些数字并将范围 ID 应用于新表中的每个数字,例如

Number      ID
01234567890 001
01234567891 001
01234567892 001
01234567900 002
01234567901 002

ETC

这需要是 MS 访问权限,因为我将把它提供给业务的其他领域。有什么想法吗?

4

2 回答 2

1

您将无法通过查询来执行此操作;你需要VBA。

基本上,您的函数可能如下所示(伪代码):

Open a recordset of your first table
Loop through the records:
    For i = 0 to Size - 1:
        Insert into second table (Number + i, ID)
Close recordset
于 2013-03-15T11:42:26.367 回答
1

您可以利用数字表。这些很容易创建,并且应该包含从 0 到您需要的最高数字的整数,比如 1000。然后您可以说:

SELECT [Start]+[Number] AS Expanded, tbx.Size, tbx.ID
INTO Expanded
FROM Numbers, tbx
WHERE Numbers.Number<=[End]-[Start]

tbx 是您现有的表,Numbers 是 numbers 表, Expanded 是正在创建的表。

于 2013-03-15T11:48:05.173 回答