Ms access 访问连续表单--如何对每个记录进行个性化控制?

Ms access 访问连续表单--如何对每个记录进行个性化控制?,ms-access,vba,Ms Access,Vba,我有一个访问表单,其中显示了特定类型记录的少量数据。基本上,它只是在左侧打印名称,在右侧有一组矩形控件,根据使用该记录的ID作为参数执行的查询结果,我在表单的OnLoad()函数中更改了这些控件的背景色 这一切都很好,左边有我的ID/姓名,右边有31个方框,如果保留了当月的那一天,则会上色:)但不用说,该函数可以完全任意,因为它是代码 然后我决定切换到“连续形式”,以显示尽可能多的记录/项目。但遗憾的是,它不是这样的——所有的框都是根据对第一条记录执行的查询/函数来着色的。我想这可能是因为它是O

我有一个访问表单,其中显示了特定类型记录的少量数据。基本上,它只是在左侧打印名称,在右侧有一组矩形控件,根据使用该记录的ID作为参数执行的查询结果,我在表单的OnLoad()函数中更改了这些控件的背景色

这一切都很好,左边有我的ID/姓名,右边有31个方框,如果保留了当月的那一天,则会上色:)但不用说,该函数可以完全任意,因为它是代码

然后我决定切换到“连续形式”,以显示尽可能多的记录/项目。但遗憾的是,它不是这样的——所有的框都是根据对第一条记录执行的查询/函数来着色的。我想这可能是因为它是OnLoad(),但将其更改为OnCurrent()也没什么作用。结果是,或者我读到的是,矩形凹痕在整个表单上共享,如果我更改其中一个的背景色,则每个记录的长方体的背景色都会更改

我希望能够根据每个记录执行的查询来更改这一点。有办法吗?到目前为止,我只能找到条件格式(这个功能既不能用于矩形,也不能满足我的确切需求?)和kludgy Access 97文本框黑客


提前感谢:)

您可能来自HTML背景,矩形将是一种自然的解决方案。他们无法进入。我不认为他们会为你工作(事实上,“克鲁迪”可以用我的拙见来形容这种尝试)

但是,您可以显示图像。您将为每个状态保留一个映像,以便随时调用。我用这种方式做了视觉显示。稍晚一点,我可能会发布一些代码,但我想你会发现,即使我不这么做,结果也很简单


补充说明:我很高兴这看起来对你有用。您关心的是下面评论中的“仅引用一次”。是的,对于作为未绑定控件的矩形也是如此(因为它们只是为了装饰而设计的)。但是您将使用一个图像控件,它是一个绑定控件(请参阅Remou)

连续形式的所有未绑定控件将是相同的;绑定控件可以使用条件格式进行更改。

将每个矩形更改为文本框,控件源:

=Iif(myConditionIsMet,"ÛÛÛÛÛ","")

“Û”是Arial(asc 219)中的完整块字符。

否。如果有两个条件(保留=红色,打开=绿色),则使用两个图像。子窗体使用图像控件代替矩形。您可以使用任何已在使用的变量来命名图像。我刚才在找我的神器。它不在这里。但“图像”上的帮助搜索将立即指导您(从访问帮助开始,而不是VBA)。实际上,我是一名C/C++低级程序员:)我(显然)想要的是快速破解以下内容:连续31个框,使用记录数据根据代码路径显示颜色。不优雅,但应该做这项工作。问题显然是控件属性只共享/实例化一次,而不是每个记录共享/实例化一次,这正是我所期望的。图像如何解决这个问题?你所说的“图像”是指每个排列有31个不同的图像吗?在任何情况下,我更喜欢让GUI层绘制矢量化的形状,而不是图像。。请详细说明:)很抱歉在评论中“混日子”——我永远拿不定主意:)你的解决方案听起来不错。