VFP6.0中报表打印图片问题

caixia615 2008-06-18 03:18:25
我后台数据存储图片字段一个是16进制的,一个是。JPG后缀的,能不能打印报表时直接把图片显示出来?我用的是VFP6。0,还是需要别的处理方式?请指教..
...全文
839 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
caixia615 2008-06-20
  • 打赏
  • 举报
回复
image字段存的是图片路径,另外一个字段存的是.jpg的文件名
caixia615 2008-06-20
  • 打赏
  • 举报
回复
我看了,大大,在远程视图中我双击通用字段就出现'OLE对象无效或损坏' 了
caixia615 2008-06-20
  • 打赏
  • 举报
回复
我现在就是通过远程视图取出数据库中的IMAGE字段,对应为VFP中的通用字段,
然后在报表中 图片/ActiveX 绑定控件,在控件属性中选择字段填上对应的视图中的通用字段,
打印报表时就出现'OLE对象无效或损坏'
请大大指教.
caixia615 2008-06-19
  • 打赏
  • 举报
回复
或者将sql server中的image字段对应为general字段,对应ole容器类直接在表单浏览.

做这个操作,我在OLE属性中的文件上填字段名出现通用字段无效,在下面的字段中添字段名则提示OLE对象无效或损坏
十豆三 2008-06-19
  • 打赏
  • 举报
回复
在sql server的表中创建image类型字段
在vfp建远程视图,将SQL的image类型字段对应为VFP的memo(binary)类型
保存图形时用append memo将图形文件放入memo字段中
再tableupdate保存到sql server
浏览时用copy memo将图形拷出再对应到控件浏览.

或者将sql server中的image字段对应为general字段,对应ole容器类直接在表单浏览.
caixia615 2008-06-19
  • 打赏
  • 举报
回复
MSSQL,image字段
十豆三 2008-06-19
  • 打赏
  • 举报
回复
转换成16进制存到后台数据库

什么数据库?什么字段类型?
caixia615 2008-06-19
  • 打赏
  • 举报
回复
大大你这种方法应该是取的图片路径,现在我这边是把图片转换成16进制存到后台数据库了的,该怎么处理?
caixia615 2008-06-19
  • 打赏
  • 举报
回复
大大我按第一种来操作提示无效的路径或文件名
十豆三 2008-06-19
  • 打赏
  • 举报
回复
表单能出来,报表就可以,按照我的说明,肯定没有问题。
caixia615 2008-06-19
  • 打赏
  • 举报
回复
大大,只能在表单中显示,不能打印出来?
十豆三 2008-06-18
  • 打赏
  • 举报
回复
报表打印图片(非通用字段)

*-------------------------------
方法一:

在报表中建立一个显示图片的控件
点击“报表(英文版为Report)”菜单中,
指向“插入控件(Insert Control)”,
然后点击“图片/OLE绑定(OLE Bound)”,
这时“图片/OLE绑定(OLE Bound)”属性对话框打开了,
选择“常规(General)”选项卡,
在“控件源(Control source type)区”有三个选项,
如果是VFP9,选择最后一种,即“表达式或变量名(xpression OR variable name)”
并在下面的“控件源(Control source)”处输入:
(如果是VFP6,选择第一种,即“文件”并在“文件”后面输入)
表名.存放图片路径的字段名

此方法要保证字段名中所指向的图片必须存在,否则就报错



方法二:

如果有可能有些文件路径存放错误或文件不存在或有空记录,就用如下方法:

1、报表设置(假设报表名为reportpho1.FRX)
在报表中建立一个显示图片的控件
点击“报表(英文版为Report)”菜单中,
指向“插入控件(Insert Control)”,
然后点击“图片/OLE绑定(OLE Bound)”,
这时“图片/OLE绑定(OLE Bound)”属性对话框打开了,
选择“常规(General)”选项卡,
在“控件源(Control source type)区”有三个选项,
如果是VFP9,选择最后一种,即“表达式或变量名(xpression OR variable name)”
并在下面的“控件源(Control source)”处输入:LcFileName(RECNO())

如果是VFP6,选择第一种,即“文件”
并在“文件”后面输入:LcFileName(RECNO())



2、用画图建一个空白的图片,
大小与你其它图片差不多就可以,
我建的为NullPho.bmp
并把此文件放在当前目录下。

3、打印按钮的CLICK事件:
*假设你的表名T1,存放图片路径的字段名为PhoPath
IF !USED('T1')
USE T1
ELSE
SELECT T1
ENDIF
PUBLIC lcfilename(RECCOUNT())
SCAN
IF FILE(ALLTRIM(T1.PhoPath))
lcfilename(RECNO())=ALLTRIM(T1.PhoPath)
ELSE
lcfilename(RECNO())='NullPho.bmp'
ENDIF
ENDSCAN
GO TOP
REPORT FORM reportpho1 PREVIEW
caixia615 2008-06-18
  • 打赏
  • 举报
回复
字段绑定.jpg的字段还是绑定16进制存储的字段,试了两个都有错误啊
caixia615 2008-06-18
  • 打赏
  • 举报
回复
ole控件加上去,没看见有控件源类型及控件源啊
shxmh 2008-06-18
  • 打赏
  • 举报
回复
存储在VFP表通用字段的JPG图片是可以通过报表打印出来的

在报表中使用OLE控件,在“控件源类型”中选择普通字段,并在“控件源”中指定字段名

2,748

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