Office中国论坛/Access中国论坛

标题: 请指教,IF判断语句出错 [打印本页]

作者: huanghyd    时间: 2013-12-20 14:43
标题: 请指教,IF判断语句出错
请大家帮忙看看以下代码,判断控件MaintenanceLevel2的值,对应小图片(打勾)为可见显示的。但我的库提示:运行错误 ‘2424’ 。请指教。谢谢!

Private Sub Report_Open(Cancel As Integer)
If Me.MaintenanceLevel2.value = "A" Then
Me.ImageA.Visible = True

ElseIf Me.MaintenanceLevel2.value = "B" Then
Me.ImageB.Visible = True

ElseIf Me.MaintenanceLevel2.value = "C" Then
Me.ImageC.Visible = True

End If

End Sub
作者: smilingkiss    时间: 2013-12-20 14:54
没看出端倪,最好上附件!
作者: tzh1600    时间: 2013-12-20 15:07
看字段值是文本属性,试试不用value,或者用.text
作者: smilingkiss    时间: 2013-12-20 15:09
会不会打开的时候,运行这个代码的时候,还没加载控件MaintenanceLevel2的值呢?
作者: huanghyd    时间: 2013-12-20 15:12
上传个附件,,请帮忙看看。
作者: huanghyd    时间: 2013-12-20 15:27
修改.text也没有反应。如要先加载控件MaintenanceLevel2的值怎麽做,同一页面。
作者: smilingkiss    时间: 2013-12-20 16:08
huanghyd 发表于 2013-12-20 15:27
修改.text也没有反应。如要先加载控件MaintenanceLevel2的值怎麽做,同一页面。

做了个按钮,通过点击按钮来实现,当然这个方法好像不太自动,看看哪位高手有更好的方法!

作者: huanghyd    时间: 2013-12-20 16:18
先谢谢smilingkiss 。我是要在打印时执行,再加按钮操作就不好。期待大家解答,谢谢!
作者: Benjamin_luk    时间: 2013-12-20 16:52
将代码放到:
主体_Format

作者: huanghyd    时间: 2013-12-20 16:58
Benjamin_luk,,  我刚刚测试了没有反应,也不行。
作者: tzh1600    时间: 2013-12-20 17:01
把.value去掉,把代码放主体_print
作者: smilingkiss    时间: 2013-12-21 10:36
测试过,搞掂了!见附件!

作者: huanghyd    时间: 2013-12-24 11:17
谢谢大家回复,今天我才测试。我把代码放在不同事件里测试,当条记录时会显示对应的打勾图片。2条或多条记录有A,B,C时不会显示对应的打勾图片。请大家帮忙再研究研究,,谢谢!
作者: smilingkiss    时间: 2013-12-24 15:20
huanghyd 发表于 2013-12-24 11:17
谢谢大家回复,今天我才测试。我把代码放在不同事件里测试,当条记录时会显示对应的打勾图片。2条或多条记 ...

确实是这样,再研究一下
作者: smilingkiss    时间: 2013-12-24 18:53
huanghyd 发表于 2013-12-24 11:17
谢谢大家回复,今天我才测试。我把代码放在不同事件里测试,当条记录时会显示对应的打勾图片。2条或多条记 ...

加入“打印前”事件,在打印的时候或者打印预览的时候都可以符合要求,你看看!

作者: huanghyd    时间: 2013-12-25 09:52
非常感谢 smilingkiss 热情无私的帮助。测试OK 。{:soso_e179:}{:soso_e189:}
作者: huanghyd    时间: 2013-12-25 12:53
我今天在一个窗体上加打印按钮,代码如下。发现第一条记录还是不能显示对应的打勾图片。直接在报表里可以显示有,报表视图和打印预览都能显示。但在打印按钮执行打印后出来的纸第一条记录还是不能显示对应的打勾图片。也不知哪里的问题?请大家帮忙看看。

DoCmd.OpenReport "Rpt_MaintenanceSheet", acViewNormal
作者: smilingkiss    时间: 2013-12-25 15:27
huanghyd 发表于 2013-12-25 12:53
我今天在一个窗体上加打印按钮,代码如下。发现第一条记录还是不能显示对应的打勾图片。直接在报表里可以显 ...

什么窗体?你之前的数据库没有窗体的哦,上附件看看
作者: huanghyd    时间: 2013-12-25 15:44
我测试打印到打印机出纸后第一条记录还是不能显示对应的打勾图片。附件中文件 PrinSheet.xps,是我打印到 Microsoft XPS Document Writer 出来的效果,可以看到有3条记录的打印,其中第一条记录是不能显示对应的打勾图片。也不知哪里的问题?请帮忙看看。谢谢!

作者: smilingkiss    时间: 2013-12-25 16:00
huanghyd 发表于 2013-12-25 15:44
我测试打印到打印机出纸后第一条记录还是不能显示对应的打勾图片。附件中文件 PrinSheet.xps,是我打印到 M ...

再看看!

作者: smilingkiss    时间: 2013-12-25 16:06
huanghyd 发表于 2013-12-25 15:44
我测试打印到打印机出纸后第一条记录还是不能显示对应的打勾图片。附件中文件 PrinSheet.xps,是我打印到 M ...

嗯嗯,试过了,预览可以,马上打印就出问题,如果先预览,再打印呢?有没有试过行不行?
作者: huanghyd    时间: 2013-12-25 16:22
打印代码改为预览,报表弹出设置为“是”时,第一条记录还是不能显示对应的打勾图片。还是不行,{:soso_e118:}
作者: smilingkiss    时间: 2013-12-25 16:29
huanghyd 发表于 2013-12-25 16:22
打印代码改为预览,报表弹出设置为“是”时,第一条记录还是不能显示对应的打勾图片。还是不行,{:soso_e11 ...

报表模式改为“是”呢?好像就可以
作者: huanghyd    时间: 2013-12-26 09:17
我测试了报表模式改为“是”打印代码为预览时,预览报表时是可以的。打印代码改为直接打印时 第一条记录打印出来的纸上还是不能显示对应的打勾图片。还是不行。我需要直接打印然后追加已打印标识到数据表里。这样才知道那些没有打印。

DoCmd.OpenReport "Rpt_MaintenanceSheet", acViewNormal
作者: smilingkiss    时间: 2013-12-26 09:36
huanghyd 发表于 2013-12-26 09:17
我测试了报表模式改为“是”打印代码为预览时,预览报表时是可以的。打印代码改为直接打印时 第一条记录打 ...

嗯,确实有难度,看看有哪位大神可以相助
作者: smilingkiss    时间: 2013-12-26 09:37
建议你重新开一个帖,把处理思路说出来,还有研究的几个方案都说出来,看看论坛的大神能不能帮忙一下,我也好学习学习^_^
作者: huanghyd    时间: 2013-12-26 09:42
好的 。谢谢 smilingkiss ,{:soso_e183:}
作者: roych    时间: 2013-12-28 19:44
huanghyd 发表于 2013-12-20 15:27
修改.text也没有反应。如要先加载控件MaintenanceLevel2的值怎麽做,同一页面。

把代码放在主体的格式化事件里(Format)再试试。
报表打开事件是不能对字段属性设置的,但主体的格式化事件是可以的。
作者: huanghyd    时间: 2013-12-30 16:44
把代码放在主体的格式化事件里、激活和打印页前事件里,刚刚测试一次打印三条记录,每张纸都会打印对应的打勾图片。 明天有空再测试一下。先谢谢大家。




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