Gestione "Annulla" su OpenReport

Anonimo
2013-09-03T09:30:30+00:00

Ciao a tutti, vorrei chiedervi come posso gestire l'annulla openreport, ma ora vi spiego meglio lo scenario. Nel mio DB ho creato un report di una semplice lista dove all'origne record ho inserito il SELECT con le tabelle e campi e in più la condizione:

WHERE (((tab_prob.stato) Like ([Inserisci lo stato 1=Aperto 2=Chiuso 3=In scadenza 4=Scaduto ]) "*")) WITH OWNERACCESS OPTION;

questo per filtrare che lista vuole vedere l'utente.

Fino a qua tutto ok a casa che ho access 2010 completo, ma in azienda ho access runtime per farlo girare e mi sono accorto che quando clicco sul pulsante per aprire il report e mi compare "inserisci valore parametro" con il testo che ho inserito io, se per caso clicco su 'annulla' mi **** tutto il DB... rimane access runtime aperto ma vuoto senza nessuna maschera, cosa che con access completo non succede e annulla correttamente restituendomi il messaggio 'l'azione openreport è stata annullata' e tutto torna alla maschera.

Ho cecato in rete su come gestire l'evento 'annulla' su 'inserisci valore parametro', ma non ho trovato nulla.

Per disperazione ho provato anche con: On Error Resume Next e anche gestire l'errore 2501 ma nulla. E' possibile gestire 'annulla'? Grazie Massimo

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2013-09-03T16:05:29+00:00

...

e su Access completo funziona mentre su Access Runtime no,

...

Ciao,

non ho installato il Runtime qui ma solo A2010 completo. Ho fatto una prova (con il mio codice) con cambiare l'estensione "accdb" a "accdr" --> simulare il Runtime. Il comportamento è il desiderato, cioè la maschera resta visibile e ha il focus dopo l'annullamento del parametro.

Cosa succede se cambi l'estensione sulla macchina con Access completo? Rivedi la maschera o no?

Se abbiamo un risultato diverso, controlla a cosa è impostato la proprietà PopUp della maschera e del report. Puoi anche provarlo con una nuova maschera (solo un pulsante) e un nuovo report per essere sicuro che non è un problema degli oggetti concreti.

La risposta è stata utile?

0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2013-09-05T17:40:32+00:00

    Grazie mimmo per la risposta ma avevo provato anche quella.

    Grazie Karl per aver fatto delle prove e avermi confermato che a te funziona così a farmi capire che non era colpa di Access RunTime ma qualcosa di mio.

    Anche per l'idea di provare su un nuovo report che infatti funzionava perfettamente.

    Allora ho iniziato a spulciare tutto il codice VBA nei report perchè il db l'ho fatto un paio di anni fa e non mi è mai venuto in mente di provare i tasto "Annulla" se il db girava su RunTime e non ricordavo tuttoo quello che avevo fatto, ma finalmente ho trovato il problema!

    All'apertura del mio db nascondo tutti i menù e la barra multifunzione per obbligare l'utente ad usare solo i pulsanti che gli metto a disposizione io.

    Solo all'apertura dei report tramite ribbon che ho creato doc faccio apparire pulsanti come zoom, stampa, ecc.

    Ma alla chiusura del report richiamo la function per chiudere la ribbon e avevo lasciato anche il codice per nascondere la barra multifunzione. Ma Access Runtime non ha la barra e allora andava in crash.

    Grazie ancora Karl

    Ciao

    Massimo

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2013-09-03T12:53:07+00:00

    Ciao Bob3m,

    potresti provare ad inserire On Error GoTo 0 dopo la label

     Exit_cmd_RepElenco_Click:

        On Error GoTo 0

        Exit Sub

    Ciao Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2013-09-03T11:20:39+00:00

    Ciao Karl,

    Prima gestivo l'errore così:

    On Error GoTo Err_cmd_RepElenco_Click    Dim stDocName As String    Dataglobal.type = rep    stDocName = "Rep_Elenco"    DoCmd.OpenReport stDocName, acPreviewExit_cmd_RepElenco_Click:    Exit SubErr_cmd_RepElenco_Click:    MsgBox Err.Description    Resume Exit_cmd_RepElenco_Click
    

    e su Access completo funziona mentre su Access Runtime no, ora ho provato a mettere il Cancel a True nell'evento vuoto del report e al click del pulsante nella maschera così:

    On Error GoTo Err_cmd_RepElenco_Click    Dim stDocName As String    Dataglobal.type = rep    stDocName = "Rep_Elenco"    DoCmd.OpenReport stDocName, acPreviewExit_cmd_RepElenco_Click:    Exit SubErr_cmd_RepElenco_Click:If Err.Number = 2501 Then Exit_cmd_RepElenco_Click       
    

    Come dicevo su Access completo mi funziona bene ogni modo di gestire l'errore, il problema si presenta con Access RunTime

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2013-09-03T10:24:58+00:00

    Il codice del pulsante dovrebbe gestire l'errore p.e. così:

    ' ***Code Start***

    On Error GoTo myError

    DoCmd.OpenReport "TuoReport", acViewPreview

    myExit:

    Exit Sub

    myError:

    If Err.Number = 2501 Then Resume myExit

    ' ***Code End***

    Se non funziona, posta il tuo codice attuale.

    La risposta è stata utile?

    0 commenti Nessun commento