【问题标题】:Joining two tables in Expression Builder在表达式生成器中连接两个表
【发布时间】:2014-10-04 17:28:37
【问题描述】:

我是 ms access 的新用户,刚刚开始使用 ms access 2003。我想在表达式生成器中以表单的形式应用相等联接。当 Employee.EmpNo = SalesHistoryToExcelFormRawData.ordSalesRep

时,我想从 Employee 表中填充 Employee.EmployeeLastName

我正在尝试这个:

=[Employees]![EmpLastName] WHERE(([SalesHistoryToExcelFormRawData]![ordSalesRep]) = ([Employees]![EmpNo]))

但我收到无效的语法错误。帮助将不胜感激。我花了很多时间在谷歌上搜索如何在表达式生成器中使用 where 子句,但没有运气:( 有没有其他方法可以实现这一点。

我是ms access的新手,两天前开始使用。请让我知道我的方法是否错误。

谢谢

【问题讨论】:

  • 请确认您使用的是哪个版本的 Access。
  • 什么是 Access 2005?我没听说过。
  • 我的错,它是 2003 年。抱歉我打错了。

标签: sql ms-access ms-access-2003 expressionbuilder


【解决方案1】:

您可能应该在表达式中使用Dlookup()。示例:=Dlookup("[EmpLastName]","[Employees]","[EmpNo]=" & [ordSalesRep]))"。阅读Dlookup 的帮助,因为它在表单上下文中非常有用。

【讨论】:

  • 感谢牛仔,我更改了表单的主 sql 查询。 (很难,但它奏效了。)谢谢
  • 如果表单是只读的(仅显示记录),那么使用 JOIN 拉入其他字段通常是最简单的。但是,请注意,某些类型的连接会使生成的数据集成为只读数据集,并且并非所有数据库产品都允许您编辑连接记录集的全部或部分(Access 非常适合)。需要记住的一点。
猜你喜欢
  • 2021-07-20
  • 2019-05-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-23
  • 1970-01-01
  • 2013-07-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多