2009-08-12 52 views
2

我有一个Access窗体显示某种类型记录的微量数据。根据使用该记录的ID作为参数执行的查询的结果,基本上它只是在左侧打印名称并且在右侧打印了一串Rectangle控件,其背景色在窗体的OnLoad()函数中进行了更改。访问连续表单 - 如何个性化控制每个记录?

这一切都工作得很好,左边有我的ID /名字,右边有31个盒子,如果这个月的某一天是保留的,那么就是彩色:)但不用说,函数可以是完全任意的,因为它是代码。

然后我决定切换到'连续表单'以显示尽可能多的记录/项目。但是,唉,它不是 - 所有的盒子都是根据第一张唱片的查询/功能而着色的。我想这可能是因为它是OnLoad(),但将其更改为OnCurrent()也没有多大作用。事实证明,或者这就是我读的,矩形实例在整个表单上共享,并且如果我为其中的一个更改了BackColor,它会为每个记录的该框更改。

我希望能够根据每个记录基础上执行的查询进行更改。有什么办法吗?到目前为止,我只能找到条件格式(该功能对于矩形也不可用,也不能满足我的确切需求?)和Kludgy Access 97文本框黑客。

感谢提前:)

回答

1

你可能会从一个HTML背景,其中矩形将是一个自然的解决方案来。他们不在Access中。我认为他们不会为你工作(事实上,“kludgy”可以用我的小见解来描述这种尝试)。

但是,您可以显示图像。您将为每个状态保留一张图片,随时可以调出。我用这种方式制作了视觉展示。稍后我可能会发布一些代码,但我认为即使我没有,也会发现这很简单。

ADDED NOTE:我很高兴这看起来像它会适合你。您在下面的评论中担心“仅实例一次”。是的,对于未绑定控件的矩形来说,这是真的(因为它们是为了简单的装饰而设计的)。但是你会使用一个图像控件,这是一个绑定控件(参见Remou)。

+0

否。如果您有2个条件(保留=红色,打开=绿色),则使用两个图像。您的子表单使用图像控件来代替矩形。您可以在任何变量已被使用后命名图像。我刚才看着我的神器。不在这里。但是,对“图像”的帮助搜索将立即指示您(从Access的帮助开始,而不是VBA)。 – Smandoli 2009-08-12 17:25:21

+0

我是心脏/专业的C/C++低级编码器,实际上:)我(显然)需要的是快速破解以下内容:连续31个盒子,根据使用记录数据的代码路径显示颜色。不高雅,但应该做这项工作。显然问题是控制属性只能共享/实例化一次而不是每个记录,这正是我所期望的。图像如何解决这个问题?你是否通过使用图像意味着每个排列有31个不同的图像?任何情况下,我只想让GUI层绘制矢量化的形状而不是图像。请详细说明:) – nielsj 2009-08-12 17:25:58

+0

对评论中的“kludging”抱歉 - 永远无法让我记住:)您的解决方案听起来不错。 – nielsj 2009-08-12 17:26:36

0

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

0

改变每个矩形文本框,控制源:

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

“U” 形是以Arial满块字符(ASC 219)。

相关问题