18. november 2020 - 18:11Der er
10 kommentarer og 2 løsninger
Indsætte og vise 1 billede pr række
Jeg er ved at lave et regneark med produkter om til en tabel. I regnearket er det indsat et lille billede, der viser produktet. I regnearket er der bare klippet og indsat et billede, men er det en eller anden tuilpas enkelt måde i Acces, hvor jeg kan indsætte billedefilen og vise den i rækken med produktet? Jeg har gogglet, men har ikke fundet en løsning, der fungerer. Jeg fik lavet en løsning, hvor billedet åbnes op udenfor databasen, men det er ikke det jeg søger.
Det er kontrolelementet der får feltet til at explodere i størrelse og nok også i selvuovertruffenhed oprindeligt fik microsoft til at navngive blob typen ole-object. Det er ikke en sandhed hukket i sten at billeder i en access database fylder mere end det samme billede som fil. Man skal blot håndtere det rigtigt - getchunk, setchunk, appendchunk i det adodb der i starten nullerne blev udråbt som afløseren af dao. Teknikken indebærer, så vidt jeg husker, i current eventen, at udtrække til fil som er billedkilde i det kontrolelement der viser billedet; med andre ord: aldrig bruge den ole-object deklarede felttype som ole-object men som den blob (binary long object) det grundlæggende er. At putte filer (billeder) ind kræver også hjemmebrygget vba. Access 2007 og sikkert frem har en feltype der indikerer at det kan gøres lidt anderles - jeg vover at skrive her til trods for at jeg blot har access 2000.
Herligt, jeg har aldrig vist hvor at man kunne læse udgåede microsoft artikler, så tak for det. Det er gammelt stof, nitty pitty læsning af filer vha freefile, open og loop - det kan skrives i enkel obj.readalll vha. filesystemobject.
Jeg synes ikke at funktionerne er retvisende navngivet: ReadBLOB() skriver til blob - det skal altså læses som readToBlob.
WriteBlob() læser fra blob - alså writeFromBlob
Altså går action, read or write på noget underforstået (fil), det vil jeg ophæve mig til at dømme forkert navngivning - action skal forstås som noget det efterfølgende navneord underkastes.
Essencen er at Recordset har methods appendChunk(String) og GetChunk(start, length) og at de kan bruges på en mere besværlig måde end nutidigt nødvendig (blok udlæsning).
Men tak for en vintage vba snippet, at bedrekloges over, Terry.
Det var nu med at billeder ikke explodere i størrelse ved indlæsning i felter hvis man gør det rigtig, jeg ikke kunne lade være med at fortælle om - jeg har som mange andre lagt ud med at gøre det forkert.
Ulempen ved at gemme billeder som filer er distribution og backup - det kan fikses, men der er fordele ved at have alt i en fil.
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.