访问形式 - 如何使文本字段具有从SQL查询控制源?(Access form - how to ma

2019-10-19 09:07发布

背景

我有两个表:

  • 项目
    • 员工ID
  • 雇员
    • 员工ID
    • 名称

我有一个查询,我就含有,在其他项目中立足的一种形式:

SELECT e.Name FROM Projects p JOIN Employee e ON e.EmployeeID=p.EmployeeID

当我做基于此查询在Access中一个形式,我可以很容易显示e.Name我的形式,因为它是从查询加盟。

我的真实的例子当然是大大超过这个简单的例子更为复杂。 上述工作正常,只读查询和很好地扩展。 不过,我想用一个Splitform视图,并与许多加入了即使是小的记录数这变得很慢。 考虑到我加入了一个很大比例是简单的像上面的,我希望有一个方法,以消除尽可能多的。

在窗体上, e.Name将只读,无法更新能。

类似的问题

在这个问题 ,我能够成功地改变组合框到查找。 接受答案允许组合框控制Projects.EmployeeID通过显示Employee.Name在组合框中。

可能的变通

我知道一个办法,我能做到这一点是使用组合框,但禁用它。 这看起来有点怪异,因为它不得不下拉选择,但无法选择。

或者,我可以让一个完全结合的领域,写VBA代码每次更新的形式运行快速查询,获取文本值我正在寻找,并相应地更新标签记录的变化。

这些都不是太吸引人,但是。

  • 我怎样才能显示一个Access分割形式,其为非常简单的查询查询的结果显示在单一文本字段的基础上,从主表中的字段的ID?

Answer 1:

您可以使用Dlookup返回此引用非常简单

构造一个Dlookup式所示:

=DLookUp("Name", "Employee", "EmployeeID =" & "[EmployeeID]"

并以此作为该控件的文本框中。

一些注意事项:

  • &是重要的,因为其结合下式的与表格上显示的单个记录
  • [雇员]指形式显示的当前记录。 这假定“雇员”被包括在查询中的形式,无论是结合于项目表或包含在查询中


文章来源: Access form - how to make text field have a control source from a SQL query?