access怎么添加字段并添加对应数据(access添加ole对象图片)
1992
2023-05-05
1.不知道大家有没有接触过VF编程。如果有,应该对OLE不陌生。不过,不管你有没有接触过,相信看完下面的内容对你还是有帮助的。VFP VisuaLFoxPro3.0(以下简称VFP)OLE技术应用详解使用OLE2.0技术,大大加强了VFP应用的适应性。
2.VFP提供了两种类型的OLE对象:一种是OLE控件(..OCX文件),这是一个自定义控件。通常,它在WINDOWSSYSTEM目录下有自己的事件和方法,类似于VFP的基本类。该控件可以用VC、VB5.0、DeLphi、SDK2.0等编程工具开发。
3.VFP默认提供了四个OLE控件,即通讯(MSCOMM32。OCX)、消息应用程序接口MAPI(MSMAPI32。OCX),提纲(MSOUTL32。OCX)和图片剪辑(picclp 32 . ocx);另一种是可插拔的OLE对象,由其他应用程序创建,没有自己的事件集合。
4.这种可插拔OLE对象可以分为受限可插拔OLE对象和非受限可插拔OLE对象。
5.VFP提供了两种引用OLE对象的方式,这两种方式都是通过VFP中的控件实现的:一种是通过OLE容器控件链接或嵌入对象,可以引入OLE控件和不受限制的可插拔OLE对象;另一种是通过OLE绑定控件链接或嵌入到数据表的通用类型字段中的OLE对象,这些控件通常是受限制的可插拔OLE对象。
6.在VFP,OLE对象是通过链接或嵌入来操作的。
7.链接和嵌入的区别在于OLE对象的存储位置:链接操作中的OLE对象仍然存储在源文件中,而数据表或表单只存储源文件,即指针。当源文件发生变化时,链接的OLE对象会及时更新。
8.链接的OLE对象始终保持与源文件的连接,除非这种连接被人为断开;嵌入操作的OLE对象只能存储在数据表或窗体中。
9.这些OLE对象不与创建它们的源文件保持联系。
10.如果源文件被更改,它们不会自动反映在VFP应用程序中,除非您再次嵌入它们。
11.链接操作通常用于以下情况:OLE对象(数据或图形)可能经常更改,应用程序必须包含最新版本的OLE对象,存储OLE对象的源文件可以在计算机之间或通过计算机网络进行更新,存储OLE对象的源文件必须由其他应用程序共享。
12.嵌入操作通常用于以下情况:应用程序不需要有最新版本的OLE对象,嵌入的OLE对象不需要被多个应用程序使用,源文件在链接后不会更新。
13.需要注意的是,VFP本身只是一个OLE客户端,而不是OLE服务器。
14.使用OLE对象在应用程序中使用OLE对象时,首先要考虑OLE对象的类型,用不同的方法引用不同类型的OLE对象。
15.当程序中要引用很多可插拔的OLE对象时,就要考虑使用数据表的通用字段来存储。
16.向VFP数据表添加OLE对象的方法1:使用数据表设计器向数据表添加通用字段,然后将可插入的OLE对象链接或嵌入到通用字段的每条记录中。
17.通用字段包含一个10字节的指针,它指向字段的实际内容。常规字段的实际类型和数据大小取决于创建这些对象的OLE服务器。
18.这些OLE对象是通过链接操作还是嵌入操作,与应用程序有关。
19.如果通过链接操作OLE对象,数据表只包含对OLE对象和创建它们的应用程序的引用;如果OLE对象以嵌入模式运行,数据表将包含相关OLE对象的副本以及对创建它们的应用程序的引用。
20.公共字段的大小只受可用磁盘空间的限制。
21.方法2:使用APPENDGENERAL命令从文件中导入OLE对象,并将其放入常规字段中。
22.语法:追加通用能量字段名[from filename from mopicturefield?name][data expression][Link][class ole class name]2。使用受限可插拔OLE对象使用存储在一般字段中的受限可插拔OLE对象需要使用OLE绑定控件,如下所示:(1)在窗体设计器中,向窗体添加OLE绑定控件。
23.(2)通过设置对象的ControLSource属性来指定包含OLE对象的通用字段。
24.如果数据表名为“库存”,常规字段名为“当前”,那么您可以控制?Source属性设置为Inventory.Current。
25.(3)在表单上添加按钮或菜单命令,以浏览由ControLSource属性指定的常规字段。
26、3、OLE控件的使用(..OCX文件)和不受限制的可插拔OLE对象需要使用OLE容器控件。
牛皮克拉斯的大致内容分享到此结束,希望对各位有所帮助。
你好,我亲爱的朋友们。大锤哥已经来为亲爱的朋友们解答以上问题了。插入ole对象图 piece,ole对象类型,这个很多人还不知道,现在我们往下说!
27.OLE容器控件允许向应用程序添加OLE对象,包括OLE控件(..OCX文件)和不受限制的可插入OLE对象。
28.OLE容器控件不同于OLE绑定控件,因为它不与VFP表的常规字段连接。
29.如果要在表单中添加OLE控件和不受限制的可插拔OLE对象,可以按照以下步骤操作:(1)在表单设计器中,在表单中添加OLE容器控件。
30.(2)在“InsertObject”对话框中,选择“CreateNew”或“CreatefromFiLe”或“InsertControL”选项。
31.(3)从显示的列表中选择一个合适的OLE控件或创建一个合适类型的对象或添加一个嵌入文件。
32.如果插入控件时所需的控件没有出现在列表中,您可以选择“添加控件”按钮将其添加到列表中。
33.通过将OLE控件添加到表单控件工具栏,也可以将它们添加到表单中。
34.在选项对话框中选择控件后,单击表单控件工具栏上的“ViewCLass”按钮,从子菜单中选择“OLEControL”,单击OLE,然后拖动控件设置其在表单上的大小。
35.下面的例子说明了如何在程序中使用不受限制的可插入OLE对象。在本示例中,首先将一个OLE容器控件添加到表单中,然后通过使用OLE容器控件的OLECLass和DocumentFiLe属性将MicrosoftExceL用作OLE服务器,并将一个ExceL工作簿指定为要编辑的文件。
36.DocumentFiLe属性指定名为BOOK1的工作簿。XLS下的ExceL路径在c盘。
37.如果DocumentFiLe属性中指定的文件或路径不存在,此例程将无法正常运行。此时,需要修改DocumentFiLe以指示现有的路径和工作簿文件。
38.另外,第一册。XLS只能读取,不能修改。以下是它的VFP源代码及其描述。
39、frmmyform = createobject(' form ')& &创建一个窗体frmmyform。可关闭=。废除控制菜单框frmmyform。Addobject ('cmdcommand1 ',' cmdmcmdbtn') frmmyform。Addobject (〃 ole object圓、ࣳ)。cel object〃)frmMyForm . cmd command 1 . visible = . t . frmMyForm . ole object . visible = . t . frmMyForm . ole object . height = 50 frmMyForm。show frmmyform . ol object . doverb(-1)READEVENTS defineclassoleexcelobjectasolecontrole class =〃ExceL。sheet〃document file =〃C:excel book 1。XLS end define DEFINECLASScmdMyCmdBtnASCommand?按钮标题=“取消”。t . left = 125 top = 210 high = 25步骤单击清除事件结束定义4。使用OLE对象的属性有一系列可用于OLE对象的属性,但是对于包含在OLE容器控件中的OLE对象,需要引用OLE对象的属性而不是它们的容器的属性,这就需要设置Ob?对象属性被添加到OLE对象名称中。
40、5、使用OLE对象的方法除了设置和读取OLE对象的属性,还可以使用OLE对象的方法操作OLE对象。
41.例如,下面的程序使用ex?添加ceL对象的方法创建一个ExceL工作簿,然后用Save方法保存工作簿,用Quit方法结束这次ExceL的运行:oLeApp=CREATEOBJECT("Ex ("ex?Cel。应用”)OleApp。可见=。t.OleApp. Workbooks。添加OleApp。单元格(1,1)。值= 7 OleApp。活动工作簿。Saveas ("c: temp。xls”)ole app。退出等同于使用属性。如果使用容器控件创建对象,应该确保“对象”是
42、6、访问集合中的OLE对象一个对象类型可以代表单个对象或相关对象的集合。
43.在程序中,集合是一个无序的链表结构。每当一个对象被添加到集合中或从集合中移除时,其他对象的位置可能会改变。
44.通过使用集合的Count属性遍历集合,可以访问集合中的所有对象。
45.Count属性可用于返回集合中的项数。
46.此外,可以使用Item方法返回集合中的一个项。
47.您还可以访问集合中的集合。
48.例如,下面的程序代码可用于访问单元格区域中的某个单元格集:OLE APP = CreateObject ("Excel。工作表”)OLE应用程序。范围(OLE应用程序。单元格(1,1),OLE应用程序。细胞(10,10))。值= 100 7。使用OLE对象的数组,使用OLE技术,不仅
49.传递数组的方式必须是通过引用,也就是说,必须在数组名前添加@符号(超过二维的数组不能传递给具有VFP的OLE对象)。
50.例如,要将VFP数组发送到ExceL,可以使用下面的程序代码。
51.它首先在VFP中创建一个数组,为数组赋值,然后启动ExceL,创建一个工作簿,并为工作表的第一个单元格设置初始值,然后将该值复制到数组中的其他工作表:使用ExceL的工作簿集(Workbooks对象)、工作表集的相关属性和方法(Sheets对象)以及ExceL对象的GetCustomListContents方法。
52.下面的代码将该数组传递给FiLLAcrossSheets方法,以便将Sheet1中第一个区域的内容复制到其他工作表中的同一区域。
53、DIMENSIONaV(2) aV(1)=〃Sheet1圓aV(2)=〃sheet 2ࣳole app = CREATEOBJECT(〃Ex?ceL。应用程序〃) oLeApp。Workbooks.Add oLeI=oLeApp。练习册。第(1)项。第(1)项。单元格(1,1)。value = 100&&初始值olei.sheets (@ av)。fillacrossssheets(olei . worksheets(〃sheet 1圓)。cells (1,1)) oleapp.visible =。下面的代码将一个数组返回给VFP并显示它。Cel。application 〃) aolearray = oleapp。getcustomlistcontents(1)&您可以通过更改数组索引来显示其他内容。对于index = 1到alen (aolearray)?aOLeArray(nIndex) ENDFOR .