[Access] Meerdere office-OLE objecten openen

Pagina: 1
Acties:

  • mduijvendijk
  • Registratie: Oktober 2001
  • Laatst online: 11-05 14:22

mduijvendijk

Flying Rukia ^_^

Topicstarter
Ik heb in Access een database gemaakt met allemaal documentatie (Word, Excel, DTD, PFD, enz.).
Nu heb ik hiervoor een formulier gemaakt waarmee die documenten kunnen worden geopend.

Het is trouwens een doorlopend formulier.

Het probleem is, dat ik maar 1 office document tegelijk kan openen.
Als het volgende record de focus krijgt, word automatisch het geopende Word bestand gesloten.
Weet iemand hoe ik dit kan voorkomen, want het zou wel zo handig zijn als ik meerdere bestanden naast elkaar open kan hebben.
Hieronder de code om heb OLE object te openen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub OLE_Click()
    
    OLE.OLETypeAllowed = acOLEEmbedded
    ' acLEEmbedded make sure that the object is saved in the DB
    
    If OLE.OLEType = acOLENone Then
        ' Display Insert Object dialog box, when there is no object
        OLE.Locked = False
        
        OLE.Action = acOLEInsertObjDlg 'acOLEPasteSpecialDlg 'acOLEInsertObjDlg
    Else
    ' open the object when there is an object
        If MsgBox("Wilt u het volgende document of object openen?" & vbNewLine & Omschrijving.Value, vbYesNo + vbQuestion, "Object openen") = vbYes Then
            OLE.Locked = False
            OLE.Action = acOLEActivate
        End If
    End If
    OLE.Locked = True
 
End Sub

Sometimes human's are...


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Het probleem zit in 'ole.activate'. Welke actie precies wordt uitgevoerd stel je vóóraf in met behulp van de eigenschap 'verb'. Of je opent het document helemaal handmatig: Automatisch koppelen ole objecten in access.

offtopic:
Het verbaast me dat je dat topic helemaal niet noemt in je startpost; het staat notabene in de lijst active topics. Ook vraag ik me af of je de helpfiles van Access wel hebt ingekeken. Zo komt het namelijk over alsof je zelf geen enkele moeite wilt doen om je eigen vraag te begrijpen en dat is niet de bedoeling. waarom zouden anderen er dan wel moeite in moeten steken?
Lees de Algemene gedragsregels (Netiquette) nog eens goed door.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • Boss
  • Registratie: September 1999
  • Laatst online: 10:17

Boss

+1 Overgewaardeerd

Volgens mij is dit niet te realiseren. Ik ben laatst veel (lees: erg veel :) ) met OLE objecten bezig geweest en mijn conclusie is dat het wel mooi werkt, maar ook beperkingen heeft. Access gaat op een heel erg 'visuele' manier om met OLE containers: als je een OLE object onzichtbaar maakt, is het niet mogelijk om via code het object te activeren. Het lijkt wel alsof Access een verwijzing wil maken naar een gebied op het scherm of op het formulier waar het object in staat.

Mede daardoor denk ik niet dat je in een doorlopend formulier, waar dus meerdere OLE objecten tegelijkertijd zichtbaar zijn, er meerdere kunt openen.

Ik heb uiteindelijk niet meer voor OLE objecten maar voor file streams gekozen, en zelf routines geschreven voor het openen en bijwerken van de data in deze streams.

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Het probleem treedt op als je documenten opslaat in de database zelf. Meest simpele workaround zou dan ook zijn om de documenten te linken ipv op te slaan. (Waarom) Is dat niet mogelijk?

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland