Avatar billede dla Praktikant
02. december 2004 - 09:34 Der er 5 kommentarer og
2 løsninger

Error handling når stien ikke kan findes

I forlængelse af mit spørgsmål i går http://www.eksperten.dk/spm/566912 kan der komme et problem hvis stien til billedet ikke kan ses af computeren (hvis det er lagt på fra en anden computer og f.eks refererer til dennes c-drev). Jeg har prøvet med følgende VedAktuel-hændelse:

Private Sub Form_Current()
On Error GoTo Fejl

    If Not IsNull(Me!Sti1) Then
        Me!Billede1.Picture = Me!Sti1
    Else
        Me!Billede1.Picture = ""
    End If
   
    If Not IsNull(Me!Sti2) Then
        Me!Billede2.Picture = Me!Sti2
    Else
        Me!Billede2.Picture = ""
    End If

Exit_Form_Current:
    Exit Sub
Fejl:
    msg "Kan ikke finde stien"
    Resume Exit_Form_Current
End Sub

men den siger fejl hvis bare en af stierne ikke kan findes, og den viser de to billeder fra posten man kom fra.

Jeg er altså ikke god til de her error-handling-ting, så kan jeg få lidt hjælp?
Avatar billede kabbak Professor
02. december 2004 - 10:13 #1
Private Sub Form_Current()
On Error resume next

    If Not IsNull(Me!Sti1) Then
        Me!Billede1.Picture = Me!Sti1
    Else
        Me!Billede1.Picture = ""
    End If
   
    If Not IsNull(Me!Sti2) Then
        Me!Billede2.Picture = Me!Sti2
    Else
        Me!Billede2.Picture = ""
    End If


End Sub
Avatar billede dla Praktikant
02. december 2004 - 10:23 #2
Ja, nu viser den billedet rigtigt hvis den kan finde stien, men hvis den ikke kan finde stien, viser den billedet fra den post man kom fra. Hvordan får vi løst det? Og jeg vil også gerne have at den siger til, hvis den ikke kan finde stien, og samtidig hvilket billede det er den ikke kan finde.
Avatar billede dla Praktikant
02. december 2004 - 10:53 #3
Jeg eksperimenterede lidt og frem frem til dette:

Private Sub Form_Current()
On Error GoTo Fejl1

    If Not IsNull(Me!Sti1) Then
        Me!Billede1.Picture = Me!Sti1
    Else
        Me!Billede1.Picture = ""
    End If
   
On Error GoTo Fejl2
    If Not IsNull(Me!Sti2) Then
        Me!Billede2.Picture = Me!Sti2
    Else
        Me!Billede2.Picture = ""
    End If

Exit_Form_Current:
    Exit Sub
Fejl1:
    Me.Billede1.Picture = ""
    msg "Kan ikke finde stien til billede 1"
    Resume Next
Fejl2:
    Me.Billede2.Picture = ""
    msg "Kan ikke finde stien til billede 2"
    Resume Next
   
End Sub

...og det virker! Jeg anede ikke man kunne gøre sådan, er der mon nogle faldgruber i koden, eller er den helt skudsikker?
Avatar billede dla Praktikant
08. december 2004 - 08:14 #4
kabbak, hvis du vil have et par point for at have ledt mig på sporet, må du lige smide et svar...
Avatar billede kabbak Professor
08. december 2004 - 08:50 #5
tag selv de 45, 15 er nok for min hjælp ;-))
Avatar billede dla Praktikant
08. december 2004 - 09:13 #6
ok :-)
Avatar billede kabbak Professor
08. december 2004 - 09:35 #7
tak for point ;-))
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