Office中国论坛/Access中国论坛

标题: 【Access小品】条件格式关联查询子窗体示例 [打印本页]

作者: todaynew    时间: 2012-4-21 16:31
标题: 【Access小品】条件格式关联查询子窗体示例
本帖最后由 todaynew 于 2012-4-21 16:37 编辑

  版友简纠结与数据查询问题,写此示例以解其惑。


[attach]49054[/attach]

[attach]49055[/attach]
作者: racher2006    时间: 2012-4-21 18:41
使用2007测试没有反应,请楼主检查。
作者: 简    时间: 2012-4-21 21:50
老汉,我还有个问题,如果白班子窗体29号机床有两条,或者三条以上的记录呢,这时我直接用 Call FindRecord(Me.Form, Me.Parent.白班.Form, "机床") ,白班子窗体就显示就不太正常。


作者: 简    时间: 2012-4-21 21:51
老汉,我还有个问题,如果白班子窗体29号机床有两条,或者三条以上的记录呢,这时我直接用 Call FindRecord(Me.Form, Me.Parent.白班.Form, "机床") ,白班子窗体就显示就不太正常。


作者: 简    时间: 2012-4-21 22:01
还想问,如果是连续窗体,能实现上述效果吗?
作者: todaynew    时间: 2012-4-22 08:01
简 发表于 2012-4-21 21:50
老汉,我还有个问题,如果白班子窗体29号机床有两条,或者三条以上的记录呢,这时我直接用 Call FindRecord ...

中班子窗体不是有两条三条的吗?显示很正常嘛。不仅查其他窗体,连自身也查的明明白白。
作者: todaynew    时间: 2012-4-22 08:01
简 发表于 2012-4-21 22:01
还想问,如果是连续窗体,能实现上述效果吗?

一回事,当然可用。
作者: 简    时间: 2012-4-22 22:35
todaynew 发表于 2012-4-22 08:01
中班子窗体不是有两条三条的吗?显示很正常嘛。不仅查其他窗体,连自身也查的明明白白。

我的白班代码是这样写的,
    Call FindRecord(Me.Form, Me.Form, "机床")
但运行的效果如图,
[attach]49068[/attach]

显然不太正常,不知是不是我的代码没写对呢。
作者: todaynew    时间: 2012-4-23 11:02
简 发表于 2012-4-22 22:35
我的白班代码是这样写的,
    Call FindRecord(Me.Form, Me.Form, "机床")
但运行的效果如图,

白班:
Private Sub Form_Current()
    On Error Resume Next
    Call FindRecord(Me.Form, Me.Form, "机床")
    Call FindRecord(Me.Form, Me.Parent.中班.Form, "机床")
    Call FindRecord(Me.Form, Me.Parent.夜班.Form, "机床")
End Sub

中班:
Private Sub Form_Current()
    On Error Resume Next
    Call FindRecord(Me.Form, Me.Form, "机床")
    Call FindRecord(Me.Form, Me.Parent.白班.Form, "机床")
    Call FindRecord(Me.Form, Me.Parent.夜班.Form, "机床")
End Sub

夜班:
Private Sub Form_Current()
    On Error Resume Next
    Call FindRecord(Me.Form, Me.Form, "机床")
    Call FindRecord(Me.Form, Me.Parent.中班.Form, "机床")
    Call FindRecord(Me.Form, Me.Parent.白班.Form, "机床")
End Sub



作者: 简    时间: 2012-4-23 20:59
todaynew 发表于 2012-4-23 11:02
白班:
Private Sub Form_Current()
    On Error Resume Next

我是像你的代码这样写的。

运行后的效果就像上图所示,比如白班,对于有相同的记录,第一条记录是反白显示,第二条记录才是高亮黑色显示。而我希望的是相同的记录都高亮黑色显示。
作者: todaynew    时间: 2012-4-23 21:20
简 发表于 2012-4-23 20:59
我是像你的代码这样写的。

运行后的效果就像上图所示,比如白班,对于有相同的记录,第一条记录是反白 ...

呵呵,我搞的结果是都能显示。你自己再好好找找原因吧。
作者: 简    时间: 2012-4-24 07:24
todaynew 发表于 2012-4-23 21:20
呵呵,我搞的结果是都能显示。你自己再好好找找原因吧。

