Nessun record corrente

Anonimo
2013-07-29T21:53:29+00:00

Ciao,

ho maschera e sottomaschera relazionate tra loro tramite un campo tipo testo.

La maschera principale appartiene ad una tabella, mentre la sottomaschera come origine record ha due tabelle relazionate uno a molti ed è formata da caselle di testo appartenenti ad entrambe le tabelle. A fianco di ogni record nella sottomaschera c'è un pulsante per eliminare direttamente in tabella uno e conseguentemente tramite l'eliminazione a catena in tabella molti ogni record della sottomaschera. Tutto funziona bene fintantoché, aprendo nuovamente la maschera non si eliminano gli ultimi due record rimasti e la chiusura della maschera principale, invece di farla tramite pulsante di chiusura, si fa dalla crocetta in alto a destra. Solo in questo caso mi esce l'errore: Nessun record corrente.

Riepilogando:

  1. Apro la maschera ed a prescindere dai record rimasti che elimino nella sottomaschera, usando il pulsante di chiusura, tutto funziona bene.
  2. Apro la maschera, elimino l'ultimo record nella sottomaschera e chiudo usando la crocetta in alto a destra: tutto funziona bene.
  3. Apro la maschera, elimino gli ultimi due record rimasti nella sottomaschera e chiudo usando la crocetta in alto a destra: mi esce l'errore Nessun record corrente.

C'è qualche sistema per evitare questo?

Ciao Vladimiro.

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-07-30T18:33:39+00:00

Ciao Vladimir,

direi di aver risolto definitivamente:

ho inserito un rinvio all'errore:

se clikki su visualizza struttura delle maschere e vai come già sai nella sezione proprietà,

sulla riga: SU CHIUSURA, devi inserire il codice che precedentemente ti avevo postato.

ho notato che avevi messo sulla chiusura della form RESA questa formula:

DoCmd.Close acForm, "Resa"

che è giusta ma ti causava errore.

sostituisci con questa:

On Error GoTo prova_err

DoCmd.Close acForm, "Resa"

DoCmd.OpenForm "Menu"

PROVA_Exit:

Exit Sub

prova_err:

Exit Sub

DoCmd.Close acForm, "Resa"

Resume PROVA_Exit

e hai risolto.

Se ti da ancora problemi prova a inserire queslla VBA chiaramente modificandola sulla sottomaschera nella sezione "in chiusura"

Fammi sapere mi raccomando.

La risposta è stata utile?

0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2013-07-30T22:31:33+00:00

    Giusto per chi volesse trarre spunto dall'esempio messo a disposizione sullo spazio web, mi sono accorto, andando in struttura maschera, della casella di testo nascosta in Giacenza per non far vedere in apertura maschera l'errore sulla stessa casella di testo.

    L'ho modificata con del codice corretto. :-)

    Vladimiro

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2013-07-30T20:58:57+00:00

    Ciao Andrea,

    Ciao Vladimir,

    direi di aver risolto definitivamente:

    ho inserito un rinvio all'errore:

    se clikki su visualizza struttura delle maschere e vai come già sai nella sezione proprietà,

    sulla riga: SU CHIUSURA, devi inserire il codice che precedentemente ti avevo postato.

    ho notato che avevi messo sulla chiusura della form RESA questa formula:

    DoCmd.Close acForm, "Resa"

    che è giusta ma ti causava errore.


    credo che hai visto male e tra l'altro il suddetto codice avrebbe senso se risiedesse sull'evento di una maschera diversa dalla suddetta "Resa" :-)

    sostituisci con questa:

    On Error GoTo prova_err

    DoCmd.Close acForm, "Resa"

    DoCmd.OpenForm "Menu"

    PROVA_Exit:

    Exit Sub

    prova_err:

    Exit Sub

    DoCmd.Close acForm, "Resa"

    Resume PROVA_Exit

    e hai risolto.


    purtroppo non è cambiato nulla e non potrebbe essere diversamente in quanto l'errore si dovrebbe correggere prima della chiusura della maschera.

    Se ti da ancora problemi prova a inserire queslla VBA chiaramente modificandola sulla sottomaschera nella sezione "in chiusura"


    idem!

     

    Ciao Vladimiro.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2013-07-30T16:20:13+00:00

    Ciao Andrea78m e grazie per la risposta.

    Al seguente link c'è il file "Gestione_Resa":

    https://skydrive.live.com/#cid=DFDFB766AA86F9D8&id=DFDFB766AA86F9D8%21112

    dalla casella combinata, scegliendo il penultimo record, carichi un solo record, mentre scegliendo l'ultimo record carichi due record.

    Ti ricordo che il problema nasce, una volta eliminati i due record nella sottomaschera di destra, chiudendo la maschera principale non dal pulsante di chiusura, bensì dalla crocetta in alto a destra.

    Ciao Vladimiro.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2013-07-30T08:20:08+00:00

    prova con questa sub collegandola al bottone:

    sub PROVA()

    On Error GoTo PROVA_Err

        DoCmd.Close acForm, "NOME TUA FORM DA CHIUDERE"

    PROVA_Exit:

        Exit sub

    PROVA_Err:

        DoCmd.Close acForm, "NOME TUA FORM DA CHIUDERE"

        Resume PROVA_Exit

    End Function

    se alleghi via skydrive il file potrò aiutarti in maniera più completa e capire meglio il problema.

    La risposta è stata utile?

    0 commenti Nessun commento