08. september 2003 - 11:11Der er
14 kommentarer og 2 løsninger
browse efter billeder
Hejsa
Er der ikke lige en der har koden til den funktion hvor man hvis man trykker på en knap kan browse igennem hele sin computer og når man så vælger fx et billede, så smider den stien til billedet ind i databasen ??
Jeg ved jeg har set koden et sted før, men jeg kan sørme ikke finde den igen :)
Derefter skal du bare tilfoeje noget i retning af:
dim FilSti as String
FilSti = Modul.GetOpenFile
Derefter kan du saa enten laegge filstien direkte i en tabel eller tilfoeje den til et felt i en form alt afhaengigt af hvad du har brug for.
Bemaerk at hvis du bruger koden kopieret direkte fra siden viser den kun databaser. Et stykke nede i funktionen ligger de forskellige filter-metoder, hvor du kan tilfoeje flere saasom:
ok.. jeg fatter altså hat lige nu. Har kigget på den kode, men kan slet ikke finde hoved og numse i det. Det jeg har lavet indtil videre er :
Private Sub Kommandoknap46_Click() Dim Mappesti As String Dim retval Mappesti = CurrentProject.Path retval = Shell("EXPLORER " & Mappesti, 1) [Billedested] = Mappesti End Sub
Og det virker ikke som jeg vil have det til. Den åbner ganske rigtigt, men det er så også det eneste den gør. Det skal jo være sådan at når jeg klikker på en billede fil, så ligger den stien til det billede over i min tabel i BilledeSted.
Er der ikke en af jer super seje kodefolk der kan skrive den kode til mig ?? jeg er tydligvis for dum til at fatte det der står inde på det link i skrev :)
ok 1. Har du kopieret koden fra linket over i et modul? (koden fra Terry's link)? Hvis ikke saa smid alt koden i et modul.
2. Aabn modulet og find den funktion der hedder GetOpenFile (omkring en tredjedel nede i teksten).
3. Inde i denne funktion finder du kommentaren der siger: ' Define the filter string and allocate space in the "c" ' string Duplicate this line with changes as necessary for ' more file templates. Lige efter denne kommentar tilfoejer du foelgende: strFilter = ahtAddFilterItem(strFilter, _ "JPG (*.jpg)", "*.JPG;*.JPEG") strFilter = ahtAddFilterItem(strFilter, _ "GIF (*.gif)", "*.GIF;*.GIF") strFilter = ahtAddFilterItem(strFilter, _ "TIF (*.tif)", "*.TIF;*.TIFF") strFilter = ahtAddFilterItem(strFilter, _ "BMP (*.bmp)", "*.BMP;*.BMP") strFilter = ahtAddFilterItem(strFilter, _ "Other (*.*)", "*.*;*.*")
4. I din formular har du et tekstfelt til billed-stien -yes? - denne kalder jeg BilledTekst nedenfor. Paa din kommando-knap skriver du saa foelgende nu:
Private Sub Kommandoknap46_Click() Dim Mappesti As String
Mappesti = Modul1.GetOpenFile 'Hvis alt koden ligger i Modul1 me.BilledTekst = Mappesti End Sub
me.Billedtekst skal vaere forbundet til tabellens felt for billeder selvf.
Hvis dette virker kan jeg ogsaa forklare dig hvor du istedet for bare at faa stien frem paa formularen kan faa et "preview" istedet
Kan sende et eksempel når jer er hjemme fra arbejde på åbning af stifinderen og åbning af et billede, som smider stien ind i formularen. Blot læg din e-mail.
Den skal ikke åbne billedet, den skal bare hive stien ind. Jeg har koden der viser billedet fra BilledeSted.
Private Sub Form_Current() If Not IsNull(Me!Billedested) Then Me!Billede.Picture = Me!Billedested Else Me!Billede.Picture = "" End If End Sub
Derfor skal den bare hente stien. Jeg har aldrig leget med moduler før, men vil prøve at gøre som Overchord skriver. Er dog ret sikker på at det går galt hehe .. så du må meget gerne sende mig et eksempel .. amie@tiscali.dk
Hej Overchord Så har jeg lagt alt koden ind i et modul1. Taget koden du skrev og sat i min form, men det virker ikke. Jeg har ikke en BilledTekst, men en Billedested. Når jeg skriver koden Private Sub Kommandoknap46_Click() Dim Mappesti As String Mappesti = Modul1.GetOpenFile Me.Billedested = Mappesti End Sub
Så giver den fejl "Runtime Error '424' Object required" og laver Mappesti = Modul1.GetOpenFile gul. Hvad gør jeg galt ??
proev med modul1.GetOpenfile() - hvis det ikke virker:
Den ligger helt 100% sikkert i modul1? Et check er naar du inde i editoren skriver modul1 efterfulgt af punktum - dukker der saa en raekke funktioner op i en drop-down boks (ligesom naar man f.eks skriver me. og alle elementerne der kan kombineres med Me. dukker op)?
Det lyder nemligt som om der er problemer med at finde funktionen.
Et andet check er: Inde i modul1 ligger der lige ovenover GetOpenFile funktionen en anden funktion der hedder Testit(). Proev at saette markoeren et eller andet sted inde i denne funktion og koer den. Virker det?
Overchord .. yeps min fejl. Havde kaldt det Modul1 og ikke Module1 som der stod i din kode.. det virker helt fint nu. Hvis du lige besvare her, så kan du få point.
Mugs.. ja har fået din kode. Din kode åbner dog billede i et billedprogram før den sætter det ind i basen og det er det jeg ikke vil have. Overchord har fået det til at virke.
Kæmpe tak for hjælpen til jer begge.. jeg har virkelig lært meget lige nu og det er jo det vigtigste :)
ok lige en ekstra ting. Det kan vaere ret praktisk for brugeren at lave et preview af billedet inde i databasen, selvom det er en sti. Dette kan goeres samtidigt med hvad du allerede har gjort.
Det eneste ekstra der skal goeres er 1. Din tekstboks med stien til billedet goeres usynlig 2. Du opretter et billede paa formularen (vi klader den feks billede) og tilfoejer flg kode til din kommando-knap: me.Billede.Picture = Mappesti
Det erstatter ikke den tidligere billedsti-tekstboks da den jo ligger det i tabellen, og denne del er slet ikke noedvendigt :-)
Det eneste jeg har er at jeg har: Private Sub Form_Current() If Not IsNull(Me!Billedested) Then Me!Billede.Picture = Me!Billedested Else Me!Billede.Picture = "" End If End Sub
Og den opdatere ikke når jeg har sat billedet ind. Så skal man gå væk fra medarbejderen og tilbage igen før man kan se billedet.
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.