Office中国论坛/Access中国论坛

标题: OLE綁定控件,在預覽時如何顯示指定EXCEL範圍?? [打印本页]

作者: ADAM    时间: 2009-11-23 15:50
标题: OLE綁定控件,在預覽時如何顯示指定EXCEL範圍??
本帖最后由 ADAM 于 2009-11-25 14:27 编辑

說明:
       1.有SQL服務器,有個表TEST1,可以供ADP讀取.
       2.表的內容如下:
             行號       標題(TEXT)                    內容(SQL中爲image,OLE字段)
              1          制作圖稿流程                 略(內容較多,格式不固定.用EXCEL表達)
              2          制作網版流程與明細         略(WORD+圖片內容)
             ..........
        3.在表單中,有兩個按鈕:"查看","修改"
        4.在ADP+SQL模式下,部份人員可以查看相關信息,部份可以編輯.資料是存在資料庫中.
        5.因爲內容格式很多,在ACCESS中用TEXT儲存的話會很難讀,且不好調調整格式,所以要用OLE字段,可以存EXCEL或WORD.


解決方案:

         1.只有將表單上的內容控件設定爲綁定控件.才能將其內容用很多方式表達.
   
難點:
          1.設爲綁定控件後,只要打開其OLE對應的EXCEL,它都能修改,
               沒法設定查看方式.
          2.請問,如何實現"查看",與"修改"功能.
          3.現在基本實現,只有選定範圍顯示還沒搞定.
             有興趣的可查看附件.

[attach]40507[/attach]
         

作者: aslxt    时间: 2009-11-23 16:23
同问
我还想知道,如果两人都可以编辑,怎样知道甲已经打开某个文档,好避免乙也打开文档?因为具有编辑权限的人同时打开文档,会导致错误,只有关闭该窗体
作者: ADAM    时间: 2009-11-23 16:59
很簡單的:
系統中有個表"修改記錄表",用於存儲正在編輯的記錄(此表字段有:表名,正在編輯ID號)
當對當前表單按下"修改"時,先在"修改記錄表中查看沒有沒現修改的ID,沒有就將表名,當前ID號存入"修改記錄表".
修改完成後,在"保存"按鈕中,刪除"修改記錄表"中當前ID的記錄就好了.
作者: andymark    时间: 2009-11-23 20:43
建议把WORD或EXCEL保存二进制,需要查看的时候临时输出还原

这样就能够用权限来控制查看和修改了
作者: ADAM    时间: 2009-11-24 08:14
二進制用什麽控件可以查看,能不能用程式控制到.
有沒有再具體一點的提示
作者: andymark    时间: 2009-11-24 08:51
把文件保存成二进制格式,需要查看的时候,再输出

通过权限来控件文件的读写,保存

[attach]40502[/attach]
作者: aslxt    时间: 2009-11-24 09:09
谢谢
作者: ui    时间: 2009-11-24 11:12
谢谢!
作者: ADAM    时间: 2009-11-24 14:01
andymark:
你的代碼是處理圖片的,我需要讀出,寫入,一般正常功能的操作.
我做了一個示例,請查看.
主要是查看功能沒有解決.
TKS
[attach]40504[/attach]
作者: ADAM    时间: 2009-11-24 14:11
本帖最后由 ADAM 于 2009-11-24 14:14 编辑

如何只使用EXCEL來編輯我已找到解決方法:
如何只查看OLE內容,與顯示預定範圍的內容還沒辦法??????

即將我TEST示例中的一段代碼修如下:

If IsNull(Me.A2) Then
    'Me.A2.Action = acOLEInsertObjDlg-------原代碼
    Me.A2.OLETypeAllowed = acOLEEmbedded----修改後代碼
    Me.A2.Class = "excel.sheet"----修改後代碼
    Me.A2.Action = acOLECreateEmbed----修改後代碼
End If----修改後代碼
    Me.A2.Verb = acOLEVerbOpen
    Me.A2.Action = acOLEActivate
'End If-------原代碼
作者: andymark    时间: 2009-11-24 14:11
frmORDER 窗体里面保存的是一个WORD文档

通过Launch Doc打开

同样修改后也能保存起来
作者: ADAM    时间: 2009-11-24 14:24
本帖最后由 ADAM 于 2009-11-24 14:26 编辑

呵呵.請幫忙看看我的例子.
用Launch Doc打開後,能存,但不能存入表中.
作者: ADAM    时间: 2009-11-24 15:09
本帖最后由 ADAM 于 2009-11-24 15:19 编辑

andymark:我使用你提示的ADODB.Stream來讀取內容 可是,用 Application.FollowHyperlink n1(N1是D:\T1.XLS的意思)打開時,卻是亂碼,不能顯示

如附件[attach]40506[/attach]
查清楚了,原來是用OLE對象插入的,就不能用ADODB.STREAM來讀取,不然就是亂碼
那麽,有沒有其它方式 來讀出內容.
不然也用OLE的方式打開,在不能編輯模式下,老提示有誤.
作者: ADAM    时间: 2009-11-25 14:28
沒人踩,掉到下面去了




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