Avatar billede michella12 Nybegynder
04. august 2003 - 09:24 Der er 10 kommentarer

Fejlmelddelse ved annuler af pop-up

Jeg har et psørgsmål til jeg. Jeg har en pop-up (brugt af tidligere besvarelse) som styrer hvor mange print der skal laves:

b = InputBox("Antal kopier af listen", "Print-info", "1")
    Dim stDocName As String
    Dim MyForm As Form

    stDocName = "VisListe"
    Set MyForm = Screen.ActiveForm
    DoCmd.SelectObject acReport, stDocName, True
    DoCmd.PrintOut , , , , b
    DoCmd.SelectObject acForm, MyForm.Name, False

Men hvis man indtaster 0 eller trykker på anuller, kommer en access standard fejl + resten af databasen (desginvisning os.v). Men jeg vil gerne have at den ikke viser fejlen, men derimod en egen fejlmeddelse.
Avatar billede henrik13 Nybegynder
04. august 2003 - 09:28 #1
On error goto fejl
Fejl:
Msgbox "din Fejl"
Avatar billede thor.ostergaard Nybegynder
04. august 2003 - 09:31 #2
Avatar billede henrik13 Nybegynder
04. august 2003 - 09:31 #3
Rettelse:
On error goto fejl
Fejl:
Msgbox "din Fejl"
Resume next
Avatar billede michella12 Nybegynder
04. august 2003 - 09:32 #4
Fejlmeddelsen ændre sig, men den kommer jo ikke med switchboardet. Selve side som viser tabler, formular, makroer o.ling. vises og fejlmeddelsen kommer derfra... Den skal den ikke
Avatar billede henrik13 Nybegynder
04. august 2003 - 09:52 #5
On error goto fejl
Skal stå efter din function eller sub start. Resten skal anbringes til sidst.  :o)
Avatar billede henrik13 Nybegynder
04. august 2003 - 09:55 #6
Du må godt sende den til mig, så ser jeg på det, min E-mail er:
oz1bua@wanadoo.dk
Vh Henrik13
Avatar billede mugs Novice
04. august 2003 - 10:43 #7
On Error GoTo Errorhandler
b = InputBox("Antal kopier af listen", "Print-info", "1")
Dim stDocName As String
Dim MyForm As Form
stDocName = "VisListe"
Set MyForm = Screen.ActiveForm
DoCmd.SelectObject acReport, stDocName, True
DoCmd.PrintOut , , , , b
DoCmd.SelectObject acForm, MyForm.Name, False
Errorhandler:
If b < 1 Then
MsgBox "Du skal indtaste antal kopier."
Exit Sub
End If

Jeg kna ikke huske syntaksen hvis du Annullerer. Har ikke Access på denne maskine, men vender tilbage hvis ikke du har fået svar.
Avatar billede mugs Novice
04. august 2003 - 13:54 #8
Jeg har lige afprøvet en inputbox, og der kommer ikke fejl, hvis jeg annulerer.

En helt anden ting er, at hvis du taster 0 eller en tom box, så kommer der jo ingen data til rapporten. Så det ville være en oplagt mulighed, at lave en hændelsesprocedüre i rapportens VedIngenData event. Prøv f.eks:

MsgBox "Der er ikke modtaget data." & vbNewLine & "Der er ikke indtastet antal kopier."
Avatar billede ferdinand.k Mester
05. august 2003 - 07:36 #9
Den linie der hedder MsgBox Err.Description, skal ændres til linien nedenunder. Her kan du ændre teksten til det du måtte synes. Hvis du fisker efter at lave flere forskellige meddelelser alt afhængigt af hvordan fejlen er, kan dette også gøres. Jeg kan dog ikke huske syntaksen. Det er noget med at du finder fejlkoden, og laver en msgbox derefter...

Hvis man vælger at annulere kommer der en msgbox frem med den predeffinerede tekst:

Err_Cmd_backup_Click:
'  MsgBox Err.Description

    MsgBox "Det var satans... Hvad har du dog lavet siden sidst? :)"
    Resume Exit_Cmd_backup_Click
   
End Sub
Avatar billede mugs Novice
06. august 2003 - 18:21 #10
Flere forskellige meddelelser i tilfælde af error kan laves således:

If err.Number = 1234 Then
Msg "Fejlen rettes ved at..."
If err.Number = 1235 Then
MsgBox "Og så en anden tekst.."
End If
End If
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