Rpt bruger blandt andet indput fra tabellerne Tbl_Brugere og Tbl_Noter.
Det virker fint så længe der er tilsvarende poster i Tbl_noter. Men når der ikke er poster i Tbl_Noter, så vises det som en fejl i rapporten. Hvordan undgår jeg at det fremgår som en fejl, fx ved at nøjes med at skrive inputtet fra Tbl_Brugere?
Jeg mener for en gangs skyld, at terry's svar er ufuldstændigt. Det er korrekt med koden i rapportens VedIngenData, men det lukker blot rapporten igen. Hvorimod formularen udskrivningsprocedüre vil melde fejl, idet rapporten ikke blev åbnet. Det er nødvendigt f.eks at tilføje en errorhandler i formularen således:
On Error GoTo Errorhandler DoCmd.OpenReport "Rpt_OplysningerOmBruger", acViewPreview, , "BrugerID = " & Me!BrugerID Errorhandler: If Errnr = 2501 Then DoCmd.CancelEvent End If
hmm, hvad er der galt med Dcount-modellen? Der kunne Else-leddet være OpenReport-delen, er der noget problem i det? Jeg har oprette to næsten identiske raporter (med og uden input fra Tbl-Noter) jeg bruger If-sætning og Dcount til at vælg hvilken - det virker fint. mugs>det er helt rigtigt, at hvis man bruger NoData-modellen, så får jeg en slags fejl. Efter msgbox'en får man endnu en, med besked om, at man har anulleret OpenReport-handling, hvilket virker lidt forvirrende for den almindelige brugere. Tak for hjælpen.
Der er vel ikke noget i vejen med DCount-modellen. Blot har man jo lavet hændelsen VedIngenData til dette formål. Så hvorfor ikke benytte den, når det nu er det den er beregnet til.
Ved brug af NoData vil du i 1. msgbox annullere rapporten, men formularens hændelse OpenReport kører stadig og vil ikke blive eksekveret, derfor får du en fejl. Det er netop det jeg undgår, ved at indsætte fejlhåndteringen i formularens udskrivningskode. Kan du ikke få det til at fungere?
Depends on how you look at it mugs! I dont want to make the complete program, so the rest is left up to the user.
Geertf has only given one line of code, but I assume there is more to it than tha, so if he has his own error hander then it just a case of using that.
and your code (as far as I see it) is wrong mugs Errnr = err.number
And there certainly is no need to DoCmd.CancelEvent
so If Err.number = 2501 Then exit Sub '(or what ever)
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.