我有一个查询,它在指定日期范围内从表中检索记录并将它们插入到新表(VWDRSSTA)中。
虽然这些日期之间的特定搜索没有按预期工作。我正在使用 Where(Field)Between(Start)和(End)表达式但是有一个问题,因为它没有给出结束日期的任何记录。
这是我的查询
INSERT INTO VWDRSSTA ( SYSTEM, EREIGNIS, DATUM_ZEIT, ANTRAGSNUMMER,
VORGANGSNUMMER, VERS_NR_INT, DUNKEL, DOK_ART )
SELECT VWD.SYSTEM, VWD.EREIGNIS, VWD.DATUM_ZEIT, VWD.ANTRAGSNUMMER,
VWD.VORGANGSNUMMER, VWD.VERS_NR_INT, IIf(VWD.EREIGNIS="POL_AN" And
VWD.DUNKEL=1,1,0) AS DUNKEL, IIf(VWD.EREIGNIS="EIN-ES" And
VWD.DOK_ART="EN","EN","") AS DOK_ART
FROM VWD
WHERE ([VWD.DATUM_ZEIT]) Between [Forms]![overview]![start] And [Forms]!
[overview]![end];
我尝试过使用
WHERE ([VWD.DATUM_ZEIT]) >= [Forms]![overview]![start] <= [Forms]!
[overview]![end];
但是它给了我一个溢出错误。我该如何解决这个问题?
答案 0 :(得分:0)
指定参数的数据类型:
PARAMETERS
[Forms]![overview]![start] DateTime,
[Forms]![overview]![end] DateTime;
INSERT INTO VWDRSSTA
( SYSTEM,
EREIGNIS,
DATUM_ZEIT,
ANTRAGSNUMMER,
VORGANGSNUMMER,
VERS_NR_INT,
DUNKEL,
DOK_ART )
SELECT
VWD.SYSTEM,
VWD.EREIGNIS,
VWD.DATUM_ZEIT,
VWD.ANTRAGSNUMMER,
VWD.VORGANGSNUMMER,
VWD.VERS_NR_INT,
IIf(VWD.EREIGNIS="POL_AN" And VWD.DUNKEL=1,1,0) AS DUNKEL,
IIf(VWD.EREIGNIS="EIN-ES" And VWD.DOK_ART="EN","EN",Null) AS DOK_ART
FROM
VWD
WHERE
([VWD.DATUM_ZEIT]) Between
[Forms]![overview]![start] And
[Forms]![overview]![end];
忽略时间部分:
WHERE
[VWD.DATUM_ZEIT] >= [Forms]![overview]![start] And
[VWD.DATUM_ZEIT] < DateAdd, "d", 1, [Forms]![overview]![end]);