Navigazione tra record

di il
2 risposte

Navigazione tra record

Buonasera a tutti, avrei bisogno di chiedere un consiglio.

Ho realizzato all'interno del mio database uno spazio dedicato a delle Note (appunti).

Ho una maschera principale (che ha diversi button, textbox, ecc...) e una sottomaschera continua. In questa sottomaschera rappresento attraverso alcune textbox il contenuto dei campi che provengono dalla tabella tblNote.

DoppioClick sulla textbox che mi interessa (così seleziono il record voluto) e si apre la maschera singola frmNote la quale mi va a rappresentare attraverso alcune textbox il contenuto della nota (testo nota, data nota, firma nota, ecc....)

'questo è il codice sulla textbox della sottomaschera
Private Sub txtNota_DblClick(Cancel As Integer)

    DoCmd.OpenForm "frmNote", OpenArgs:=[ID]

End Sub

All'apertura della frmNote:

'apro la form e la filtro in base all'ID corrente
Private Sub Form_Open(Cancel As Integer)

Filter = "[id] = " & OpenArgs

FilterOn = True

End Sub
All'interno della maschera frmNote per una comodità mia ho realizzato due pulsanti che consentono di spostarsi tra i record successivi e precedenti

Private Sub btnPrecedente_Click()

'spostati al messaggio precedente
    FilterOn = False

    On Error GoTo Down_Err

    With CodeContextObject

        On Error Resume Next

        DoCmd.GoToRecord , "", acPrevious
        
    End With
 
Down_Exit:

    Exit Sub

Down_Err:

    MsgBox Error$

    Resume Down_Exit

End Sub


Private Sub btnSuccessivo_Click()

'spostati al messaggio successivo
    FilterOn = False

    On Error GoTo Down_Err

    With CodeContextObject

        On Error Resume Next

        DoCmd.GoToRecord , "", acNext
        
    End With
 
Down_Exit:

    Exit Sub

Down_Err:

    MsgBox Error$

    Resume Down_Exit

End Sub
Da qui in poi ho il problema.
Siccome la maschera frmNote si apre filtrata in base all'ID, se usassi questi due button senza togliere il filtro (FilterOn = False) non potrei scorrere i record. Ma se ad esempio in tabella ci sono 5 record e io apro la maschera frmNote passando il record con ID nr. 3 e clicco il button di scorrimento (btnSuccessivo) per passare al record nr. 4, succede che mi riparte dal record nr. 2, poi ritorna al nr. 3 ed infine arriva al nr. 4.
Immagino che la cosa accade perché togliendo il filtro (FilterOn = False), vengo spedito al primo record, quindi premendo su btnSuccessivo passo al secondo record e così via....

C'è un modo per togliere il filtro, rimanere sul record corrente e passare a quelli successivi (o precedenti)? Oppure se potete suggerire un modo diverso per ottenere il risultato sperato senza stravolgere troppo il codice.

Grazie.

2 Risposte

  • Re: Navigazione tra record

    Dal codice da te presentato, si comprende che stai impiegando Access, quindi, dal momento che esiste apposita area nel forum, è li che dovevi iniziare il thread; chiedi al moderatore di spostarvi il tuo post.
    In merito al quesito, hai valutato di implementare una maschera con relativa sotto-maschera (correlata delle note) le quali non hanno necessità di codice e permettono lo scorrimento fra record
  • Re: Navigazione tra record

    Spostato nella sezione Access
Devi accedere o registrarti per scrivere nel forum
2 risposte