我在Access中创建链接子表单,其中表单和子表单来自同一个SQL表。源表看起来像这样:
Company Product
-----------------
CompanyA Product1
CompanyA Product2
CompanyB Product1
CompanyB Product2
目标是展示最高水平"表单上的列表框中的数据(CompanyA,CompanyB等),并显示子表单中当前显示的公司的完整产品列表。我尝试将它们链接到公司并获得以下错误。
You are trying to link fields with incompatible data types.
表单和子表单链接到同一个表,因此我不明白为什么它们会不兼容。真正令人困惑的是它只在这一张表中出现。我使用与问题表具有相同数据类型的测试表创建了一个新表单,并且它工作正常。我复制了"公司"列出到一个新表,它给了我同样的错误。
这是表本身的问题吗? Access是否需要将行分开?
答案 0 :(得分:1)
我从头开始重新启动表单并且工作正常。不需要更改表或列数据类型。
表单和子表单必须在Access中定义的主键上链接。链接任何其他列将显示incompatible data type
错误。
答案 1 :(得分:0)
没有足够的细节来回答
这是另一种解决方案:
不是使用Access父/子链接功能,而是“手头”。
首先删除表单/子表单上的父/子链接
然后使用此VBA代码在列表框中添加单击事件:
Form_subformname.recordsource = "SELECT Product FROM tablename WHERE COmpany = '" & listboxname.value & "'"