这样吧,麻烦你选择中班子窗体的6号机床,看看6号机床的两条记录是不是都是黑色背景高亮显示。
作者: todaynew    时间: 2012-4-24 12:24
本帖最后由 todaynew 于 2012-4-24 12:25 编辑
简 发表于 2012-4-24 07:24
这样吧,麻烦你选择中班子窗体的6号机床,看看6号机床的两条记录是不是都是黑色背景高亮显示。


当然是。动画不是已经显示出这个效果了吗?只不过选的是20而已。
作者: 简    时间: 2012-4-24 18:42
todaynew 发表于 2012-4-24 12:24
当然是。动画不是已经显示出这个效果了吗?只不过选的是20而已。

我终于知道原因了。

如果我是通过记录选择器来选择记录,就会出现某个子窗体里多于2个的相同记录会出现反白显示。
如果我是单击子窗体里的任一控件,就不会出现上面的问题。

如果能把记录选择器的问题解决就更好了。
作者: todaynew    时间: 2012-4-24 20:15
简 发表于 2012-4-24 18:42
我终于知道原因了。

如果我是通过记录选择器来选择记录,就会出现某个子窗体里多于2个的相同记录会出现 ...

禁用记录选择器不就完事了,我不喜欢用记录选择器,通常都禁用。
作者: 简    时间: 2012-4-24 20:35
todaynew 发表于 2012-4-24 20:15
禁用记录选择器不就完事了,我不喜欢用记录选择器,通常都禁用。

在数据表中,记录选择器好像禁用不了。
我在子窗体中禁用记录选择器不起作用,我在子窗体中这样写代码,也不管用。
Private Sub Form_Load()
Me.RecordSelectors = False
End Sub

作者: todaynew    时间: 2012-4-24 20:37
本帖最后由 todaynew 于 2012-4-24 20:39 编辑
简 发表于 2012-4-24 20:35
在数据表中,记录选择器好像禁用不了。
我在子窗体中禁用记录选择器不起作用,我在子窗体中这样写代码, ...


窗体属性--格式--记录选择器---否;导航按钮--否。
作者: 简    时间: 2012-4-24 20:52
todaynew 发表于 2012-4-24 20:37
窗体属性--格式--记录选择器---否;导航按钮--否。

原来还要取消导航按钮,这样记录选择器才能彻底禁用。
这样一来,看来我还得自己弄个导航栏才得行。

老汉,我再问个问题,如果我还要求生产数量>2000的背景色为红色,<600的背景为绿色,又该怎么办呢,我运行出来的效果是,如果生产数量符合条件的,其背景色在选中机床的记录中无法高亮显示。
作者: todaynew    时间: 2012-4-24 20:57
本帖最后由 todaynew 于 2012-4-24 21:01 编辑
简 发表于 2012-4-24 20:52
原来还要取消导航按钮,这样记录选择器才能彻底禁用。
这样一来,看来我还得自己弄个导航栏才得行。


你的这个条件又不需要动态处理,直接在窗体中设置即可。

在函数中加一个限制添加条件格式的if语句即可
if 显示条件为假 then
   添加条件格式的语句
end if
作者: 简    时间: 2012-4-26 21:32
我再问问,这个例子是不是对以交叉表为记录源的连续窗体不太适用呢。

还有,这种方式的条件格式是不是占内存呢,我有几千条的记录,运用后,显示刷新后显得慢。
作者: todaynew    时间: 2012-4-29 20:23
简 发表于 2012-4-26 21:32
我再问问,这个例子是不是对以交叉表为记录源的连续窗体不太适用呢。

还有,这种方式的条件格式是不是占 ...

不可能几千条记录不经过筛选都放在窗体中,人眼所及几十条记录而已,多则无用。
作者: LeeTien    时间: 2012-5-2 09:07
单表很容易实现
如果是多表查询呢
比如公司表 部门表 员工表
再加考勤表
多条件 一个表有两个以上的条件
作者: 李力军2    时间: 2013-4-16 23:27
斑长厉害,简同学活跃
作者: nncchh    时间: 2015-7-20 15:31
学习学习,谢谢分享!
作者: nncchh    时间: 2015-7-20 15:31
学习学习,谢谢分享!
作者: jack2001    时间: 2017-7-10 21:10
dddddddddddddddd
作者: 灰太郎    时间: 2018-1-1 18:18
121111111




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3