编程论坛's Archiver

lhf391855540 发表于 2008-7-10 20:19

添加记录时如何实现向记录集中加入图片数据?

我的Access数据表中有一个图片字段,在VB程序中添加新记录时,用什么方法向记录集中存储图片资料呢?求大侠指点。谢谢!

水中无月 发表于 2008-7-10 20:26

先把图片内容读取到内存,然后按常规写入数据的方法写入数据库
(不知道我说的对不对[em01] )

lhf391855540 发表于 2008-7-10 20:37

能说具体点吗?谢谢!

水中无月 发表于 2008-7-10 20:38

先用Open以Binary打开一个图片文件,读取内容到内存里,再添加。
网络上没有这方面的资料吗?

lhf391855540 发表于 2008-7-10 20:51

要存储图片的字段应该与什么控件进行绑定合适呢?我试过PictureBox、Image控件、OLE容器,结果都无法存储数据。只能显示图片,不能输入图片资料。不知是方法不对还是这些控件不适合输入图片资料。另外,图片字段的数据类型也曾分别设为备注、OLE对象类型,都不能达到目的。
    望指点迷津。谢谢!

lhf391855540 发表于 2008-7-10 20:53

能给出示例或代码吗?

lhf391855540 发表于 2008-7-11 02:24

已经确定在Access的字段的数据类型应该设为OLE对象。在VB程序里应该用OLE对象控件进行绑定。但还是有一些问题没有解决。

lhf391855540 发表于 2008-7-11 02:47

我要在程序运行时创建一个空的嵌入对象,比如空的Word文档进行文字或图片的编辑,或者空的Excel表格进行图表分析,代码该怎样写呢?
求示例代码。
谢谢!

multiple1902 发表于 2008-7-11 07:11

貌似是OLE容器,以二进制方式存。

一般二进制数据不存到数据库里,库里存文件路径。

lhf391855540 发表于 2008-7-11 08:22

班竹能详细说明方法吗?(包括代码)
谢谢!

lhf391855540 发表于 2008-7-11 11:05

在VB程序设计时,在OLE容器控件中插入了Microsoft Office Word 文档对象,但在运行时,只能激活有数据的文档,没有数据的却不能激活Word程序。应该怎么办?

lhf391855540 发表于 2008-7-11 13:22

终于找到方法了

lhf391855540 发表于 2008-7-11 13:24

其实在VB程序设计时,不用在OLE容器控件中插入Microsoft Office Word 文档对象。可以在运行时插入。

lhf391855540 发表于 2008-7-11 13:26

下面的代码供参考:
Private Sub cmdjh_Click()    '新增图片
    If MsgBox("新增图片将会丢失原有数据!" + Chr(13) + Chr(10) + "如果在原有数据基础上增加数据请选择“否”,然后双击OLE控件。" + Chr(13) + Chr(10) + "选择“是”,继续;" + Chr(13) + Chr(10) + "选择“否”,放弃操作。", vbYesNo + vbQuestion, "系统询问") = vbYes Then
       OLE1.CreateEmbed "", "Word.Document"
       OLE1.DoVerb -5  '激活
    Else
       Exit Sub
    End If
End Sub

lhf391855540 发表于 2008-7-11 13:28

OLE1.CreateEmbed "", "Word.Document"
这段代码用于动态创建空的Word文档

lhf391855540 发表于 2008-7-11 13:30

原来的代码写的过于复杂,运行时总出错。结果却这么简单。把简单的问题复杂化了。

lhf391855540 发表于 2008-7-11 13:35

不过现在还有一个问题:就是激活空的Word文档后,不能自动显示光标位置,要手工插入光标。换句话说就是好象激活的空的Word文档不能自动获得焦点,希望能找到方法解决。
各位如果有好的方法请赐教。

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.