【问题标题】:SQL 2000, Access QuerySQL 2000,访问查询
【发布时间】:2011-03-19 09:50:16
【问题描述】:

我有一个 SQL 数据库,其中一个“状态”字段包含 10 个条目之一(不是来自下拉列表)。我让一些人通过Access数据库访问数据,他们可以添加和修改条目。

我的问题是,在 Access 中,我怎样才能使“状态”字段成为用户可以从中选择的下拉列表(SQL 数据库中已经存在的 10 个条目)?这对他们来说会更容易,也意味着不会犯错误。

非常感谢

斯科特

【问题讨论】:

  • 我要么使用表格,要么查看表格中的字段。
  • 如何在 SQL Server 2000 表中存储查找?

标签: sql-server ms-access sql-server-2000


【解决方案1】:

执行此操作的常用方法是在表单上使用组合框,其中行源取自查找表,绑定列设置为要更新的表的字段(列)。

【讨论】:

    【解决方案2】:

    在 Access 中,您可以将查找信息添加到列。这将自动显示一个下拉列表。

    第 1 步:启动查找向导:

    第 2 步:完成向导后,查找设置应如下所示:

    第 3 步:当您的用户打开表格时,他们应该会看到下拉框:

    【讨论】:

    • 感谢您非常详细的回复,但我的问题是我使用的表是来自 SQL 的链接表,所以我无法修改设计。
    • 这已被 Microsoft Access MVP 强烈反对:mvps.org/access/lookupfields.htm
    • @Remou:不要认为在表格视图中显示下拉菜单有其他选择。无论如何,OP 不能使用这种方法,所以他从查找字段的邪恶中解脱出来:)
    • 没有人应该使用表格视图作为用户界面对象,除了快速和肮脏的编辑。如果您需要数据表,请创建数据表表单。或者,您可以在保存的 QueryDef 中创建查找,其行为与表数据表相同。
    【解决方案3】:

    除了 Andomar 描述的解决方案之外,您不得使用其他表作为查找源。您还可以在列表中提供查找值,该列表在表定义中硬编码。这适用于查找不太可能更改的简单场景。

    【讨论】:

      【解决方案4】:

      这里有几个问题:

      1. 表格数据表不是适合用户的用户界面。

      2. 您可以创建一个保存的 QueryDef,如果您查看字段的属性,第二个选项卡就像表格设计中的第二个选项卡一样,并允许您使用组合框作为查询中的显示类型.我通常建议不要这样做,因为与表数据表一样,QueryDef 不是适当的 UI 元素,如果您在其他查询中使用保存的查询,您可能会遇到导致表字段查找的相同问题,例如坏主意。

      3. 您正在构建 UI,因此请使用 Access 为您提供的工具来构建 UI。这意味着一个表格。表单的记录源将包含裸数据,并且您将在表单上创建一个组合框,该组合框绑定到表单后面的表中的字段,并显示查找表中的值。有一个向导可以引导您完成此操作。如果您非常喜欢数据表的外观(列大小、排序、显示/隐藏都是数据表中的所有功能),您可以将表单设置为显示为数据表。

      我的建议是,要构建用户界面,请使用 Access 提供的用于创建用户界面的工具。在我看来,下拉列表属于一种形式,而不属于其他任何地方。虽然我偶尔可能会在查询中添加一个以进行快速而肮脏的编辑,但我绝不会在用户将要使用的对象中这样做。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-07-27
        • 1970-01-01
        • 2017-10-20
        • 2011-10-13
        • 2011-11-20
        • 1970-01-01
        • 2010-10-01
        相关资源
        最近更新 更多