将窗体链接到 Access 中的子窗体
Linking a form to a subform in Access
我正在 Access 中创建一个 linked 子表单,其中表单和子表单来自同一个 SQL table。来源 table 看起来像这样:
Company Product
-----------------
CompanyA Product1
CompanyA Product2
CompanyB Product1
CompanyB Product2
目标是在表单的列表框中显示最高 "level" 的数据(CompanyA、CompanyB 等),并在子窗体。我尝试在 Company 上 link 他们并收到以下错误。
You are trying to link fields with incompatible data types.
表单和子表单 link 相同 table 所以我不明白为什么它们会不兼容。真正令人困惑的是它是如何只出现在这个 table 上的。我使用与问题 table 具有相同数据类型的测试 table 创建了一个新表单,并且它有效。我将 "company" 列表复制到一个新的 table 中,它给了我同样的错误。
是 table 本身的问题吗? Access 是否需要行不同?
没有足够的细节来回答
这是一个替代解决方案:
不要使用 Access parent/child link 功能,而是使用 "at hand"。
首先删除 form/subform
上的 Parent/Child link
然后使用此 VBA 代码在列表框中添加点击事件:
Form_subformname.recordsource = "SELECT Product FROM tablename WHERE COmpany = '" & listboxname.value & "'"
我从头开始重新启动表单,它起作用了。无需更改 table 或列数据类型。
必须在 Access 中定义的主键上链接窗体和子窗体。链接到任何其他列都会给您带来 incompatible data type
错误。
我正在 Access 中创建一个 linked 子表单,其中表单和子表单来自同一个 SQL table。来源 table 看起来像这样:
Company Product
-----------------
CompanyA Product1
CompanyA Product2
CompanyB Product1
CompanyB Product2
目标是在表单的列表框中显示最高 "level" 的数据(CompanyA、CompanyB 等),并在子窗体。我尝试在 Company 上 link 他们并收到以下错误。
You are trying to link fields with incompatible data types.
表单和子表单 link 相同 table 所以我不明白为什么它们会不兼容。真正令人困惑的是它是如何只出现在这个 table 上的。我使用与问题 table 具有相同数据类型的测试 table 创建了一个新表单,并且它有效。我将 "company" 列表复制到一个新的 table 中,它给了我同样的错误。
是 table 本身的问题吗? Access 是否需要行不同?
没有足够的细节来回答
这是一个替代解决方案:
不要使用 Access parent/child link 功能,而是使用 "at hand"。
首先删除 form/subform
上的 Parent/Child link然后使用此 VBA 代码在列表框中添加点击事件:
Form_subformname.recordsource = "SELECT Product FROM tablename WHERE COmpany = '" & listboxname.value & "'"
我从头开始重新启动表单,它起作用了。无需更改 table 或列数据类型。
必须在 Access 中定义的主键上链接窗体和子窗体。链接到任何其他列都会给您带来 incompatible data type
错误。