如何在文本框中显示* foreign *字段值?

时间:2009-06-01 12:30:44

标签: ms-access foreign-keys

如何通过设计视图将文本框与不属于表单“记录源”表的字段绑定在一起?

示例:我有“Order.cust_id”(记录源=订单),我想显示“Customers.name”。我相信这是微不足道的,但我没有使用MS Access的经验。我试图使用文本框“控制源”属性,但没有运气。

3 个答案:

答案 0 :(得分:3)

一种方法是将文本框转换为组合框。然后设置行源以包括customer表中的cust_Id和Customer.Name。 SQL语句示例

Select Cust_ID, Name From Customer 
Order By Name;

通过将列数设置为2和列宽;第一列为零(即“0; 6”),然后外键将对用户隐藏,并显示客户名称。

请注意,此方法会强制您将列表设置限制为true。

此外,您最终会得到一个可能不是您想要的下拉列表。

答案 1 :(得分:1)

您可以使用DlookUp作为文本框的控件来源:

 =DlookUp("[Name]", "Customer", "ID=" & Cust_ID)

语法:查找内容,表名,where语句

Where语句应遵循Jet SQL的规则,这意味着如果字段是文本或日期格式,则必须使用分隔符。

请注意,Name确实是一个非常糟糕的名字。我建议你在情况恶化之前立即重命名。

了解错误会很有用。

答案 2 :(得分:0)

你可以创建一个新视图(例如OrdersAndCustomerNames),选择你想在表单中使用的所有列,然后你只需切换到Order表作为记录源。 OrdersAndCustomerNames。你说你没有MS Access的经验,所以我猜你没有构建任何巨大而过于复杂的东西,所以我会这样做。我确信它可以更优雅地完成,但现在这样做。