Ms access 如何基于自动生成的主键插入外键

Ms access 如何基于自动生成的主键插入外键,ms-access,foreign-keys,relational-database,primary-key,Ms Access,Foreign Keys,Relational Database,Primary Key,我正在努力找出如何关联Access(2003)中的两个表,我正在寻找一些指导。我不是访问专家,所以可能是因为我在搜索答案时使用了正确的术语,所以如果这是一个多余的问题,我道歉 无论如何,我正试图建立一个数据库的活动(两个或更多的表),发生在我的生产设施。我想在班次级别捕获数据,在特定班次内每小时捕获不同的数据,我想将两者联系起来 共同点是日期和轮班(白天或晚上)。根据我的理解,我需要为每个“数据集”开发一个唯一的主键(即记录#1的主键为“5/8/14天”,记录#2的主键为“5/8/14夜”,等等

我正在努力找出如何关联Access(2003)中的两个表,我正在寻找一些指导。我不是访问专家,所以可能是因为我在搜索答案时使用了正确的术语,所以如果这是一个多余的问题,我道歉

无论如何,我正试图建立一个数据库的活动(两个或更多的表),发生在我的生产设施。我想在班次级别捕获数据,在特定班次内每小时捕获不同的数据,我想将两者联系起来

共同点是日期和轮班(白天或晚上)。根据我的理解,我需要为每个“数据集”开发一个唯一的主键(即记录#1的主键为“5/8/14天”,记录#2的主键为“5/8/14夜”,等等),并将该主键用作第二个表中的外键。我也知道我可以通过自动编号功能为每一组移动数据自动生成一个主键(0、1、2等),但是如何在没有人输入的情况下将其输入到我的每小时数据中呢?这将被我的技术人员使用,他们不会知道今天的班次是93号或任何其他无意义的随机数

我已经闲逛够久了。希望有人能给我一个答案。如果我没有提供足够的数据,请告诉我

谢谢,
Kevin

下拉列表框或组合框可能就是您要查找的(使用shiftedeader自动递增键作为ShiftEvent unique/join键)和ShiftDate+ShiftName作为显示值。看见我不经常使用MS Access,但我经常在其他语言和数据库中使用这种技术

我想说的是,与其在转换中苦苦挣扎,不如考虑以下内容

您有一个包含所有必填字段的普通数据表,以及一个用于捕获数据的日期和时间的特殊字段。 您还有另一个表格描述了一天的班次(例如:早班-->开始08:00 AM-->结束11:59 AM,下午班-->开始12:00 PM-->结束06:00 PM等等)

然后将数据表中的数据与日期时间进行比较,将班次表与时间进行比较。我认为这应该可以解决您的问题

希望这能有所帮助。如有必要,请随时提问


快乐编码..!!

我认为自动编号作为关键字段对您没有任何帮助-我会忽略这一功能。两个表都有一个日期和班次字段,这是正确的。这取决于您的其他设计中最简单的部分,可能是一个日期和班次都有的字段(如您所述),或两个单独的字段-一个用于日期,一个用于班次。