Ms access 根据范围在字段中选择时段
提前感谢大家的帮助。我还是个新手,不知道从哪里开始寻找解决方案。 我试图做的是在我的表中自动填充一个名为“Period”的字段。我想让它使用“Activity_Date”查看另一个表,该表的日期范围引用了正确的期间。根据“活动日期”所属的“期间”,将返回正确的“期间”。我曾经尝试过使用计算数据类型和查询,但我觉得没有比开始时更接近答案Ms access 根据范围在字段中选择时段,ms-access,ms-access-2007,Ms Access,Ms Access 2007,提前感谢大家的帮助。我还是个新手,不知道从哪里开始寻找解决方案。 我试图做的是在我的表中自动填充一个名为“Period”的字段。我想让它使用“Activity_Date”查看另一个表,该表的日期范围引用了正确的期间。根据“活动日期”所属的“期间”,将返回正确的“期间”。我曾经尝试过使用计算数据类型和查询,但我觉得没有比开始时更接近答案 再次感谢您的时间。我想问您为什么需要在表中填充字段句点。 简言之,我不想麻烦了。 可以从同一记录中的“活动日期”字段中删除它所在的期间 因此,您可以编写selec
再次感谢您的时间。我想问您为什么需要在表中填充字段句点。 简言之,我不想麻烦了。 可以从同一记录中的“活动日期”字段中删除它所在的期间 因此,您可以编写select语句,根据需要计算MyTable中记录的周期
SELECT TableWithPeriods.period, MyTable.activity_date
FROM MyTable
LEFT JOIN TableWithPeriods
ON MyTable.activity_date
BETWEEN TableWithPeriods.StartDate
AND TableWithPeriods.EndDate
如果您需要多次访问时段,则有一个参数用于将MyTable中的时段值与TableWithPeriods保持同步
如果有人改变某个时期的某个日期,那么保持同步可能会很糟糕
保持同步可能意味着编写一点SQL来更新所有没有设置句点或句点现在不同的MyTable行。
VBA update语句看起来有点像上面的SELECT语句。
或
您可以使用数据库onchange宏来响应MyTable中添加或更新的数据(如果用户可以更改日期,还可以使用TableWithPeriods)
无论如何,这是我的看法。我不会复制这个值
PS我不是100%确定我上面给出的SQl,但是这可能会起作用
SELECT TableWithPeriods.period, MyTable.activity_date
FROM MyTable
LEFT JOIN TableWithPeriods
ON ( MyTable.activity_date >= TableWithPeriods.StartDate
AND MyTable.activity_date <= TableWithPeriods.EndDate )
选择TableWithPeriods.period,MyTable.activity\u日期
从MyTable
使用句点左连接表
在(MyTable.activity_date>=TableWithPeriods.StartDate)上
和MyTable.activity\u date谢谢你的帮助,我不完全确定你的建议是什么。我们运行了28天的周期,我在SQL中使用了对该周期的引用。我所要做的只是省去了手动输入正确周期的步骤。这不是一种简单的方法吗?我的观点是不需要输入周期d、 只需输入日期!您可以编写VBA代码(或SQL)来查找句点,并将其显示在日期旁边(未绑定)控件的表单中,但不必将句点存储在表中!(仅在句点表中存储句点!)(您可以将表单基于查找句点的SQL,以便在绑定控件中显示句点,该控件位于locekd,因为它从表单的SQL基础上获取其值lookedup,该SQL使用日期在句点表中查找句点,如我上面写的SELECT)。