Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access Access DB-一个ID的多个时间/日期_Ms Access_Datetime - Fatal编程技术网

Ms access Access DB-一个ID的多个时间/日期

Ms access Access DB-一个ID的多个时间/日期,ms-access,datetime,Ms Access,Datetime,我正在为一个非营利组织创建一个小型数据库,志愿者将残疾人/老年人送到该地区的不同地点。他们目前使用Excel工作表手动更新所有内容,并希望采用更精简的方式。我有一个包含所有信息的驱动程序表,但是有一个字段需要多个时间/日期字段,而这些字段不可用于驱动。例如,Joe Schmoe不能在周日上午6点至下午1点、周一下午3点至下午6点、周三上午6点至下午3点担任志愿者 处理这样多个时间/日期的最佳方式是什么?我最终希望能够查询从时间X到时间Y的可用驱动程序。创建一个表来跟踪时间表 驱动程序id、开始时

我正在为一个非营利组织创建一个小型数据库,志愿者将残疾人/老年人送到该地区的不同地点。他们目前使用Excel工作表手动更新所有内容,并希望采用更精简的方式。我有一个包含所有信息的驱动程序表,但是有一个字段需要多个时间/日期字段,而这些字段不可用于驱动。例如,Joe Schmoe不能在周日上午6点至下午1点、周一下午3点至下午6点、周三上午6点至下午3点担任志愿者


处理这样多个时间/日期的最佳方式是什么?我最终希望能够查询从时间X到时间Y的可用驱动程序。

创建一个表来跟踪时间表

驱动程序id、开始时间、结束时间


将索引放在驱动程序id上,但不要将其作为主键

当需要多个值时,您应该有一个单独的表。新桌子会说

DriverID          ) You can either use these two fields as the index, or use
NotAvailableFrom  ) another, autonumber field. There are arguments for both.
NotAvailableTo
然后可以将此表与DriverID上的主表关联。设置表单时,驱动程序将位于主表单中,不可用的表将是子表单


你可能喜欢阅读

,因为还没有人提到真正的短语,“一对多关系”和“外键”是你想要的东西。每个父级(驱动程序)都可以有多个子级(不可用的拉伸)。子表将有一个FK(DriverID),如下两个答案中所述。谢谢!我不确定如何处理表单中不可用的问题,但子表单是一个很好的主意。