我用VB做一个隧道资料档案系统,选用了Access数据库,由于需要做到查询到了word文件,cad图纸能够直接打开,于是我就在Access的数据库中建立"文件内容"这个字段,并将word文件,cad文件嵌入到该数据库中,我在VB做的查询窗口中用了OLE控件,并且与Access数据库中的"文件内容"这个字段绑定,以便查询到了某个文件可以双击OLE控件以激活word文件或Cad图纸,但是现在用户要求打开文件之后不能修改,我做的好像是可以的,因为我激活了word或Autocad,做了修改,关闭word或Cad留在oLE控件上的就是被修改后的,我由于对这个不是很熟,导师又希望做这个项目,请各为大侠帮帮忙,谢谢

解决方案 »

  1.   

    UpdateOptions 属性
          返回或设置一个值,指示当链接数据修改后如何更新对象。语法object.UpdateOptions [ = number]UpdateOptions 属性的语法包含下面部分:部分 描述 
    object 对象表达式,其值是“应用于”列表中的一个对象。 
    number 整数,指示如何更新对象,在“设置值”中有详细说明。 
    设置值number 的设置值是:常数 值 描述 
    vbOLEAutomatic 0 (缺省值)自动的。每次改变链接数据时均更新对象。 
    vbOLEFrozen 1 冻结的。无论何时从生成对象的应用程序内保存链接数据,均更新对象。 
    vbOLEManual 2 手动的。只有使用 Update 方法才更新对象。 
    说明对链接的对象来说,当其它用户或应用程序能够存取和修改链接数据时,这个属性是很有用的。当改变对象的数据时,调用 Updated 事件。
      

  2.   

    你说的我试过了,我准备不用OLE将CAD文件内容和Word文件嵌入到数据库中,编写代码将它们存放进去,能后编写代码用按扭将查询到的文件以只读方式打开,但我不知道怎么写?
    expression.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMRU),我不知道任何使下段代码以只读方式打开
    Dim sFileName, sContent, sPartContent As String   '打开word文档
        Dim wrdApp As Object
        Dim k As String
        CommonDialog1.ShowOpen
        If Err <> 0 Then Exit Sub
        sFileName = CommonDialog1.FileName
        If sFileName = "" Then Exit Sub
        Set wrdApp = CreateObject("Word.Application")
        wrdApp.Visible = True
        wrdApp.Documents.Open (sFileName)
        sContent = wrdApp.ActiveDocument.Content
    请问如何用这个函数
      

  3.   

    你说的vbOLEManuual模式就不能激或文件了?