Avatar billede mekaniker Nybegynder
01. februar 2003 - 13:12 Der er 15 kommentarer og
2 løsninger

Visning af billede

Jeg bruger dette til at vise et billede

Den tjekker om der er en billedsti og billedfil i db'en
men jeg vil også gerne have den til at tjekke om billedefilen eksistere, så jeg ikke får en fejl hvis selve billedefilen mangler.

--------------------------------------
If Not IsNull(Me!Fangst_billedsti) Then
        Me!Fangst_billeder.Picture = Me!Fangst_billedsti & Me!Fangst_billedfil
        Else
        Me!Fangst_billeder.Picture = "(none)"
    End If
---------------------------------------

Er der nogle som kan hjælpe mig med det

//Mekaniker
Avatar billede sjap Praktikant
02. februar 2003 - 17:37 #1
Hvad med at bruge Dir kommandoen? Dir returnerer en tom streng ("") hvis filen ikke findes. Prøv f.eks.:

If Dir(Me!Fangst_billedsti & Me!Fangst_billedfil) <> "" Then
etc.
Avatar billede sjap Praktikant
02. februar 2003 - 17:50 #2
Din kode giver en fejl hos mig så derfor skriver jeg lige den fulde kode her:

If Dir(Me!Fangst_billedsti & Me!Fangst_billedfil) <> "" Then
    Me!Fangst_billeder.Picture = Me!Fangst_billedsti & Me!Fangst_billedfil
Else
    Me!Fangst_billeder.Picture = ""
End If
Avatar billede mugs Novice
02. februar 2003 - 20:51 #3
Eller sådan (ikke afprøvet):

If Not IsNull(Me!Fangst_billedsti) Then
Me!Fangst_billeder.Picture = Me!Fangst_billedsti & Me!Fangst_billedfil
Else
Me!Fangst_billeder.Picture = Null
End If
Avatar billede mekaniker Nybegynder
05. februar 2003 - 21:53 #4
Jeg har prøvet at gøre følgende, og det virker.
Jeg får ingen fejlmeddelelse, men kan man ikke skrive noget tekst istedet.
evt. "Du har fået placeret mappen med billeder forkert"

If Dir(Me!Fangst_billedsti & Me!Fangst_billedfil) <> "" Then
    Me!Fangst_billeder.Picture = Me!Fangst_billedsti & Me!Fangst_billedfil
Else
    Me!Fangst_billeder.Picture = ""
End If

//Mekaniker
Avatar billede mugs Novice
05. februar 2003 - 21:56 #5
If Dir(Me!Fangst_billedsti & Me!Fangst_billedfil) <> "" Then
    Me!Fangst_billeder.Picture = Me!Fangst_billedsti & Me!Fangst_billedfil
Else
    Me!Fangst_billeder.Picture = ""
    MsgBox "Du har fået placeret mappen med billeder forkert."
End If
Avatar billede mekaniker Nybegynder
05. februar 2003 - 22:00 #6
Jeg vil helst ikke have en MsgBox, men bare have det skrevet i formularen, hvor billedet skulle have været

//Mekaniker
Avatar billede mugs Novice
05. februar 2003 - 22:05 #7
Dette er ikke afprøvet.
Tag en Label fra værktøjskassen og placer den i billedet. Giv den egenskaben i format-fanen Synlig "nej".

If Dir(Me!Fangst_billedsti & Me!Fangst_billedfil) <> "" Then
    Me!Fangst_billeder.Picture = Me!Fangst_billedsti & Me!Fangst_billedfil
Else
    Me!Fangst_billeder.Picture = ""
    Me.Label1.Visible.true
    Me.Label1.Caption "Du har fået placeret mappen med billeder forkert."
End If

Jeg har lige formatteret min PC til xp, så jeg er ikke rigtig klar over hvad der sker, men ovenstående kan ikke være helt galt.
Avatar billede mugs Novice
05. februar 2003 - 22:14 #8
Denne er afprøvet og fungerer:

Private Sub Form_Current()
If Me.felt1 > 4 Then
Me.Etiket2.Visible = True
Else:
Me.Etiket2.Visible = False
End If
End Sub

Det er ikke nødvendigt med en Caption. Koden gennemløbes hver gang du skifter post, og hvis felt er større end 4, vil etiketten være synlig ellers ikke. en betingelse er dog, at etikettens egenskab Synlig er sat til "Nej".

Læg din e-mail hvis du vil have en testdb tilsendt.
Avatar billede sjap Praktikant
05. februar 2003 - 22:24 #9
Mekaniker

Når du gør det på denne måde, er det ligegyldigt om egenskaben Synlig er sat ja eller nej (koden ændrer den jo Mugs)

If Dir(Me!Fangst_billedsti & Me!Fangst_billedfil) <> "" Then
    Me!Fangst_billeder.Picture = Me!Fangst_billedsti & Me!Fangst_billedfil
    Me!Label1.Visible = False
Else
    Me!Fangst_billeder.Picture = ""
    Me!Label1.Visible = True
End If
Avatar billede mugs Novice
05. februar 2003 - 22:30 #10
superjab > Helt enig
Avatar billede sjap Praktikant
05. februar 2003 - 22:34 #11
Hej Mugs

Hvad er nu det. Skal du til at være moderne(XP)?
Avatar billede mugs Novice
05. februar 2003 - 23:02 #12
Mjaaaa > Der skete det, at jeg havde for meget garbage på min PC, og havde den med på job . Men denne unævnelige EDB-ansvarlige havde lånt Win 98 og -Me cd'en til en anden. Så noget skulle jo prøves. Og så havde jeg jo formatteret den iaftes. Nu må vi se hvad der sker.
Avatar billede mekaniker Nybegynder
06. februar 2003 - 00:32 #13
Det virker også perfekt, et lille sidste spørgsmål:

Kane man angive en relativ sti til billedet fra db'en, i sin tabel

F.eks. "..\billeder\"

//Mekaniker
Avatar billede mugs Novice
06. februar 2003 - 06:53 #14
Ja - Du kan jo altid indsætte en standardværdi for nye poster i tabelen, men jeg tror ikke det er smart. Hvis du f.eks vil indsætte en standardværdi i feltet Fangst_billeder vil feltet jo aldrig være Null, som du jo måler efter i formularen:

If Dir(Me!Fangst_billedsti & Me!Fangst_billedfil) <> "" Then

Så hellere indsætte denne kode i formularens VedAktuelHændelse (OnCurrent):

If Me.NewRecord then
Me.Fangst_billedsti = "Og stien her"
End If
Avatar billede sjap Praktikant
06. februar 2003 - 15:49 #15
Mugs

Så længe der ikke står noget i Me!Fangst_billedfil, så vil Dir(Me!Fangst_billedsti&Me!Fangst_billedfil) vel returnere en tom streng (eller null - det ved jeg faktisk ikke). Under alle omstændigheder, så returner Dir-funtionen vel kun en værdi, hvis den finder en fil, der svarer til beskrivelsen.
Avatar billede mugs Novice
06. februar 2003 - 15:54 #16
superjab > Jeg ved det ikke. Jeg har aldrig rodet med Dir-funktionen. Jeg har haft travlt med at få min PC op at køre og har ike afprøvet mit forslag, så det var blot et skud fra hoften.
Avatar billede mekaniker Nybegynder
07. februar 2003 - 12:01 #17
Tak for hjælpen.
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