Access 2016 pulsante successivo

Anonimo
2018-01-29T18:24:41+00:00

Ho costruito una maschera che fa riferimento a una tabella, all'interno della maschera ho inserito una casella combinata, che ha origine da una query di selezione, per richiamare specifici record e poi poterli variare ecc., mi servirebbe un pulsante che una volta richiamato un record mi faccia scorrere al record sucessivo senza dover riutilizzare ogni volta la casella combinata.

Ho trovato questo codice vba e altri simili ma non funziona,

Private Sub Comando117_Click()
On Error GoTo Err_Comando117_Click
    DoCmd.GoToRecord , , acNext
Exit_Comando117_Click:
    Exit Sub
Err_Comando117_Click:
    MsgBox Err.Description
    Resume Exit_Comando117_Click
End Sub

una volta che ho cliccato il nominativo riferito ad un record nella casella combinata, conseguentemente in automatico nella maschera si sono evidenziati i restanti campi di detto record, quando clicco sul pulsante da me creato "successivo" mi resta lo stesso nominativo nella casella combinata e mi fa sparire tutti i campi nella maschera. Grazie e scusa il disturbo.

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
2018-01-29T20:52:33+00:00

Ciao Elena,

non so se ho interpretato bene la tua domanda. Il codice che ti suggerisco effettua lo scorrimento dei records comandato dalla combo che viene variata in automatico nell'evento su_click del pulsante 'cmdNext':

Private Sub cmdNext_Click()

   me.cbo=me.cbo.itemdata(me.cbo.listindex + 1)

   me.requery

End Sub

Do per scontato che l'origine dati della abbia come filtro (condizione) la cbo della maschera.

Ciao Mimmo

La risposta è stata utile?

2 persone hanno trovato utile questa risposta.
0 commenti Nessun commento

3 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2018-01-30T08:29:34+00:00

    Salve Sandro, sto applicando i suoi consigli, ha ragione sulla personalizzazione, per quanto riguarda il codice, ho provato ma non mi funziona, sappia che sono molto indietro con il linguaggio VBA, ho risolto comunque grazie al Sig. Mimmo, ma la ringrazio enormemente per la sua risposta è stata molto utile e lei molto gentile, Buona giornata

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2018-01-30T08:23:31+00:00

    Ciao Elena,

    non so se ho interpretato bene la tua domanda. Il codice che ti suggerisco effettua lo scorrimento dei records comandato dalla combo che viene variata in automatico nell'evento su_click del pulsante 'cmdNext':

    Private Sub cmdNext_Click()

       me.cbo=me.cbo.itemdata(me.cbo.listindex + 1)

       me.requery

    End Sub

    Do per scontato che l'origine dati della abbia come filtro (condizione) la cbo della maschera.

    Ciao Mimmo

    Ciao grazie, ho risolto il codice è perfetto. Molto gentile

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2018-01-29T19:53:24+00:00

    ciao Elena,

    [...]

    Ho costruito una maschera che fa riferimento a una tabella,

    [...]

    tecnicamente, hai una maschera associata alla tabella oppure bound.

    [...]

    nella maschera si sono evidenziati i restanti campi di detto record,

    [...]

    campi propri di tabella e queries, controlli di forms e reports.

    da me ho eseguito questo test :

    Form e combo sono settate con le caratteristiche che hai espresso nel tuo post.

    Ogni volta che clicco e scelgo una categoria diversa, la maschera si sincronizza con la scelta effettuata nella comboBox e posso scorrere i records successivi con il pulsante che vedi nell'intestazione della form vicino alla combBox,.

    Il codice dopo aggiornamento della comboBox è  :

    Option Compare Database

    Option Explicit

    Private Sub cboCat_AfterUpdate()

    With Me.RecordsetClone

    .FindFirst "idcategoria=" & Me.cboCat

    If Not .NoMatch Then

    Me.Bookmark = .Bookmark

    End If

    End With

    End Sub

    che cosa succede non appena l'evento dopo aggiornamento della comboBox si scatena?

    con il metodo findFirst cerchi e rendi corrente la prima ricorrenza del criterio "idcategoria=" & Me.cboCat.

    Verifichi con il metodo noMatch se la corrispondenza è stata trovata ed in caso affermativo, sincronizzi il recordset della form il recorsetClone.

    Il command Button ha lo stesso codice che mostri tu nel suo evento click.

    Facci sapere come hai agito tu....

    Altro consiglio spassionato...personalizza sempre, sempre, il nome dei controlli che crei nella form, comando117 oggi per certo ti fa pensare allo scorrimento dei records, domani forse dovrai navigare nella form per cercarlo...e se hai molti commandButtons perderai un sacco di tempo....oltre a questo è una buona pratica per la programmazione.

    [...]

    Grazie e scusa il disturbo.

    [...]

    Nessun disturbo, sei sempre la benvenuta...!

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento