在Access 2007,我有这样的相关的两个表的那一个(代理)PK是在其他的FK:访问自动分配空值到非变量 - 在哪里?
table Organization (
org_id int PK,
other_fields whatever,
contact_id int FK
)
table contact (
contact_id int PK,
contact_nm text(255),
other_fields whatever
)
显然不是完整的表定义....
所以我建反映这一点的形式 - 有一个frmOrganization,有一个子表单sbfContact。它们与contact_id相关,就像表格一样。除了 contact_id(尽管它当然存在于记录源(SELECT * FROM contact;))中,表联系人中的所有字段都有sbfContact控件。这两种形式都没有任何代码以任何方式引用其他代码,也没有任何代码。
当我尝试使用子窗体输入新联系人时出现我的问题。只要我在与contact_nm绑定的控件中键入一个字符,Access就会告诉我“您试图将Null值分配给不是Variant数据类型的变量。”我是什么?哪里?我没有分配任何东西到任何变量 - 我?如果我对消息回答“确定”,则我刚刚输入的字符出现在控制&中,所有事情都按我的预期进行。
这里发生了什么,更重要的是,我需要做些什么才能使其停止?
编辑以更多信息
好了,我希望能简化,但我不看啊它帮助....我真的是四个不同的实体,每个都需要自己的联系数据:
Customer
Site
Manufacturer
Engineer
(行距是显著 - 一个客户都会有至少一个网站,也许更多,但没有客户可以存在的网站(除非我扛“我们”作为客户)的另外两个。完全独立)。
我观察到与“主要”实体之一一起工作的原始问题,并认为它将与其他实体并行。我认为CodeSlave已经指出我正确的问题来源 - 恐怕我唯一的追求是不允许通过这个子表单添加,而是建立一个独立的“创建联系人”表单。其他建议是值得欢迎的,虽然....
啊哈!我想我现在明白了这个问题,但情况其实更加复杂。我有四个不同的实体,每个实体都有与之关联的联系人 - 是的,他们是不同的。事实上,其中两个人之间有父母/子女关系(但每个人都需要自己的联系人数据,因为它们可能相同也可能不相同)。我不认为我可以实施任何建议的修复,但我应该能够使我的表单可行。如果我在一周内没有得到更好的建议,我会接受你的答案。 – RolandTumble 2010-11-18 22:26:03