【问题标题】:MS Access - Conditional Formatting in Continuous Form on Specific CellsMS Access - 特定单元格上连续形式的条件格式
【发布时间】:2021-01-10 08:30:39
【问题描述】:

我正在开发 Access,我有一个关于条件格式的问题要问。正如您在图片中看到的,我有 2 列数据,L/I 和单价。

我想要做的是每当数据中出现重复的 L/I 时,条件格式就会

  1. 突出显示重复的 L/I,并
  2. 仅比较具有重复 L/I 的特定单价,并以绿色显示更便宜的价格 字体颜色,黄色表示中间价格,红色表示最贵的价格。

我已经完成了如图所示的第一部分,但我对用于第二部分的表达一无所知。不确定我是否准确地表达了我的担忧,但提前感谢您回答这个问题。衷心感谢您的帮助。

我的连续形式是什么样的:

【问题讨论】:

  • 你是怎么做到的?在帖子中显示此处。
  • 我预计这将涉及调用 VBA 自定义函数。

标签: ms-access conditional-formatting continuous-forms


【解决方案1】:

也许您可以将表单的记录源设置为如下所示的查询,该查询生成一个名为 Indicator 的“助手”列,其中填充了文本“RED”、“YELLOW”或“绿色”根据其单价特征。基于此列,您可以在表单内使用条件格式以所需颜色实际显示单价。希望这个查询有帮助(你在正确的方向)。我假设该表称为“项目”,您应该将其更改为您的命名。

SELECT i.ID, i.LI, i.UnitPrice, iif(i.UnitPrice = (SELECT MAX(il.UnitPrice) FROM Items AS il WHERE il.LI = i.LI), "RED", iif(i.UnitPrice = (SELECT MIN(il.UnitPrice) FROM Items AS il WHERE il.LI = i.LI), "GREEN", "YELLOW" )) AS Indicator FROM Items as i;

【讨论】:

  • 非常感谢您的帮助。我是这方面的菜鸟,所以我需要更多时间来消化这个……但如果我有任何进一步的问题,请让我回复你。我现在理解有点复杂哈哈......再次感谢
  • 再次感谢@Tieme 的帮助。我编辑的代码:SELECT i.[L/I], i.Unit_Price, IIf(i.Unit_Price=(SELECT MAX(il.Unit_Price) FROM Retrieve_VQ AS il WHERE il.[L/I] = i.[L/I]),"RED",IIf(i.Unit_Price=(SELECT MIN(il.Unit_Price) FROM Retrieve_VQ AS il WHERE il.[L/I] = i.[L/I]),"GREEN","YELLOW")) AS [Price_Indicator] FROM Retrieve_VQ AS i; 但我遇到了 2 个问题,一个是查询显示其他 unit_price 没有重复的 L/I 为 RED(考虑将 AND 语句放在表达式生成器中)。另一个是 [Price_Indicator]![Price_Indicator]=[RED] 在表中不起作用。您能否提供进一步的建议?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多