在查询中使用文本框可以正常使用一个表,但在应用于另一个表时失败

时间:2015-09-29 19:58:50

标签: sql ms-access

我在表单上创建了两个文本框,允许我选择查询的开始和结束日期。我的查询适用于我的一个具有日期列(MM / DD / YYYY)的表。我希望它能在table2上工作,而这个月只有一个月份,即; 1月1日,2月2日,3月3日等。 “文本”框格式为“常规日期”。 这两个表的原因是table1每月有多个条目,table2对这些条目求和并给出每月值。 这是我正在尝试的SQL

change

这适用于Table1。由于每个属性每月有多个条目,因此table1给出了每个条目,这比我想要的要多。我更希望得到table2中的总和值,其中每个属性每月只有1个条目。

$(".steps").on("change", "input", function() {
    console.log('test');
} );

第二个查询的输出是一个空白返回,其中字段Property和Value没有填充任何内容,而不是Table1查询,其中数据填充字段。这是因为我将“Month”字段设置为只给(MM)而不是(MM / DD / YYYY)?我认为这可能是文本框日历格式的一个问题,因为它提供了一个完整的日期,而table2 Month只有月值?

1 个答案:

答案 0 :(得分:0)

如果[Table 2].[Month]字段的数据类型为数字,请使用Month Function和您的文本框日期值。

Where [Month] Between
        Month([Forms]![Calendar Test]![Start Date])
    and Month([Forms]![Calendar Test]![End Date])

如果该字段是文本数据类型,则在与Month()值进行比较时将其强制转换为数字...

Where Val([Month]) Between
        Month([Forms]![Calendar Test]![Start Date])
    and Month([Forms]![Calendar Test]![End Date])

请注意,如果[Start Date][End Date]来自不同年份,则需要采用不同的策略。