【问题标题】:Help with Query design in MS-AccessMS-Access 中的查询设计帮助
【发布时间】:2009-10-01 15:19:03
【问题描述】:

CredTypeID 是一个数字,CredType 是 Credential 的类型

我需要查询以在下拉列表中显示凭据,以便我可以通过选择新凭据来更改凭据。

目前我必须知道 CredTypeID 号码才能更改凭据。

我只想从下拉列表中选择它。

目前要将 Betty Smith 更改为 RN,我必须在 CredTypeID 中键入“3”。我只是希望能够从下拉列表中选择“RN”。

这里是表格布局和sql视图(来自access)

SELECT Lawson_Employees.LawsonID, Lawson_Employees.LastName, 
       Lawson_Employees.FirstName, Lawson_DeptInfo.DisplayName, 
       Lawson_Employees.CredTypeID, tblCredTypes.CredType 
  FROM (Lawson_Employees 
       INNER JOIN Lawson_DeptInfo 
          ON Lawson_Employees.AccCode = Lawson_DeptInfo.AccCode) 
       INNER JOIN tblCredTypes 
          ON Lawson_Employees.CredTypeID = tblCredTypes.CredTypeID;

【问题讨论】:

  • 我看不到那些屏幕截图,它们太小了。
  • 大声笑,是的,我终于想出了如何从 Picasa 重新调整嵌入图像的大小。它们不会让嵌入图像变得容易,它们会为您提供所有的 HTML,当然这可能确实让某些人更容易,只是当您在这里发帖时不会
  • 可能应该提到以“Lawson_”为前缀的表实际上是指向 SQL Server 2005 数据库中表的链接。不确定它是否会有所作为......但我正在度假,不应该在这方面工作。

标签: sql ms-access


【解决方案1】:

这应该可以解决问题,如果您将字段添加到任何新表单,它将在数据表视图中工作并自动将字段设置为您想要的下拉列表类型。

  1. 打开 Lawson_Employees 表 设计视图。
  2. 单击 CredType 字段并在 屏幕底部切换到 “查找”标签
  3. 将 DisplayControl 更改为“组合框”
  4. 将 Rowsource 更改为 以下查询:

    SELECT CREDTYPEID,CREDTYPE FROM tblCredTypes ORDER BY CREDTYPE ASC

  5. 设置 columncount=2

  6. 将列宽设置为“0;”
  7. 设置 LimitToList = 是
  8. 确保 BoundColumn 设置为 1

如果您已将 Lawson_Employees.CredTypeID 字段添加到表单,请将其删除,然后重新添加以使其自动设置,以便您可以通过友好标签而不是 id 进行选择。

【讨论】:

  • 非常好。对于我们这些仍在使用 Access 2003 的人,右击列名会出现“查找列...”选项。
  • 我不知道这在链接表中是可能的,但这主要是因为他头脑正常的人不会在表中定义查找。查找是用户界面对象。表不是 UI 对象。创建一个查询或表单并将下拉列表放在那里。由于 UI 与实际存储的数据不一致,它也会导致严重的问题。关于查找字段的弊端:mvps.org/access/lookupfields.htm
  • @David 好信息,这是一个短期解决方案。我们从众多数据源开始。注意我没有说数据库,因为有些人正在/正在使用电子表格来跟上信息。我还没有一个完整的 UI,直到我们完全迁移到 sql server 之后才会有一个完整的 Web 界面。在短期内,为了保持工作正常并跟上我正在使用 access 作为现在在 sql 上的表的前端的数据。回顾过去,我们真的应该对遗留数据说地狱,从零开始。
  • 即使我们从零开始,我们仍然必须与我们的 HR 系统交互,至少可以说这是一个设计不佳的系统。
  • 接受的答案,这确实有效并且有非常详细的说明。
【解决方案2】:

如果您通过表单输入数据,则创建一个下拉列表,其中使用两列作为其值列表(CredTypeID 和 CredType),然后将第一列的宽度设置为零。嘿 presto,访问的字段被视为具有 CredTypeID 的值,但显示为 CredType。

不过,我认为您不能直接在查询结果中使用这个技巧。

【讨论】:

  • 其实你可以直接在查询结果中使用同样的技巧,如果你在表设计中设置了列。这样做的另一个好处是,添加该字段的任何新表单都将使用下拉菜单自动创建。
  • +1 因为它是正确的,但接受的答案有更详细的说明。感谢您的帮助
猜你喜欢
  • 2016-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-26
相关资源
最近更新 更多