如何通过设计视图将文本框与不属于表单“记录源”表的字段绑定在一起?
示例:我有“Order.cust_id”(记录源=订单),我想显示“Customers.name”。我相信这是微不足道的,但我没有使用MS Access的经验。我试图使用文本框“控制源”属性,但没有运气。
答案 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的经验,所以我猜你没有构建任何巨大而过于复杂的东西,所以我会这样做。我确信它可以更优雅地完成,但现在这样做。