代码之家  ›  专栏  ›  技术社区  ›  Nick Dandoulakis

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

  •  1
  • Nick Dandoulakis  · 技术社区  · 16 年前

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

    示例:我有“order.cust_id”(record source=order),我想显示“customers.name”。我认为这是微不足道的,但我没有使用MS Access的经验。我试图使用文本框“Control Source”属性,但没有运气。

    3 回复  |  直到 16 年前
        1
  •  1
  •   Fionnuala    16 年前

    可以使用dlookup作为文本框的控制源:

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

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

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

    注意,这个名字对任何事物来说都是一个很坏的名字。我建议您在情况恶化之前立即重命名该字段。

    了解错误可能很有用。

        2
  •  3
  •   Mark3308    16 年前

    一种方法是将文本框转换为组合框。然后将行源设置为同时包含customer表中的cust_id和customer.name。SQL语句示例

    Select Cust_ID, Name From Customer 
    Order By Name;
    

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

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

    最后你会得到一个下拉列表,这可能不是你想要的。

        3
  •  0
  •   Peter Perháč    16 年前

    您可以创建一个新视图(例如 OrdersAndCustomerNames ,选择要在表单中使用的所有列,然后不要使用 Order 表作为记录源,您只需切换到 订单和客户名称 . 你说你没有使用MS Access的经验,所以我猜你没有构建任何庞大和过于复杂的东西,所以我会这样做。我很确定可以做得更优雅些,但现在就可以了。

    推荐文章