1

我正在尝试创建一个查询,该查询将添加到现有表(tblExceptions)中:

  • 字段事件标题、事件日期、姓氏、名字和电子邮件 - 这些字段必须添加到 tblExceptions
  • 该记录的所有其他为空的字段。

但是应该注意的是,只有在源表 (tblData) 中的字段缺失时才能添加记录。

我在设计视图中为 MS Access 中的查询创建了一个相当大的查询,如果它包含丢失的数据,则添加该记录的所有内容,但不愿意更改插入以防它不添加空字段。

有任何想法吗?我在想 INSERT INTO 可能需要包含一个 IF 语句 - MS 访问是否允许这样做?

谢谢

编辑

已添加示例表数据和结构以及应添加的内容

tblData

Event Title | Event Date | Last Name | First Name  | Email               | Age |
__________________________________________________________________________________

            | 02/02/2013 | Collins   | James       | collins@hotmail.com | 24  |

POP ACT     | 01/29/2012 | Romas     | Ian         | pizza@gmail.com     |     |

所以从上面我们可以看到第一条记录缺少事件标题,第二条记录缺少年龄。所以应该输出到 tblExceptions 将是:

tblExceptions

 Event Title | Event Date | Last Name | First Name  | Email               | Age
__________________________________________________________________________________

             | 02/02/2013 | Collins   | James       | collins@hotmail.com | 24

 POP ACT     | 01/29/2012 | Romas     | Ian         | pizza@gmail.com     | 

我想得越多,看起来越复杂,因为字段 Age 对于第一条记录是空白的,但对于下一条记录则不是,所以它必须在表中

希望这能澄清一点

4

1 回答 1

1

您可以使用查询来显示tblData其中任何字段为 Null 的所有行。

SELECT
    d.[Event Title],
    d.[Event Date],
    d.[Last Name],
    d.[First Name],
    d.Email,
    d.Age
FROM tblData AS d
WHERE
       d.[Event Title] Is Null
    OR d.[Event Date] Is Null
    OR d.[Last Name] Is Null
    OR d.[First Name] Is Null
    OR d.Email Is Null
    OR d.Age Is Null;

理想情况下,您可以避免将这些行的副本存储在另一个表中 ( tblExceptions)。

但是,如果您有令人信服的理由来存储这些行的副本,则可以将其转换为INSERT语句(“追加查询”)。

于 2013-03-08T17:10:55.880 回答