Completamento automatico

di il
23 risposte

23 Risposte - Pagina 2

  • Re: Completamento automatico

    Innanzitutto, come da regolamento, quando scrivi codice, devi selezionarlo tutto e poi cliccare sulla 4a icona che trovi tra i tasti dell'editor di quando si scrive un messaggio per farlo apparire con i caratteri monotype più familiari ai programmatori.

    Non capisco il senso di selezionare un valore da Elenco1 e poi passarlo in Testo1. Un controllo “casella combinata” o “casella di riepilogo” consente già di conservare il valore selezionato. Questi controlli hanno il vantaggio di avere appunto la possibilità di digitare i primi caratteri e poi va da sè. 

  • Re: Completamento automatico

    31/05/2024 - Federico85 ha scritto:


    If Me.Elenco1.ListCount <> 0 Then  'controllo che ci sia almeno un riferimento
       Me.Elenco1.Enabled = True

    Questo non serve a niente…

    31/05/2024 - Federico85 ha scritto:


     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

    Visto che nascondi la listbox puoi impostarla da progetto…. Elimina questo codice.

    31/05/2024 - Federico85 ha scritto:


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

    Cosa stai updatando?

    On exit dell'editbox  metti Me.Elenco1.Visible = False e lanci il metodo per inserire il dato trovato o selezionato dalla.lista col clickclick…

    Fine.

    Ti faccio notare che non hai mai ridotto le dimensioni della listbox: spiegami perché la ridimensioni ogni volta.

  • Re: Completamento automatico

    01/06/2024 - OsvaldoLaviosa ha scritto:


    Innanzitutto, come da regolamento, quando scrivi codice, devi selezionarlo tutto e poi cliccare sulla 4a icona che trovi tra i tasti dell'editor di quando si scrive un messaggio per farlo apparire con i caratteri monotype più familiari ai programmatori.

    Scusate

    01/06/2024 - OsvaldoLaviosa ha scritto:


    Non capisco il senso di selezionare un valore da Elenco1 e poi passarlo in Testo1. Un controllo “casella combinata” o “casella di riepilogo” consente già di conservare il valore selezionato. Questi controlli hanno il vantaggio di avere appunto la possibilità di digitare i primi caratteri e poi va da sè. 

    Lo faccio perchè sono in una maschera per inserire record in una tabella e Testo1 ha come origine controllo il campo “nome_macchina” di questa tabella. Elenco1 mi serve per scegliere il dato da inserire all'interno di una lista di nomi macchina contenuta in una seconda tabella

    Dato che le macchine sono molte e i loro nomi a gruppi differiscono solo della parte finale (es. GM1, GM2…., GMC0, GMC1…., SL1, SL2… ) quello che vorrei ottenere è un po come un motore di ricerca dove ho una casella di testo per immettere il nome da inserire e sotto una lista che appare nel momento in cui digito qualcosa e via via mi filtra i nomi che iniziano per la combinazione di caratteri inseriti al fine di agevolarmi nella ricerca. Nel momento in cui nella lista appare la macchina interessata, cliccandoci sopra scompare la lista e il valore selezionato mi viene “caricato” in Testo1 per poi essere aggiunto nel record. 

    La combobox mi permette la scelta, ma per cercare la macchina devo scorrerre tutta la lista e se provo a inserire un carattere mi seleziona il primo valore che trova

    La listbox invece non mi permette da sola la scrittura del nome da cercare, quindi devo comunque farla lavorare insieme ad una casella di testo. 

  • Re: Completamento automatico

    On exit dell'editbox  metti Me.Elenco1.Visible = False e lanci il metodo per inserire il dato trovato o selezionato dalla.lista col clickclick…

    Fine.

    Ti faccio notare che non hai mai ridotto le dimensioni della listbox: spiegami perché la ridimensioni ogni volta.

    Io non credo vada bene su OnExit… perché quando stai digitando e poi vuoi selezionare dalla ListBox… sposti il focus dalla textbox e si scatenerebbe OnExit con la conseguenza non voluta… come accennavo non è proprio una cosa banale… ma vi lascio giocare …

  • Re: Completamento automatico

    01/06/2024 - @Alex ha scritto:


    Io non credo vada bene su OnExit… perché quando stai digitando e poi vuoi selezionare dalla ListBox… sposti il focus dalla textbox e si scatenerebbe OnExit con la conseguenza non voluta… come accennavo non è proprio una cosa banale… ma vi lascio giocare …

    Hai ragione, io uso l'invio…

    Federico, usa keypress o come si chiama in access e risolvi

  • Re: Completamento automatico

    Scusate, ma partire da una soluzione del genere?

    http://www.accessgroup.it/sitocomune/

    Faq  Sezione Form numero 3.122 ?

  • Re: Completamento automatico

    01/06/2024 - fratac ha scritto:


    Scusate, ma partire da una soluzione del genere?

    http://www.accessgroup.it/sitocomune/

    Faq  Sezione Form numero 3.122 ?

    Esatto. Il mio problema è che per inserire nuovi record sto utilzzando una maschera con layout tabulare, quindi avevo bisogno che la listbox non fosse fissa, ma che si visualizzasse a mo di tendina nel momento della digitazione

  • Re: Completamento automatico

    02/06/2024 - Federico85 ha scritto:


    Esatto. Il mio problema è che per inserire nuovi record sto utilizzando una maschera con layout tabulare, quindi avevo bisogno che la listbox non fosse fissa, ma che si visualizzasse a mo di tendina nel momento della digitazione

    Non sono sicuro di aver compreso la questione, ma prova l'evento Su INVIO

    Private Sub NomeListbox_Enter()
    Me!NomeListbox.Dropdown
    End Sub

    Con questo evento, quando il cursore cade dentro NomeListbox, quest'ultimo si apre automaticamente a tendina.

  • Re: Completamento automatico

    01/06/2024 - fratac ha scritto:


    Scusate, ma partire da una soluzione del genere?

    http://www.accessgroup.it/sitocomune/

    Faq  Sezione Form numero 3.122 ?

    Sono proprio vecchio… nemmeno mi ricordo quello che faccio…

    Saluti

Devi accedere o registrarti per scrivere nel forum
23 risposte