Completamento automatico

di il
23 risposte

Completamento automatico

Buongiorno!

Sarebbe possibile secondo voi creare una casella con completamento automatico come in foto, ovvero la comparsa di una finestra sottostante che di mano in mano filtra i valori in base al testo inserito e infine permetta la selezione.

Ho letto sul sito microsoft che è presente il controllo completamento automatico ma solo nelle app Web di Access e non nei database desktop di Access.

Ho provato a realizzare una cosa simile in maniera statica con una casella di testo dove inserire il valore da ricercare e una finestra di riepilogo collegata ad una tabella che via via filtra i valori e funziona, ma non ho idea di come si potrebbe fare per averlo dinamico a tendina come nella prima foto.

Ho provato a cercare online soluzioni simili senza successo

Spero di essere stato chiaro..

Grazie

23 Risposte

  • Re: Completamento automatico

    LE IMMAGINI…!!!!!!??????

    La ComboBox fa completamento automatico… se poi vuoi associare il filtro, devi applicarlo su Evento Change…

    Di automatico non c'è mai nulla, qualcuno ha scritto il codice per farlo.

  • Re: Completamento automatico

    31/05/2024 - @Alex ha scritto:


    LE IMMAGINI…!!!!!!??????

    La ComboBox fa completamento automatico… se poi vuoi associare il filtro, devi applicarlo su Evento Change…

    Di automatico non c'è mai nulla, qualcuno ha scritto il codice per farlo.

    Le immagini spero adesso si possano vedere. 

  • Re: Completamento automatico

    Confermo che la casella combinata fa completamento automatico. L'immagine che hai mostrato ha una lista anomala/atipica in quanto vedo Basilicata dopo Lazio, Liguria, Lombardia. Come l'hai organizzata? Ossia cosa c'è scritto nella proprietà “Origine riga”?

  • Re: Completamento automatico

    La foto è un esempio di quello che vorrei ottenere. È stata presa sul sito di Microsoft dove tratta del controllo completamento automatico per app Web di access. Molto probabilmente hanno usato un filtro “contiene”
    A prescindere da come hanno gestito la lista e il filtro sull’esempio in foto, mi piacerebbe ottenere una casella di testo con un menu a tendina che appare durante l’inserimento e via via filtra le voci in base all’inserimento 

  • Re: Completamento automatico

    Per cose come questa sono state ideate le listbox. Perché ricorre alle combobox?

  • Re: Completamento automatico

    31/05/2024 - Antony73 ha scritto:


    Per cose come questa sono state ideate le listbox. Perché ricorre alle combobox?

    Ma infatti non ho fatto uso di combobox, è stata menzionata nelle risposte degli altri utenti. Ricapitolo la richiesta:

    Nella mia maschera sto utilizzando una casella di testo dove inserisco il nome da cercare. Affianco è posizionata una listbox che mi screma la lista via via che il testo viene inserito. Infine posso selezionare direttamente la voce nella listbox (foto sotto)

    Vorrei capire se esiste un modo per replicare la stessa cosa, ma con la listbox che azinchè essere fissa, appare tipo menù a tendina al di sotto della casella di testo. Una cosa simile a questa foto che ho preso online

    Spero di essere stato comprensibile

    Grazie mille

  • Re: Completamento automatico

    Se non vuoi aprire e chiudere la ListBox come fosse una combo… si può fare abbastanza semplicemente, basta usare la proprietà Filter del RS che si usa per popolare una Maschera ed una ListBox e con 2 righe di codice si fa tutto.

    La questione Resize della ListBox ti farà tribolare per come gestirla correttamente, perchè in se è banale gestire la proprietà Height, ma farlo bene con l'Emulazione Combo vedrai cosa significa quando provi… e capirai il perchè della mia affermazione.

  • Re: Completamento automatico

    Non hai menzionato la combobox… poi parli di voler usare un menù a tendina… allora se non è una combobox e non è una listbox quale controllo dovrebbe essere? Capisco che non sai come far una cosa, ma in questi casi l'unico punto fermo dovrebbe essere quelli che vorresti fare. Onestamente ho quale difficoltà a comprendere.

  • Re: Completamento automatico

    31/05/2024 - Antony73 ha scritto:


    Non hai menzionato la combobox… poi parli di voler usare un menù a tendina… allora se non è una combobox e non è una listbox quale controllo dovrebbe è? Capisco che non sai come far una cosa, ma in questi casi l'unico punto fermo dovrebbe essere quelli che vorresti fare. Onestamente ho quale difficoltà a comprendere.

    Sono d'accordo con questa obiezione.

    Inoltre non hai risposto alla mia domanda

    31/05/2024 - OsvaldoLaviosa ha scritto:


    cosa c'è scritto nella proprietà “Origine riga”?

  • Re: Completamento automatico

    31/05/2024 - OsvaldoLaviosa ha scritto:


    31/05/2024 - Antony73 ha scritto:


    Non hai menzionato la combobox… poi parli di voler usare un menù a tendina… allora se non è una combobox e non è una listbox quale controllo dovrebbe è? Capisco che non sai come far una cosa, ma in questi casi l'unico punto fermo dovrebbe essere quelli che vorresti fare. Onestamente ho quale difficoltà a comprendere.

    Sono d'accordo con questa obiezione.

    Inoltre non hai risposto alla mia domanda

    31/05/2024 - OsvaldoLaviosa ha scritto:


    cosa c'è scritto nella proprietà “Origine riga”?

    Ti ho risposto facendoti presente che quella pubblicata era una foto presa online per cercare di rendere meglio l’idea di cosa mi interessasse e quindi non potevo sapere l’informazione che mi hai chiesto 

  • Re: Completamento automatico

    31/05/2024 - Antony73 ha scritto:


    Non hai menzionato la combobox… poi parli di voler usare un menù a tendina… allora se non è una combobox e non è una listbox quale controllo dovrebbe essere? Capisco che non sai come far una cosa, ma in questi casi l'unico punto fermo dovrebbe essere quelli che vorresti fare. Onestamente ho quale difficoltà a comprendere.

    Quello che vorrei fare è realizzare quanto presente nel link sottostante, ma che possa funzionare per database desktop di access 

    https://support.microsoft.com/it-it/office/aggiungere-una-casella-con-completamento-automatico-in-una-visualizzazione-in-un-app-access-38dbd28f-7779-477d-b42b-86391620ee6f

    Mi dispiace ma non saprei essere più chiaro di così 

  • Re: Completamento automatico

    Secondo me tu devi leggere qui

    Aggiungere una casella di riepilogo o una casella combinata - Supporto tecnico Microsoft

    e si applica alle MASCHERE di Access.

    Il link che hai indicato parla di App Web di Access…argomento a me sconosciuto. Tuttavia in entrambi i casi occorre compilare “Origine riga” in maniera coerente ed efficace…questo tu non lo dici.

  • Re: Completamento automatico

    La risposta che ti ho esposto, a mio avviso assolve a quanto tenti di fare… ma ora ti faccio una domanda, dal momento che per capirla e metterla in pratica serve uan sufficiente conoscenza del VBA…

    Che basi di programmazione hai…? Se non sei pratico, sarà impossibile farla NON ESISTE una cosa NATIVA che fa tutto da sola…. serve scrivere codice e non così banale se non si hanno conscenze.

    A te… la risposta.

  • Re: Completamento automatico

    31/05/2024 - @Alex ha scritto:


    La risposta che ti ho esposto, a mio avviso assolve a quanto tenti di fare… ma ora ti faccio una domanda, dal momento che per capirla e metterla in pratica serve uan sufficiente conoscenza del VBA…

    Che basi di programmazione hai…? Se non sei pratico, sarà impossibile farla NON ESISTE una cosa NATIVA che fa tutto da sola…. serve scrivere codice e non così banale se non si hanno conscenze.

    A te… la risposta.

    Purtroppo sono alle prime armi..

    Per adesso ho buttato giù due righe al volo che tutto sommato funzionano. Mi piacerebbe un parere

    In una maschera ho una casella di testo “Testo1” con posizionata subito sotto una listbox “Elenco1” con larghezza uguale alla casella di testo e con opzione “visibile” su “no”

    Questo il codice:

    Private Sub Testo1_Change()
    Me.Elenco1.RowSource = "SELECT nome_macchina FROM Macchine WHERE nome_macchina LIKE '" & Me.Testo1.Text & "*'"
    If Me.Elenco1.ListCount <> 0 Then  'controllo che ci sia almeno un riferimento
       Me.Elenco1.Enabled = True
       Me.Elenco1.Visible = True
       Me.Elenco1.Height = 285 * Me.Elenco1.ListCount
       If Me.Elenco1.Height > 2850 Then   'imposto un’altezza massima della listbox che visualizzi 10 righe
           Me.Elenco1.Height = 2850
       End If
    End If
    End Sub

    Private Sub Elenco1_AfterUpdate()
    Me.Testo1 = Me.Elenco1
    Me.Elenco1.Enabled = False
    Me.Elenco1.Visible = False
    End Sub

Devi accedere o registrarti per scrivere nel forum
23 risposte