Avatar billede amiedk Nybegynder
08. september 2003 - 11:11 Der 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 :)

Venlig hilsen
Malene
Avatar billede terry Ekspert
08. september 2003 - 11:26 #1
Avatar billede terry Ekspert
08. september 2003 - 11:27 #2
Or you can use common dialog control (ActiveX) if it is regsisterd on your PC
Avatar billede overchord Nybegynder
08. september 2003 - 12:05 #3
Som Terry siger kan du bruge koden paa linket

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:

strFilter = ahtAddFilterItem(strFilter, _
                "jpg (*.jpg)", "*.JPG;*.JPEG")
Avatar billede amiedk Nybegynder
08. september 2003 - 13:15 #4
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 :)

Hilsen
Malene
Avatar billede overchord Nybegynder
08. september 2003 - 13:56 #5
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
Avatar billede mugs Novice
08. september 2003 - 15:12 #6
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.
Avatar billede amiedk Nybegynder
08. september 2003 - 15:53 #7
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

Malene
Avatar billede amiedk Nybegynder
08. september 2003 - 16:45 #8
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 ??
Avatar billede overchord Nybegynder
08. september 2003 - 17:02 #9
hmmm det lyder underligt.

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?
Avatar billede mugs Novice
08. september 2003 - 18:02 #10
Eksempel sendt.
Avatar billede amiedk Nybegynder
09. september 2003 - 09:33 #11
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 :)

Hilsner
Malene
Avatar billede overchord Nybegynder
09. september 2003 - 10:55 #12
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 :-)
Avatar billede amiedk Nybegynder
09. september 2003 - 11:05 #13
yeps det har jeg allerede gjort :)
Avatar billede amiedk Nybegynder
09. september 2003 - 11:08 #14
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.
Avatar billede overchord Nybegynder
09. september 2003 - 14:01 #15
Ja, en ting du kan goere istedet er at laegge me!Billede.Picture = ...
ind paa formularens on Current haendelse istedet :-)
Avatar billede amiedk Nybegynder
09. september 2003 - 14:53 #16
Cool tak.. det vil jeg gøre :)
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