Avatar billede BjarnePedersen Nybegynder
17. januar 2011 - 11:58 Der er 18 kommentarer og
1 løsning

UNC sti i Access 2007

Jeg har en Access 2007 db hvor jeg viser en mængde externe filer.

Stien kan se sådan ud    d:\arkiv-base\billeder\b0745.jpg

Problemet er så at jeg gerne ville kunne afvikle det fra forskellige drev, derfor skal jeg bruge en relativ stiangivelse.

Havde fundet frem til at det skulle se ud i retning af ..\\billeder (databasen ligger i [drev]:\arkivbase )

men det virker ikke (har prøvet forskellige kombinationer)

Hvad gør jeg galt?

Bjarne
Avatar billede BjarnePedersen Nybegynder
17. januar 2011 - 12:00 #1
UPS

mente selvfølgeligt at det skulle se ud i retning af ..\\billeder\b0745.jpg
Avatar billede hugopedersen Nybegynder
17. januar 2011 - 12:42 #2
UNC er  \\server\drev\filnavn.ext
Avatar billede hugopedersen Nybegynder
17. januar 2011 - 12:43 #3
Eller helt korrekt  \\server\share\filnavn.ext
Avatar billede hugopedersen Nybegynder
17. januar 2011 - 12:45 #4
Så hvis du har en server der hedder MINSERVER og på den har lavet et share der hedder MITSHARE så skal du bruge

\\MINSERVER\MITSHARE\\b0745.jpg

Husk at hvis der skal skrives i mappen, så skal brugeren have rettigheder til det.

Det fungerer helt fint. Jeg bruger det hver dag.
Avatar billede greybeard Nybegynder
17. januar 2011 - 14:46 #5
Den relative sti ser sådan ud:

\billeder\b0745.jpg

Det kræver bare at Din aktive sti er den samme som databasen, hvilket jeg mener den er pr. default.
Avatar billede hugopedersen Nybegynder
18. januar 2011 - 11:51 #6
UNC stien er da ikke relativ - den er efter min bedste overbevisning absolut.
Og det må da være den der skal bruges for at være sikker på at have adgang til alle billeder ligegyldigt fra hvilken sti applikationen køres.
Avatar billede greybeard Nybegynder
18. januar 2011 - 14:35 #7
"Problemet er så at jeg gerne ville kunne afvikle det fra forskellige drev, derfor skal jeg bruge en relativ stiangivelse."

Så jeg antager at problemet er at den samlede pakke skal kunne flyttes og afvikles et andet sted. Hvis det eer tilfældet, er en relativ sti mere brugervenlig, da den ikke kræver et bestemt bibliotek.
Avatar billede BjarnePedersen Nybegynder
18. januar 2011 - 14:56 #8
@greybeard
Netop det var også min tanke, men kan bare ikke få det til at virke.

hvis det afvikles under win 7 så virker det (på de fleste pc...)men hvis det afvikles under xp så virker det ikke...

@hugopedersen
det lyder rigtigt godt men hvis "pakken" så flyttes til en anden server, eller afvikles lokalt, (jeg har ikke en server)så passer servernavnet jo ikke længere..
Avatar billede hugopedersen Nybegynder
18. januar 2011 - 16:35 #9
Så brug Application.CurrentProject.Path & "\Billeder\"

