Access: posizionamento su un determinato record

Anonimo
2016-01-06T15:32:07+00:00

Buongiorno a tutti,

ho il seguente problema, in teoria facile, ma non riesco a capire come risolverlo.

Lo esemplifico nel modo più semplice possibile:

  • una tabella, con due colonne (ID, Dato)
  • una maschera associata, cui ho aggiunto una combobox per selezionare il record su cui mi vorrei posizionare e dei tasti "Record precedente" e "Record successivo" (DoCmd.GoToRecord , , acPrevious; DoCmd.GoToRecord , , acNext)
  • i tasti "Avanti / Indietro" (acPrevious, acNext) funzionano perfettamente, la combo anche (in visualizzazione), ma quali sono le istruzioni corrette da associare all'evento "Dopo aggiornamento" della combo per posizionarmi correttamente sul record cercato?

Grazie per l'aiuto che, come sempre, sono sicuro di ricevere scrivendo in questo sito.

Ho inserito quiun esempio del DataBase,

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
2016-01-06T15:57:26+00:00

Ciao Ivo,

la combo ti ritorna l'Id da utilizzare nell'evento dopo aggiornamento, nella routine evento imposta il codice:

Option Compare Database

Option Explicit

Private Sub cboDato_AfterUpdate()

    With Me.RecordsetClone

         .FindFirst "Id=" & cboDato

         If Not .NoMatch Then

            Me.Bookmark = .Bookmark

         End If

    End With

End Sub

Ciao Mimmo

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

3 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2016-01-10T18:13:08+00:00

    Ciao Vladimiro,

    per abitudine, forse vecchie versioni di Access, non utilizzo mai il .Value , personalmente non saprei dirti dove è necessario utilizzarlo.

    Anche per il punto esclamativo non so dirti, io uso sempre il punto ma non ho mai utilizzato Sql Server.

    Nella mia vita lavorativa ho utilizzato e utilizzo anche altri linguaggi di programmazione quindi facilmente mischio le idee :-)

    Ciao Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2016-01-10T17:10:07+00:00

    Ciao Ivo,

    la combo ti ritorna l'Id da utilizzare nell'evento dopo aggiornamento, nella routine evento imposta il codice:

    Option Compare Database

    Option Explicit

    Private Sub cboDato_AfterUpdate()

        With Me.RecordsetClone

             .FindFirst "Id=" & cboDato

             If Not .NoMatch Then

                Me.Bookmark = .Bookmark

             End If

        End With

    End Sub

    Ciao Mimmo

    Ciao Mimmo,

    mi piacerebbe un "tuo" parere riguardo la combo.

    Assodato che è bene richiamare la combo (sempre se si voglia usare il Me) con Me!cboDato al posto del punto (naturalmente più conveniente in fase di scrittura del codice) Me.cboDato; mi spieghi perché la combo non l'hai valorizzata con la proprietà value?

    Me!cboDato.Value

    Sulla guida c'è scritto:

    Utilizzare la proprietà Value per impostare o restituire dati di oggettiField, per impostare o restituire valori di parametro con oggettiParameter oppure per impostare o restituire impostazioni di proprietà con oggettiProperty. La proprietà Value può essere di lettura/scrittura oppure di sola lettura in base a numerosi fattori.

    Perché dico questo.

    Ho notato, facendo involontariamente delle "peripezie" con tabelle collegate in SQL Server che il Me con il punto dà errore fintantoché non viene sostituito con il punto esclamativo mentre una combo o una casella di testo senza il value continua a funzionare normalmente.

    Dov'è la verità? Hai fatto bene tu ad ometterlo?

    Vladimiro

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2016-01-06T16:22:32+00:00

    Grazie, Mimmo. Alla prossima

    La risposta è stata utile?

    0 commenti Nessun commento