如何根据自动生成的主键插入外键

时间:2014-05-08 16:41:20

标签: ms-access foreign-keys relational-database primary-key

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

无论如何,我正在尝试建立一个在我的制造工厂发生的活动数据库(两个或多个表)。我希望在班次级别捕获数据,并且我希望在特定班次的小时级别捕获不同的数据,我希望两者相关。

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

我已经漫步了很长时间。希望有人能指出我的答案。如果我没有提供足够的数据,请告诉我。

谢谢, 凯文

2 个答案:

答案 0 :(得分:0)

DropDownListBox或ComboBox可能就是您要查找的内容(使用ShiftEvent唯一/连接键的ShiftHeader自动增量键)和ShiftDate + ShiftName作为显示值。见MS site。我经常不使用MS Access,但我经常在其他语言中使用这种技术。数据库

答案 1 :(得分:0)

我想说的是,不要在变化中挣扎,而要考虑下面的事情;

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

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

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

快乐编码.. !!