Office中国论坛/Access中国论坛

标题: [求助]如何在汇总报表中打印图片? [打印本页]

作者: jie_ren    时间: 2004-11-24 00:03
标题: [求助]如何在汇总报表中打印图片?
请教各位高手,有一产品资料库,图片没有存放在数据库中,采用存放路径的做法连接指定图片,在报表中打印时,如每页只打印一条记录的商品的话,可以做得到打印出图片.但是现在要做汇总表,每页上要打印十几条记录,这样的话我不知道该如何做才能将记录对应图片打印出来了.

还请各位高手不吝赐教!谢谢!
作者: tz-chf    时间: 2004-11-24 05:02
不是一样做法嘛?!做个非绑定图像框,主体format时改它的数据源,得写几行代码。
作者: jie_ren    时间: 2004-11-26 23:13
有没有哪位高手有这方面的例子,传个给我学学.谢谢了.jie_ren@21cn.com
作者: wu8313    时间: 2004-11-27 00:46
关注。。。因为照片并没有绑定,所以使用打印当前窗体的时候,照片可以打印。即打印一张照片可以。可是,打印窗体全部记录的时候,照片将不能打印。
作者: jie_ren    时间: 2004-11-29 17:07
原来4楼也有这样的问题困扰,希望有高手指点.
作者: zyp    时间: 2004-11-29 17:15
好像不用ole字段是解決不了的,我在數月前就問過,未果.用OLE又受不了其占用空間太大,明明圖片只有幾十MB,卻數據庫撐到1.8G,難道在數據里發酵膨脹了???弄不明白!
作者: jie_ren    时间: 2004-11-29 17:47
正如6楼所言,先前我也是用OLE将图片存如了数据库,结果MDB的档案大的让人无法承受,所以才改成现在这样引用路径的方式.但是如今要做汇总表了又无法解决一张表上反映多图的报表问题了....很让人痛苦
作者: hi-wzj    时间: 2004-11-29 21:53
以下是引用zyp在2004-11-29 9:14:55的发言:



好像不用ole字段是解決不了的,我在數月前就問過,未果.

用OLE又受不了其占用空間太大,明明圖片只有幾十MB,卻數據庫撐到1.8G,難道在數據里發酵膨脹了???

弄不明白!



将上传例子中的文件解压到:c盘的aa目录下

其中有两个mdb文件

一个是用字段来保存文件名,通过图片框来完成连续图片的显示的例子。

一个是通过ole(不占用空间的)方法来完成连续图片的显示。技巧写在窗体内了。[attach]7882[/attach]