Application.CurrentProject.Path er altid den sti hvor applikationen køres fra
Avatar billede BjarnePedersen Nybegynder
18. januar 2011 - 18:08 #10
Har nu prøvet
Application.CurrentProject.Path & "\billeder\b0001.jpg"
men det virker ikke... :-(

Jeg tror på at det er det rigtige men kan ikke lige få det til at køre.
Kan det have noget at gøre med at jeg kører med opdelt db (front / back end)

De ligger i samme bibliotek!
Avatar billede hugopedersen Nybegynder
18. januar 2011 - 18:34 #11
Ja så ved jeg ikke hvad der kan være galt.
Application.CurrentProject.Path er altid den mappe hvor din applikation kører fra.
Får du nogen fejlmeddelelser når du kompiler?
Avatar billede BjarnePedersen Nybegynder
18. januar 2011 - 18:48 #12
kompiler... jeg kører db'en direkte!
jeg kan forestille mig at det måske har en stor betydning, og hvis jeg ikke har udtrykt mig klart nok, så undskylder jeg.

jeg har filerne liggende sådan her.
d:\arkiv-base\arkiv-base.accdb

stien ligger som et felt i
d:\arkiv-base\arkib-base_billeder.accdb

og billederne ligger i
d:\arkiv-base\billeder\
Avatar billede hugopedersen Nybegynder
18. januar 2011 - 18:59 #13
I din VBA editor under Debug er der et punkt der hedder 'Compile' (min er US)
Den er det altid en god ide at bruge da den fanger mange fejl.

Er det en db der er noget hemmeligt i?
Ellers prøv at zippe den og send den til mig. Så skal jeg prøve at se i morgen om jeg kan finde ud af hvorfor det ikke virker.

oz8hp  snabelting  hotmail  punktum  com
Avatar billede greybeard Nybegynder
18. januar 2011 - 21:37 #14
Et generelt godt råd, når du er i tvivl om en variabel, er at se hvad den indeholder.

Enten sæt et breakpoint efter variablen er sat og før den bliver brugt. Så kan du se de aktueolle værdier ved at pege på variablen. Eller du kan indsætte en linie med "Msgbox Variabelnavn" (Husk at fjerne den, når problemet er løst).

Så indsnævrer du fejlen, og finder ud af om din sti er forkert eller dit problem ligger er andet sted.

Og hvis stien er forkert kan du se hvordan, og spore dig ind på fejlen.
Avatar billede BjarnePedersen Nybegynder
18. januar 2011 - 22:56 #15
@hugopedersen
jeg prøver at sende den til dig :-)

@greybeard
ja det kan man hvis man kan arbejde med programmering :-/

Nu er det en db (pænt stor for mig) som jeg har fået sat sammen efter gør det selv princippet i Access 2003 og blevet nødsaget til at opgradere til Access 2007, derfor er der helt sikkert mange ting som I ville have lavet anderledes.
Jeg har gjort det efter bedste evne, og der er også andre ting der ikke virker som jeg gerne ville have det til, men lige nu så er det dette.
Avatar billede hugopedersen Nybegynder
19. januar 2011 - 07:45 #16
Jeg sender dig en fil på din mail
Det er et modul jeg tidligere har brugt til noget lignende

Du skal så gøre det at alle de steder hvor du vælger/indsætter et billede bruger du
? fhpPathRelative(hpPathRemove,"d:\Documents\Access\Privat\Logbog\docs\test.jpg")
(Resultat er \docs\test.jpg)
Så gemmer du kun sti og filnavn i forhold til din applikation

Der hvor du så henter billeder ind igen bruger du
? fhpPathRelative(hpPathAdd,"\docs\test.jpg")
(Resultat = D:\Documents\Access\Privat\Logbog\docs\test.jpg)

Det var sådan jeg lavede det engang for en del år siden.
Men så købte jeg mig en NAS og satte på mit netværk i stedet - det var meget nemmere :-)

Du har en masse steder hvor du skriver  pathname = "d:\arkiv-base\billeder" - lav det om til en global værdi i stedet. Så er det kun 1 sted du skal vedligeholde.
Avatar billede BjarnePedersen Nybegynder
20. januar 2011 - 22:07 #17
@hugopedersen
smid lige et svar så du kan få dine fortjente point
Avatar billede hugopedersen Nybegynder
21. januar 2011 - 06:45 #18
Det gør jeg da med stor fornøjelse :-)
Avatar billede hugopedersen Nybegynder
21. januar 2011 - 08:50 #19
Tak for point
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester