Avatar billede pc-care Nybegynder
03. september 2003 - 13:51 Der er 13 kommentarer og
1 løsning

Find et billede via en formular, og gem det i en tabel

Jeg har lavet en database hvor jeg gemmer noget tekst, og et billede som et OLE objekt. Jeg vil lave en knap som gør det muligt for folk at pege på et billede, og ved tryk på GEM skal det pågældende billede gemmes i en tabel.

Jeg ved godt at man kan højreklikke og vælge indsæt objekt, men JEG VIL have en knap, som gør det nemt for folk at indsætte et billede.

Databasen kører lokalt, men billedet skal gemmes i selve databasen, altså ikke noget med at gemme stien til billedet.

Håber der er nogen der kan hjælpe.
Avatar billede mugs Novice
03. september 2003 - 14:43 #1
Du kan åbne stifinderen og browse ned igennem dine biblioteker og vælge f.eks et billede der indsættes.

Har et eksempel på hvordan, men det gemmer stien til billedet. Men brugeren opdager aldrig at billedet ligger udenfor db. Formularen henter det valgte billede hver gsang du skifter post, og der er ligeledes mulighed for at vælge et nyt billede på hver post.

Hvad er din dybere mening med at gemme billedet som et OLE-objekt. Det er stik imod alle råd.

Kan sende en eksempeldb når jeg er hjemme fra arbejde.
Avatar billede overchord Nybegynder
03. september 2003 - 15:52 #2
mugs -> Der er dog mening i at gemme som OLE nogle gange. Hvis man skal lave en database som benytter billeder men samtidigt skal vaere mobil mellem computere eller til at kopiere direkte uden installation, oprettelser af mapper mm.
Avatar billede mugs Novice
03. september 2003 - 16:02 #3
overchord > Enig, men det forhold at spørgeren skriver, at db kører lokalt får mig til at tænke på, om der evt. var andre ting, der kunne gøre sig gældende.
Avatar billede overchord Nybegynder
03. september 2003 - 16:57 #4
mugs > ok det har du selvf. helt ret i. Jeg opfattede bare "lokalt" som vaerende ikke-server eller front end/back end, men maaske kan pc-care kaste lidt lys paa det?
Avatar billede pc-care Nybegynder
03. september 2003 - 17:31 #5
Jo nu skal i høre, jeg er totalt grøn i det her, men jeg vil lave en database hvor jeg gemmer nogle billeder, sammen med noget tekst. det er min ide at jeg senere vil "compile" det sammen, så det kan køre kun ved hjælp af Access runtime.

Det er vigtigt at DB-filen kan flyttes rundt fra computer til computer, uden at man mister referencen til eksterne billeder. derfor vil jeg have dem ind i databasen. Så vidt jeg har læst mig frem til er dette kun muligt som OLE bojekt!!! Korrekt???
Avatar billede mugs Novice
03. september 2003 - 17:35 #6
Har ingen forstand på Access Runtime.

Det er korrekt som overchord nævner, at hvis det er tale om transportable computere, der skal ud af huset med billederne, så skal billederne jo ligge på disse maskiners HD. Der bliver så spørgsmålet om opdstering når maskinerne kommer hjem igen.

Hvis der er tale om stationære maskiner, skal du lave en Back-end og en Front-end. Back-end skal ligge på et fælles drev, og Front-end skal ligge på de enkeltes C-drev. Så sammenkæder man tabellerne fra Front-end til Back-end hvilket betyder at alle maskiner samtidig skriver til Back-end. Og så skal billederne ligge udenfor db.
Avatar billede pc-care Nybegynder
03. september 2003 - 17:54 #7
Databasen skal kun ligge på en enkelt computer af gangen, men skal kunne flyttes til andre. Der er altså ikke tale om at databasen bliver brugt på flere compåuter af gangen.
Avatar billede overchord Nybegynder
04. september 2003 - 12:18 #8
ok saa skal du helt sikkert gemme dem som OLE-objekter. Det eneste alternativ ville vaere at lave et installationsprogram som opretter en mappe til billederne, men det goer db'en mere besvaerlig at haandtere hver gang den skal flyttes.
Den foerste mulighed er at benytte simpel drag and drop. Brugeren aabner sin stifinder/explorer og traekker billedet over paa formen og slipper over OLE-boksen. Herved bliver billedet gem direkte i databasen.
Er det en mulighed eller skal de vaere via en indbygget fil-navigator istedet?
Avatar billede overchord Nybegynder
04. september 2003 - 12:43 #9
Alternativt kan du benytte Access' indbyggede indsaetning af object.

me.DitOLEObjekt.Setfocus
DoCmd.RunCommand acCmdInsertObject
Avatar billede overchord Nybegynder
04. september 2003 - 13:00 #10
ok og nu har jeg saa endeligt den ordentlige loesning :-)

eg gaar ud fra at du opretter en form hvor dit OLE objekt ligger. Derefter skal du have fat i stien til dit billede vha en fil-navigator. Denne kode er ret lang normalt, men hvis du laegger din email kan jeg sende den til dig som et saet kode der bare skal laegges i et modul.
Alternativt kan du selv hente koden direkte her:
http://www.mvps.org/access/api/api0001.htm

For at faa OLEobjektet lagt ind i selve formen ved tryk paa en knap bruger du derefter flg kode:

Private Sub Command2_Click()
Dim sti As String


sti = FileBrowser.GetOpenFile ' Hvor Filebrowser.Getopnefile er modulet

Me.OLEBillede.SourceDoc = sti
Me.OLEBillede.Action = acOLECreateEmbed

End Sub
Avatar billede overchord Nybegynder
05. september 2003 - 14:25 #11
Virkede det eller hvad?
Avatar billede pc-care Nybegynder
10. september 2003 - 10:47 #12
Har haft travlt de sidste par dage, men er ved at se på det nu, vender tilbage snart .-)

1000 tak
Avatar billede pc-care Nybegynder
10. september 2003 - 10:52 #13
ok nu har jeg set lidt på det, og er lost :-/

Hvad betyder det at koden skal lægges i et modul?
Avatar billede mugs Novice
10. september 2003 - 17:55 #14
Det betyder, at du kan kalde koden overalt fra din db. Åbn db i databasevinduet, og vælg fanen moduler > Ny og indsæt koden i et modul.

Du kan herefter kalde moduler fra din formular:

CPR.Check CPRNR
CPR.Køn CPRNR

I ovennævnte kaldes modulet CPR og procedüren Check. Variablen CPRNR sendes til modulet til videre behandling. Herefter kaldes samme modul med procecüren Køn og CPRNR sendes af sted.
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