23. februar 2002 - 17:49Der er
25 kommentarer og 1 løsning
Billeder i Access fylder uforholdsmæssig meget.
Jeg har lavet en database over mine CD'er og så har jeg tænkt mig at scanne CD coverne og ligge ind i tabelen som et OLE felt, men jeg har fundet ud af at databasen vokser uforholdsmæssigt meget når jeg sætter et billede ind.
Herunder er en tabel med nogle forsøg jeg har lavet, det er det samme cover jeg har scannet, i forskellige opløsninger, men tilpasset, så det skulle fylde 5x5 cm hvilket er den plads jeg har afgivet i min form.
Jeg har så prøvet at indsætte billederde som enten linked eller embedded, og har derefter fået følgende resultat.
Billed Kb Gange Fil L/E Kb Større Større DPI Format
L 255 520 2,04 150 BMP E 255 256 1,00 150 BMP L 453 920 2,03 200 BMP E 453 456 1,01 200 BMP L 1.017 2.060 2,03 300 BMP E 1.017 1.024 1,01 300 BMP L 19 520 27,37 150 JPG E 19 776 40,84 150 JPG L 28 920 32,86 200 JPG E 28 1.376 49,14 200 JPG L 49 2.060 42,04 300 JPG E 49 3.164 64,57 300 JPG
Mellem hvert forsøg har jeg brugt compact og repair, så der ikke var noget overflødigt i mine målinger.
Det jeg har fået ud af det er at et JPG og BMP fylder det samme i samme opløsning, såfremt det er Linked, ca. det dobbelte af den oprindelige BMP fil.
Til gengæld fylder et BMP ca. halvt så meget i databasen, når det er Embeded frem for Linked, men et JPG fylder ca. en halv gang mere, når det er Embeded.
Er der noget jeg gør forkert?
Eller kan man ikke få billederne til at fylde mindre i Access?
Normalt er det jo at foretrække at gemme billderne i JPG, og med omkring 250 CD'er bliver databasen jo hurtigt forholdsvis stor på denne måde.
Nej du kan ikke få billederne til at fylde mindre i access. Men udenfor access fylder de mindre. Lav en henvisning til hvor du har dem liggene, eks. i D:\Billeder. VH Henrik
Det er korrekt hvad henrik13 siger: Det er et must at billederne ligger udenfor din db. Du skal så lave 2 felter i din tabel der henholdsvis fortæller stien til den mappe hvori billederne er, og et felt med billednavnet. Når formularen loader skal du lade den sammensætte de 2 felter.
Det lyder indviklet, men er faktisk ret simpelt. Et eller andet sted har jeg en testdb liggende, der viser hvordan. den er i Access97, men jeg bruger den på mit arbejde, og der virker den upåklageligt også i 2000.
Nu har jeg leget lidt med det, og også fået lavet min egen testdatabase, hvor det virker i.
Nu har jeg bare et spørgsmål, er det muligt at skrive stien, så den kun henviser til hvor billederne ligger i forhold til selve databasen, dvs. databasen ligger i et bibliotek, og der er så et underbibliotek som f.eks. hedder "billeder", og så skrive en sti som hedder "\billeder\", eller noget lignende.
Det ville jo gøre det lidt nemmere, at flytte databasen til en anden computer, der ikke nødvendigt har samme filstruktur.
Eller bliver man i sådan et tilfælde nødt til at lave en find/erstat i hele basen?
Ja - det kan jeg ikke se noget forkert i. Den sti du har i min testdb, er den jeg bruger hjemme. Jeg har kopieret koden og benytter den på mit arbejde på et netværk, hvor administrators db ligger på mit T-drev. Backend-db ligger på arbejdspladsens fælles Q-drev, og Frontend ligger på sagsbehandlernes C-drev.
Det eneste krav der skal opfyldes er, at billedmappen skal ligge på et drev / et bibliotek, som db kan "se".
Havde du nogen problemer med at få det til at virke?
Jeg skal lige lave den tilføjelse, at billedpath skal slutte med en \, idet VBA procedüren sætter de 2 tekststrenge sammen og derfor behøver en \ imellem.
Nej jeg havde ikke nogle problemer med at få det til at virke.
Men det var hvis jeg har basen liggende i et bibliotek og billederne i et underbibliotek, og jeg så kopiere disse to biblioteker over på en anden computer, så passer stien ikke længere, hvis de ikke ligger præcis samme sted på den nye computer.
Derfor tænkte jeg om man kunne nøjes med at skrive stien fra hvor selve basen ligger til der hvor billederne ligger, så ville det jo altid virke lige meget hvor man kopierede det hen, bare de to biblioteker lå rigtigt i forhold til hindanden.
Det er jo sådan set ligegyldigt hvor basen ligger, idet stien udelukkende peger hen mod det bibliotek hvor billederne ligger. Men du har jo ret i at filstrukturen på PC'erne skal være ens. Men en find / erstat er vel heller ikke den store operation!
Fint det fungerer, er størrelsen blevet reduceret? :o)
Ja find og erstat er en glimrende løsning, i forhold til alternativet der fik basen til at vokse til uanede størelser :-) Nu vokser den næsten ikke.
Det eneste lille problem er, at hvis jeg har tastet stien, men ikke filnavnet, så kommer den med en debug, men kan man ikke løse det med en standard sti og et standard billede? I de fleste tilfælde vil billedet ligge i samme folder.
det kunne være det ville hjælpe hvis det en mail adr. Rickie@skeeknejde.dk
Synes godt om
Ny brugerNybegynder
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.