read-only OLEs ?
Hello all !
I 'm database administrator and I 've a MSAccess db , which contains a tables with OLE objects (most of them are MSWord documents). I 've also some forms , that prevents they fields from changing (read-only forms). But when OLE object field is "executed" (Word document opens) , user can modify something. Then , when user closes form , he is getting an error with saving OLE object.
Question: how to prevent OLE object from changing(better)OR how to discard all changes before form is closed ?
My Solution: I wrote a Form_Timer() sub , that reads some key states (about 50 times per second) and simply closes form , before something is changed. It 's not a good solution and I 'm searching 4 a new one.
thanks
[833 byte] By [
mole] at [2008-2-5]
Our support engineer has some questions that he needs clarification on before he can proceed:
- What version of MS Access are you using?
- “I 've also some forms , that prevents they fields from changing”
Please describe how the form works?
- “when user closes form , he is getting an error with saving OLE object.” What’s the error message?
4. Please help me repro the issue... a demo is highly appreciated!
Please go ahead and post your replies here or email them directly to us at budsup@microsoft.com.thank you,
-brenda (ISV Buddy Team)
1. What version of MS Access are you using?
MS Access 2003 Service Pack 1 on Windows XP Service Pack 2. All recommended updates are applied. Db format is Access 2000.2. Please describe how the form works?
I 'm from Russia , therefore I 've only PC's with russian UI. And so I can make some mistakes , when translating property names & error messages.
Ok , I protect form fields from changing simply by setting Allow editing , Allow deleting , Allow adding and Data entry form properties to false. Recordset type is Snapshot.3. What's the error message?
"Microsoft Office Access can not save changes in associated OLE object. Access to current record is denied, or other user has locked this record. Copy the object to clipboard and use a 'Restore current field' command from 'Edit' menu. Then open an application, that was used for OLE object creation, insert the object and save it" (loose translation by myself ).
Thank you for the additional information. Despite the details that you provided above, the engineer is unable to reproduce the problem. Can you please send a code sample or short demo to
budsup@microsoft.com so that the engineer can get a better understanding of the issue?
thank you!
-brenda (ISV Buddy Team)