Aggiornamento listbox da test box

di il
10 risposte

Aggiornamento listbox da test box

Buongiorno a tutti
access 2013 64bit
In una maschera ho una casella di testo che serve a filtrare i dati di una list box
su evento "Sumodifica" della test box ho trovato questo codice:

DoCmd.RunCommand acCmdRefresh
SendKeys "{F2}", True

vorrei eliminare il sendkeys e sostituirlo con un requery della listbox, ma se inserisco il codice

Me.Elenco60.Requery
DoCmd.RunCommand acCmdRefresh

fa correttamente il requery della listbox ma mi lascia selezionato il testo inserito nella casella di testo, non potendo così continuare a scrivere

Avete una soluzione?
Grazie mille a tutti
Buona giornata

10 Risposte

  • Re: Aggiornamento listbox da test box

    Me.Elenco60.Requery
    DoCmd.RunCommand acCmdRefresh
    forse il secondo rigo non ti serve.
    Oppure, io non sceglierei l'evento "Su modifica". Prova con "Dopo aggiornamento" per esempio...
  • Re: Aggiornamento listbox da test box

    Puoi spiegare meglio ad esempio che origine Riga ha la ListBox...?
    Questo perchè di norma... su Evento Change o KeyPress della TextBox si legge il contenuto e si costruisce la WHERE condition per filtrare i dati... e di solito servono 2 righe di codice per fare tutto ma non lo vedo nel tuo esempio... quindi ipotizzo che nella ListBox sia già prevista una WHERE riferita alla TextBox... cosa che però io non farei...
  • Re: Aggiornamento listbox da test box

    andrea.corciano ha scritto:


    lascia selezionato il testo inserito nella casella di testo, non potendo così continuare a scrivere
    Perché nella casella di testo non riesci a scrivere? che cosa dovresti scrivere? cosa avevi scritto prima?
  • Re: Aggiornamento listbox da test box

    @Alex ha scritto:


    Puoi spiegare meglio ad esempio che origine Riga ha la ListBox...?
    Questo perchè di norma... su Evento Change o KeyPress della TextBox si legge il contenuto e si costruisce la WHERE condition per filtrare i dati... e di solito servono 2 righe di codice per fare tutto ma non lo vedo nel tuo esempio... quindi ipotizzo che nella ListBox sia già prevista una WHERE riferita alla TextBox... cosa che però io non farei...
    Grazie per la risposta
    la textbox non ha origine riga
    nella listbox c'è una select con condizioni in 4 diversi campi del tipo "Like "*" & [forms]![miaform]![Textbox] & "*"

    Io pensavo di passare la rowsource alla listbox, sull'evento "change", ma mi sto' "incartando" un pò con il codice:

    Dim cerca As String
    cerca = Nz(Me!Textbox.Text, "")
    'Me!listbox.RowSource = "SELECT query_1.* FROM query_1 " & "WHERE [campo1] Like " * " & " & Cerca & " * """

    ma mi restituisce dati non corrispondenti

    Grazie
  • Re: Aggiornamento listbox da test box

    Philcattivocarattere ha scritto:


    andrea.corciano ha scritto:


    lascia selezionato il testo inserito nella casella di testo, non potendo così continuare a scrivere
    Perché nella casella di testo non riesci a scrivere? che cosa dovresti scrivere? cosa avevi scritto prima?
    non riesco nel senso che il testo nella textbox è selezionato, e se digito una lettera si sostituisce a quel testo
  • Re: Aggiornamento listbox da test box

    OsvaldoLaviosa ha scritto:


    Me.Elenco60.Requery
    DoCmd.RunCommand acCmdRefresh
    forse il secondo rigo non ti serve.
    Oppure, io non sceglierei l'evento "Su modifica". Prova con "Dopo aggiornamento" per esempio...
    grazie per la risposta
    "dopo aggiornamento" non posso perchè il risultato della listbox deve cambiare ad ogni singolo carattere inserito nella textbox
  • Re: Aggiornamento listbox da test box

    andrea.corciano ha scritto:


    non riesco nel senso che il testo nella textbox è selezionato, e se digito una lettera si sostituisce a quel testo
    Ok, secondo me SelStart e SelLengh fanno al caso tuo.
    https://docs.microsoft.com/en-us/office/vba/api/access.textbox.selstart
    https://docs.microsoft.com/en-us/office/vba/api/access.textbox.sellength
  • Re: Aggiornamento listbox da test box

    Test box ??
  • Re: Aggiornamento listbox da test box

    oregon ha scritto:


    Test box ??
    scusatemi ... è un errore di digitazione volevo intendere textbox .... ma alcune dritte le ho ricevute e ci lavoro su ... grazie per avermelo fatto notare!
  • Re: Aggiornamento listbox da test box

    Polemiche a parte..
    per il cliente che aveva fretta ho risolto così:

    Private Sub Testo Change()
    DoCmd.RunCommand acCmdRefresh
    Me.Elenco.Requery
    Me.Testo.SetFocus
    Me.Testo.SelLength = 0
    Me.Testo.SelStart = Nz(Len(Me.Testo), 0)
    End Sub

    e per questo ringrazio "Philcattivocarattere" ....però correi capire meglio come passare la rowsource ...
    Alex che ne dici?

    ci provo e se può interessare a qualcuno la posterò.
    grazie
    buona serata
Devi accedere o registrarti per scrivere nel forum
10 risposte