【问题标题】:Filter query - editing results过滤查询 - 编辑结果
【发布时间】:2018-09-04 11:36:56
【问题描述】:

在 MS 访问中,我有一个查询,我通过第二个查询使用关键字列表进行过滤。第二个选择查询(充当过滤器)采用原始(数据)查询和关键字表,并从数据查询中仅选择与列表中的关键字之一匹配的条目。

我想在结果查询中编辑一个字段,但访问不允许我这样做。根据我从 google & Co. 收集的信息。我的问题可能是由于数据查询和关键字表之间没有关系造成的。我可以做些什么来启用数据编辑?如果我要在关键字表和数据查询之间创建关系,我将如何设计它,因为 1 个关键字不对应数据查询中的一个条目。

编辑:这里是 SQL 代码

Select Sales.saleID, Sales.saleText1, Sales.saleText2, Sales.clientFirstName, Sales.clientLastName, Sales.clientOk
From Sales, Keywords
Where (((Sales.saleText1) Like Keywords!Keyword)) or (((Sales.saleText2) Like Keywords!Keyword));

这会返回正确的数据,但是我无法在数据表视图中编辑 clientOk 字段(clientOk 是一个数字字段)

提前感谢您的帮助

【问题讨论】:

  • 你能分享你的代码吗?我不完全理解你的问题
  • 在帖子中添加了代码。谢谢

标签: ms-access select filter editing


【解决方案1】:

试试这样的:

Select 
    Sales.saleID, Sales.saleText1, Sales.saleText2, Sales.clientFirstName, Sales.clientLastName, Sales.clientOk
From 
    Sales
Where 
    (Sales.saleText1 In (Select [Keyword] From Keywords))
    or
    (Sales.saleText2 In (Select [Keyword] From Keywords));

【讨论】:

  • 我在子查询 'Sales.saleText1' 中得到一个“无效的备忘录、OLE 或超链接对象”。错误..构造销售的查询有问题吗?
  • 可能Keyword 是保留字。请查看编辑后的答案。
  • 好吧,它是你的表,而且 SQL 很简单,所以请仔细检查你的字段名称和数据类型。
  • 在网上看了一圈之后,看来 saleText1 和 saleText2 是长文本(备忘录)类型的事实确实导致了这个问题。但是我无法将其更改为短文本,大多数数据都超过 255 个字符。任何想法如何从那里开始?感谢大家的帮助
  • 还有关键字?那也是Long Text吗?
猜你喜欢
  • 2022-10-14
  • 2012-04-20
  • 2019-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-14
  • 1970-01-01
相关资源
最近更新 更多