【问题标题】:MS Access - Select records that dont exist in the same tableMS Access - 选择同一个表中不存在的记录
【发布时间】:2017-11-22 10:35:04
【问题描述】:

我有两张表,第一张输入新申请,第二张处理申请后输入 cmets。我以这种方式设计它的原因是为记录加时间戳。

在评论表中,我希望能够选择评论表中没有 cmets 的应用程序。所以我在[02 BP Comments].[BP ID] 中构建了查找查询,如图所示。另外,我将绑定列设置为 2;选择[01 BP Applications].[BP ID],但显示[01 BP Applications].[BP]

Lookup Query

选择 [01 BP 应用程序].BP, [01 BP 应用程序].[BP ID], [02 BP Comments].[BP ID] FROM [01 BP Applications] LEFT JOIN [02 BP Comments] ON [01 BP 应用程序].[BP ID] = [02 BP 评论].[BP ID] WHERE (((([02 BP 评论].[BP ID]) 为空));

但是,当我使用评论表并输入[01 BP Applications].[BP] 值时,我每次都必须刷新才能刷新组合框。另外,刷新数据库后,[02 BP Comments].[BP ID] 字段显示绑定值[01 BP Applications].[BP ID],而不是显示值[01 BP Applications].[BP]

我希望我解释得很好;-)

无论如何,如何使用评论表而不是每次都刷新,同时显示显示值,而不是绑定值?

【问题讨论】:

  • 请尝试提取您的图形查询表示对应的 SQL 代码。
  • 这似乎不是架构问题,似乎是表单设计问题。
  • @Heikki SELECT [01 BP Applications].BP, [01 BP Applications].[BP ID], [02 BP Comments].[BP ID] FROM [01 BP Applications] LEFT JOIN [02 BP Comments] ON [01 BP Applications].[BP ID] = [02 BP Comments].[BP ID] WHERE ((([02 BP Comments].[BP ID]) Is Null));
  • 您应该编辑您的问题以包含 SQL。
  • 通常的做法是编辑问题,使其变得更加完整和易于理解。常见的做法也是帮助使用这些 cmets 编辑问题。可能会有不同的人帮助您改进问题并提供答案。

标签: sql database ms-access ms-access-2010


【解决方案1】:

修改 SQL 使 [BP ID] 为第一列,将其设置为 BoundColumn 并设置 ColumnWidths: 0";1.0";

SELECT [01 BP Applications].[BP ID], [01 BP Applications].[BP], FROM [01 BP Applications] LEFT JOIN [02 BP Comments] ON [01 BP Applications].[BP ID] = [02 BP Comments].[BP ID] WHERE ((([02 BP Comments].[BP ID]) Is Null));

级联组合框 - 具有依赖于动态过滤条件的 RowSource 的组合框 - 无法在表中工作,因为需要代码重新查询不能在表后面的每条记录的组合框,仅表格。具有查找别名的级联组合框在连续或数据表形式中效果不佳。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-10
    • 1970-01-01
    • 2015-10-15
    相关资源
    最近更新 更多