Toon posts:

[ACCESS 2003] Database kopieren op CD met OLE-koppelingen

Pagina: 1
Acties:
  • 122 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb het volgende vraagstuk waar ik al een aantal dagen een oplossing probeer te vinden. Ik heb eerst geprobeerd op de Microsoft website, hier (natuurlijk) en in de Access helpfile.

Maar misschien is het een heel simpele oplossing ervoor, waar ik de hele tijd over het hoofd zie. Maar mijn vraag is als volgt:

Ik heb een database in Access 2003 gemaakt met koppelingen naar PDF-files. Deze heb ik gekoppeld met een OLE-object naar locatie op de harde schijf zoals F:\Database\DATA\PDF\Document.pdf

Ik open de PDF via een formulier door middel van dubbelklikken op de OLE-object. Dit werkt prima, maar zodra ik hem kopieer naar een Cd-rom of een andere pc, dan kan hij de koppeling niet meer maken.

Ik ben er wel achter dat ik het door de stationsletter komt.

Maar hoe krijg ik het voor elkaar dat ik een OLE-object zo kan maken dat het gemakkelijk in te voegen is maar dat hij niet afhankelijk is van de stationsletter?

Erg bedankt voor jullie hulp (of ieder geval het duwen naar een goede richting :*)

  • Noordamski
  • Registratie: Oktober 2002
  • Laatst online: 25-07 23:00

Noordamski

yibbedi yibbeda

Voor zover ik weet slaat Microsoft de paden hard op incl. de stationsletter. Dus je kunt proberen een script te maken wat bij opstarten de stationsletter leest waar vanaf de database gestart is en dan deze stationsletter aanpast in alle OLE objecten....

If you can't convince them with facts, dazzle them with bullshit


Verwijderd

Topicstarter
Ik vond dit op Microsoft : http://support.microsoft.com/?kbid=311147#top

Met dit script is de bedoeling om OLE-koppelingen aan te passen naar een nieuwe pad....maar dat is dus niet een driveletter ofzo.

Maar ik vind het wel een goed idee om de driveletter aan te passen bij het opstarten. Maar ik ben helaas niet zo thuis met zulk soort scripts.

Wat ik wel gevonden heb, is dat je een Universal naming convention (UNC) name gaat gebruiken voor je koppelingen. Deze maakt van het volgende link gebruik: \\SERVER\SHARE. Dus zo maakt ie een link driveletter onafhankelijk. Maar hoe kan je dat toepassen op een OLE-object?

Of is dat ook toe te passen op een Opdracht-knop, zodat je een PDF kan linken en dat de link direct naar een UNC name veranderd?

Verwijderd

waarom stop je ze niet in een tabel met een veldtype 'ole-object'?

Verwijderd

Topicstarter
Als ik ze insluit binnen de database, dan wordt de database groot en log. Hij zal merkbaar langzamer gaan draaien.

Daarnaast vormt de grens van een MDB-bestand een probleem. Deze is namelijk 2 GB en met PDF-files (sommige van 5 mb) kom je daar uiteindelijk snel eraan.

Microsoft raad wel aan om de bestanden te koppelen, maar vergeet zelf 1 ding, je moet je database dan wel op 1 locatie houden en niet meer verplaatsen of kopiëren, tenzij het met dezelfde driveletter.

Ik kan wel de database laten verwijzen naar een mappenreeks om de C:-schijf zoals C:\Database\DATA, maar dan is je database niet echt flexibel, lijk mij.

  • Boss
  • Registratie: September 1999
  • Laatst online: 28-07 14:18

Boss

+1 Overgewaardeerd

Sluit de bestanden niet in als OLE object, maar als naam van het bestand, zonder pad. Het pad bepaal je relatief ten opzichte van het mdb bestand. Moet je alleen wat code maken om de pfd te openen met het juiste programma.

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.


Verwijderd

Topicstarter
Het lijkt te werken. Ik koppel de OLE-object zonder een exacte pad weer te geven, dus in plaats van C:\Database\Bestand.pdf wordt de koppeling alleen Bestand.pdf (dus gewoon de pad weghalen, bij OLE-object invoegen).

Ik hoef trouwens geen aparte script te maken op de pdf te openen omdat je Acrobat Reader de koppeling gewoon oppakt.

Ik ga dit verder uitzoeken en mijn bevindingen zal ik hier bekend maken.

Bedankt voor de richting Boss ;)

  • Boss
  • Registratie: September 1999
  • Laatst online: 28-07 14:18

Boss

+1 Overgewaardeerd

Toch zou ik er geen OLE koppeling meer van maken, maar alleen de bestandsnaam opslaan. Op die manier kan je er ook nog voor kiezen om de bestanden een keer in een mapje te stoppen en je database in een andere map.

Maargoed, als dit voldoende is, klaar toch? :)

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.


Verwijderd

Topicstarter
Het werkt inderdaad als je je bestanden in 1 vaste map houdt.

Maar het belangrijkste is eigenlijk dat je de totale database gewoon kan kopiëren naar een andere pc/harde schijf, zonder dat je alle koppelingen opnieuw moet instellen. Je moet wel de mappenstructuur van je databasemap behouden.

Ik koppel nu alle OLE-koppelingen met alleen de bestandsnaam en niet de pad.

Maar waarom kan je beter geen OLE-koppeling gebruiken, eigenlijk?

  • Boss
  • Registratie: September 1999
  • Laatst online: 28-07 14:18

Boss

+1 Overgewaardeerd

Het maakt eigenlijk niets uit op de manier waarop jij het gebruikt nu. Alleen wat ik wel eens ben tegengekomen was een database met heel veel gekoppelde objecten (in dezelfde map), en dat werkte allemaal niet meer toen die verplaatst moesten worden. Daarom sl ik liever de bestandsnaam op, en open de bestanden met een paar regeltjes code.

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.


Verwijderd

Topicstarter
Dankjewel voor de waarschuwing. Ik heb de database nu al een paar keer goed kunnen verplaatsen zonder dat de koppelingen verdwenen.

Zowel tussen Access 2002, 2003 en XP gaat dit goed.

Dus dit probleem is in mijn geval opgelost.
Pagina: 1