作者: 情比金坚    时间: 2004-11-30 05:57
王斑竹的功力深不可测呵
作者: wu8313    时间: 2004-11-30 06:27
hi-wzj 的做法很好。我觉得,表中无论如何有了ole类型的字段,对库体积应该还是有些影响的,这一点我的看法也许不成熟。看看这个地址中我的例子:http://www.office-cn.net/forum.php?mod=viewthread&tid=17714,表中没有ole这个字段。但是,在打印的时侯有些麻烦了。单一窗体视图,打印全部记录的时侯,只有第一个记录可以实现照片打印,后面的纪录将会是空白。print只是针对表的记录来完成,它没有关心窗体成为当前事件里面加载了图片。
作者: jie_ren    时间: 2004-12-1 19:50
试了hi-wzj 斑竹的范例,感觉简单且实用.但是还有一个问题是,如果图片档案格式为JPG或JPEG时,会出现错误,因为实际工作中大多数都是用JPG或JPEG格式,因为压缩比例要大.下面的代码是我先前用的,所以出现无法在汇总报表里打印(显示)每笔记录的图片If Dir("\\NTS\MOLD\photo\" & Me.模号 & ".jpg") <> "" Then

   Me.图样.Picture = "\\NTS\MOLD\photo\" & Me.模号 & ".jpg"

Else

   Me.图样.Picture = "\\NTS\MOLD\photo\ptp.jpg"

End If请高手再指点迷津.在此谢过了.
作者: wu8313    时间: 2004-12-3 04:16
If Dir("\\NTS\MOLD\photo\" & Me.模号 & ".jpg") <> "" Then

   Me.图样.Picture = "\\NTS\MOLD\photo\" & Me.模号 & ".jpg"

Else

   Me.图样.Picture = "\\NTS\MOLD\photo\ptp.jpg"

End If将你的jpg改为bmp应该可以的。
作者: hi-wzj    时间: 2004-12-3 04:30
jpg的文件无法显示的原因是:您的系统未安装可以编辑jpg的软件。简单的可将office中照片编辑器装上。或者在office自定义安装中将“图元过虑器”还是“图元转换”的选项选上安装就行了。
作者: zyp    时间: 2004-12-3 22:06
請教王版主:在表單中用圖片框顯示不同圖片可以完成嗎??按照你的示例,在報表中ok,在表單中我做不到.謝謝!
作者: jie_ren    时间: 2004-12-4 00:37


[color="#990000"]hi-wzj斑竹,JPG或JPEG格式的问题解决了。现又有一问题,我的资料库中当初没有存放图档文件名的栏位,所以我的图片全部命名是按”模号“来的,比如:模号为001那对应的图片档存放在固定的目录“\\NTS\MOLD\PHOTO\"中,图片名称为001.jpg。愿来的代码如下,运行中会出现”模号“参数出错。请问怎样修改才能像斑竹所上传的例子一样的效果。下面的代码是我先前用的,所以出现无法在汇总报表里打印(显示)每笔记录的图片If Dir("\\NTS\MOLD\photo\" & Me.模号 & ".jpg") <> "" Then

   Me.图样.Picture = "\\NTS\MOLD\photo\" & Me.模号 & ".jpg"

Else

   Me.图样.Picture = "\\NTS\MOLD\photo\ptp.jpg"

End If请高手再指点迷津.在此谢过了.
作者: jie_ren    时间: 2004-12-7 19:31
我要解决这个问题,所以我要把此帖顶上去....
作者: hi-wzj    时间: 2004-12-8 03:39
将例子放上来吧
作者: fremgo    时间: 2004-12-8 23:55
发现一个重大问题, 请高手指教:


如何将   me.图片1.picture    里头的图片去掉


表如下:























路径











1.BMP








2.BMP








3.BMP

















5.bmp








6.BMP








显示到第4个格(空值)图片的时候就出错了


我用这个句子也不行:


    If Me.路径 <> "Null" Then


       Me.图像1.Picture = CurrentProject.Path & "\" & Me.路径


    Else


       Me.图像1.Picture  = Nothing


    End If





---------------------


55,老大们请一定帮帮我


我的意思很简单:就是有图片就显示, 没图片就不显示!


                          我用=nothing , =null都出错,晕!





[此贴子已经被作者于2004-12-8 16:08:42编辑过]


作者: fremgo    时间: 2004-12-9 16:11
<ADDRESS>我修正一下:</ADDRESS>

<ADDRESS> </ADDRESS>

<ADDRESS> </ADDRESS>

<ADDRESS>发现一个重大问题, 请高手指教:</ADDRESS>

如何将   me.图片1.picture    里头的图片去掉

<ADDRESS> </ADDRESS>

<ADDRESS>我的表中第4个栏目是空值, 列印显示到这里的时候就出错了</ADDRESS>

我用这个句子也不行:

    If Me.路径 <> "Null" Then

       Me.图像1.Picture = CurrentProject.Path & "\" & Me.路径

    Else

       Me.图像1.Picture  = Nothing

    End If



---------------------

55,老大们请一定帮帮我

我的意思很简单:就是有图片就显示, 没图片就不显示!

                          我用=nothing , =null都出错,晕!

[此贴子已经被作者于2004-12-9 8:30:23编辑过]


作者: jie_ren    时间: 2004-12-9 19:06
19楼的,建议你可以设定一个特别的图片放在你的图片目录之下,比如一个无赖的表情图片,图片的名字也特别点不要跟其他图片命名相冲突就可以了。
作者: jie_ren    时间: 2004-12-9 19:12
标题: 我的例子,请大家看看
我的例子
作者: jie_ren    时间: 2004-12-9 19:14
我的附档怎么上传了却看不见啊,该怎样上传呢?
作者: fremgo    时间: 2004-12-13 19:12
如果图片是整页那么大,而且不能和文字一道显示(即图片是插入的)要怎么弄呢,我是在表里插入很多空行。。。。。晕倒
作者: hi-wzj    时间: 2004-12-13 20:46
以下是引用fremgo在2004-12-13 11:12:01的发言:

如果图片是整页那么大,而且不能和文字一道显示(即图片是插入的)要怎么弄呢,我是在表里插入很多空行。。。。。晕倒



将您现在做的先贴上来看看。
作者: fremgo    时间: 2004-12-14 18:48
这里不能上传文件吗?
作者: hi-wzj    时间: 2004-12-14 20:26
可以上传附件。点击窗体上方的“回复帖子”按钮.....浏览.....上传
作者: jie_ren    时间: 2004-12-15 00:08
[attach]8133[/attach]


作者: youthdating    时间: 2005-1-5 08:32
以下是引用fremgo在2004-12-9 8:11:28的发言:



<ADDRESS>我修正一下:</ADDRESS>

<ADDRESS></ADDRESS>

<ADDRESS></ADDRESS>

<ADDRESS>发现一个重大问题, 请高手指教:</ADDRESS>

如何将   me.图片1.picture    里头的图片去掉

<ADDRESS></ADDRESS>

<ADDRESS>我的表中第4个栏目是空值, 列印显示到这里的时候就出错了</ADDRESS>

我用这个句子也不行:

    If Me.路径 <> "Null" Then

       Me.图像1.Picture = CurrentProject.Path & "\" & Me.路径

    Else

       Me.图像1.Picture  = Nothing

    End If



---------------------

55,老大们请一定帮帮我

我的意思很简单:就是有图片就显示, 没图片就不显示!

                          我用=nothing , =null都出错,晕!



我也求证这个问题。
作者: zyp    时间: 2005-1-5 16:12
If Me.路径 <> "Null" Then

       Me.图像1.Picture = CurrentProject.Path & "\" & Me.路径

    Else

       Me.图像1.Picture  =""

    End If


作者: youthdating    时间: 2005-1-6 07:55
你看我这样行吗?

Private Sub 主体_Format(Cancel As Integer, FormatCount As Integer)

On Error Resume Next

   If Dir("J:\照片\stuphoto\" & XH.Value & ".jpg") = "" Then

   Image44.Picture = ""

   Else

   Image44.Picture = "J:\照片\stuphoto\" & XH.Value & ".jpg"

    End If

End Sub

但是这个照片还是要出来的。

然后我使用了方式是:

If Dir("J:\照片\stuphoto\" & XH.Value & ".jpg") = "" Then

   Image44.Picture = "i:\blank.jpg"  --此处使用一个白色照片,然后置到最底层,哎,很麻烦。

   Else

   Image44.Picture = "J:\照片\stuphoto\" & XH.Value & ".jpg"

    End If



[此贴子已经被作者于2005-1-6 0:00:19编辑过]


作者: youthdating    时间: 2005-1-6 08:01
也就是说:Image44.Picture = ""是不可行的吧。必须要又照片的吧。
作者: youthdating    时间: 2005-1-6 08:31
还是想到一个办法。image.visible="false"
作者: youthdating    时间: 2005-1-7 05:57
突然发现上面的办法不可行。求解。
作者: hi-wzj    时间: 2005-1-7 21:50
回:能显示的就显示,不能显示的就不显示。

Private Sub 主体_Format(Cancel As Integer, FormatCount As Integer)

On Error GoTo ww:

   Me.图像1.Visible = True

   Me.图像1.Picture = CurrentProject.Path & "\" & Me.路径

   Exit Sub

ww:

   Me.图像1.Visible = False

End Sub



[此贴子已经被作者于2005-1-7 13:51:31编辑过]


作者: youthdating    时间: 2005-1-8 07:45
On Error GoTo ww:

ww指的是什么,可以讲的再清楚一些吗?
作者: youthdating    时间: 2005-1-8 07:59
知道了,谢谢斑竹。
作者: okuc    时间: 2005-10-22 07:40
谢谢,高手啊
作者: okuc    时间: 2005-10-22 07:40
我正在做一个简单的管理程序,版主的源码真是雪中送炭
作者: okuc    时间: 2005-10-22 07:41
不知这种程序能否直接编译成EXE文件发布?
作者: yyh887    时间: 2006-2-28 07:43
还是没有弄 明白啊 [em06]




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