come posso ritornare al record corrente di una maschera?

Anonimo
2015-07-11T07:41:41+00:00

Come posso tornare al record corrente dopo avere annullato l'inserimento di un nuovo record in un form? Per "record corrente" intendo il record attivo prima di cliccare sul pulsante [nuovo record].

Esempio:

  1. apro la maschera che visualizza il primo record
  2. clicco il pulsante [successivo] e la maschera visualizza il secondo record (record 2)
  3. clicco nuovamente il pulsante [successivo] e la maschera visualizza il terzo record (record 3)
  4. clicco il pulsante [nuovo] per inserire un nuovo record
  5. inserisco i dati
  6. annullo inserimento premendo tasto [ESC]
  7. COME POSSO TORNARE E VISUALIZZARE NUOVAMENTE IL TERZO RECORD (RECORD 3)?

Grazie

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

7 risposte

Ordina per: Più utili
  1. Anonimo
    2015-07-11T18:13:00+00:00

    ...se il nuovo record viene inserito con i selettori di record e vuoi evitare il command button che inserisce il record nuovo procedi in questo modo...

    puoi evitare anche la generazione di una variabile oggetto recordset :

    su corrente:

    Private Sub Form_Current()

    If Not Me.NewRecord Then

        Me.RecordsetClone.Bookmark = Me.Bookmark

    End If

    End Sub

    su annullamento :

    Private Sub Form_Undo(Cancel As Integer)

    Me.Bookmark = Me.RecordsetClone.Bookmark

    End Sub

    ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2015-07-11T17:33:18+00:00

    ciao Arti_955,

    record corrente non il precedente..l'avevi anche specificato...sorry...

    prova in questo modo....

    nell'intestazione del modulo di classe della tua form appena sotto option explicit

    digita questo :

    Option Compare Database

    Option Explicit

    Private rst As DAO.Recordset

    poi sul command button in cui inserisci un nuovo record:

    Set rst = Me.Recordset

    Me.RecordsetClone.Bookmark = Me.Bookmark

    DoCmd.GoToRecord acDataForm, Me.Name, acNewRec

    ed infine su evento undo della tua form :

    rst.Move 0, Me.RecordsetClone.Bookmark

    ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Eliminata

    Questa risposta è stata eliminata a causa di una violazione del codice di comportamento. La risposta è stata segnalata manualmente o identificata tramite il rilevamento automatizzato prima dell'esecuzione dell'azione. Per ulteriori informazioni, fai riferimento al codice di comportamento.


    I commenti sono stati disattivati. Ulteriori informazioni

  4. Anonimo
    2015-07-11T14:29:45+00:00

    Ciao Sandro

    grazie per il suggerimento.

    Ho una maschera collegata ad una tabella, con alcuni campi obbligatori (required= true). Quando clicco su "Nuovo Record" ho fatto in modo che alcuni campi siano completati automaticamente (data odierna, ecc.). Quello che vorrei fare ritornare al record precedente una volta premuto il tasto [ESC], ma senza inserire pulsanti.

    Una volta premuto [ESC] ogni dato inserito viene cancellato ma non sono riuscito a trovare un modo per spostarmi sul record precedente (posso farlo ovviamente con i pulsanti di navigazione, ma vorrei automatizzare questo passaggio).

    ciao

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2015-07-11T09:31:01+00:00

    ciao Arti_955,

    a me verrebbe in mente un pulsante che simula l'annullamento dell' inserimento dei dati, tutti, e "sposta" indietro il recorset al record prececente :

    Vedi se questo ti aiuta, crei un pulsante e su evento click copi incolli questo codice:

    If Me.Dirty Then

        Me.Undo

        DoCmd.GoToRecord acDataForm, Me.Name, acPrevious

    End If

    ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento