Sql 在查询中使用文本框可以很好地处理一个表,但在应用于另一个表时失败

Sql 在查询中使用文本框可以很好地处理一个表,但在应用于另一个表时失败,sql,ms-access,Sql,Ms Access,我在表单上创建了两个文本框,允许我选择查询的开始日期和结束日期。我的查询对于我的一个具有日期列(MM/DD/YYYY)的表非常有效。我想让它工作在表2,只有一个月的日期,即;1月1日,2月2日,3月3日等。 文本框的格式为“常规日期”。 这两个表的原因是,表1每月有多个条目,表2汇总这些条目并给出每月值。 这是我正在尝试的SQL 选择[属性],[值] 摘自[表1] 其中[表格]之间的[日期]![日历测试]![开始日期]和[表格]![日历测试]![截止日期] 这对表1非常有效。由于每个属性每月有

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

选择[属性],[值]
摘自[表1]
其中[表格]之间的[日期]![日历测试]![开始日期]和[表格]![日历测试]![截止日期]
这对表1非常有效。由于每个属性每月有多个条目,表1给出了每个条目,这超出了我的需要。我更喜欢从表2中得到总值,其中每个属性一个月只有一个条目

选择[属性],[值]
来自[表2]
在[表格]之间的[月份]![日历测试]![开始日期]和[表格]![日历测试]![截止日期]

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

如果
[Table 2].[Month]
字段的数据类型是数字,请与文本框日期值一起使用

其中[月份]介于
月份([表格]![日历测试]![开始日期])
和月份([表格]![日历测试]![结束日期])
如果该字段是文本数据类型,则在与
Month()
值进行比较时将其转换为数字

其中Val([月])介于
月份([表格]![日历测试]![开始日期])
和月份([表格]![日历测试]![结束日期])

注意,如果
[开始日期]
[结束日期]
可能来自不同的年份,您将需要不同的策略

如果
[表2].[Month]
字段的数据类型是数字,请将与文本框日期值一起使用

其中[月份]介于
月份([表格]![日历测试]![开始日期])
和月份([表格]![日历测试]![结束日期])
如果该字段是文本数据类型,则在与
Month()
值进行比较时将其转换为数字

其中Val([月])介于
月份([表格]![日历测试]![开始日期])
和月份([表格]![日历测试]![结束日期])

注意,如果
[开始日期]
[结束日期]
可能来自不同的年份,您将需要不同的策略

主要用途是在同一年,我能做些什么来允许它滚动?我想我需要改变我在表格中使用的日期格式,包括月份和年份,而不仅仅是月份。我使用month()函数获取月份。作为新的Access,我仍在致力于提高数据库效率。然后考虑将“月份”存储为日期/时间字段中的月份的第一天。这将给你一年和一个月的时间。主要的用途是同一年,我能做些什么让它滚动?我想我需要改变我在表格中使用的日期格式,包括月份和年份,而不仅仅是月份。我使用month()函数获取月份。作为新的Access,我仍在致力于提高数据库效率。然后考虑将“月份”存储为日期/时间字段中的月份的第一天。这将给你一年和一个月的时间。