Popolare subito completamente una combo basata su una query

di il
15 risposte

Popolare subito completamente una combo basata su una query

Ciao a tutti

in una maschera ho una combo basata su una query.

Funziona bene ma con questo piccolo fastidio: siccome i records che rende la query sono molti, circa un migliaio, quando apro la combo col pulsantino si popola solo la parte iniziale dell'elenco e per andare in fondo devo scorrere più volta con l'ascensore.

C'è un modo di popolare da codice tutto l'elenco all'apertura della maschera, come farei manualmente aprendo l'elenco e facendo <ctrl>+<fine> ?

Grazie e auguri per le feste

15 Risposte

  • Re: Popolare subito completamente una combo basata su una query

    La combo è una casella di testo combinata.

    O crei la query con le lettere dell'alfabeto e conseguente combo che mostra quelli che iniziano con quella lettera oppure, consierato che una combo serve per elencare qualche occorrenza piuttosto che un intero database, cambi approccio.

    Casella di testo + tabella col solo campo che ti interessa.

    La tabella la scorri come meglio credi e se cerchi qualcosa basta cercare nella query quello che scrivi nella casella di testo.

    Se la vuoi fare completa, nella query metti like [caselladitesto] e con MOLTA fantasia puoi scrivere nella casella "%nivea%mani%200%ml%"

    E ti filtri quello che ti serve...

    Con un reset rifai la query passando "%" e per magia riappaiono tutti....

    Personalmente, se devo cercare un valore da una combo alfabetica di 1000 articoli o voci dove un utente ha scritto sapone nivea 200 ml miele e nivea sapone 200ml fragola il primo lo trovi in fondo alla lista, il secondo a metà lista....

    Io prendo il programma e lo butto ma tu puoi anche acquistare un'automobile dove per sterzare ti fermi, scendi dall'auto, giri le ruote e riparti solo perché l'ingegnere non ha messo un volante...

    A fare le cose per bene si impiega meno trempo che a farle male.

  • Re: Popolare subito completamente una combo basata su una query

    Ciao

    scusa, mi ero dimenticato di specificare che il campo della combo è una data (ordinata) e non sono presenti TUTTE le date ma solo alcune, con dei "vuoti" (pensa p.es. l'elenco delle date dei bonifici che hai ricevuto...)

    ciao

  • Re: Popolare subito completamente una combo basata su una query

    10/12/2024 - bruma ha scritto:

    quando apro la combo col pulsantino si popola solo la parte iniziale dell'elenco e per andare in fondo devo scorrere più volta con l'ascensore.

    ...mi ero dimenticato di specificare che il campo della combo è una data (ordinata) e non sono presenti TUTTE le date ma solo alcune, con dei "vuoti"

    Io non ho capito. Puoi fare un esempio concreto? Raccontaci anche di cosa parla il database e descrivi i nomi propri dei campi che entrano in gioco, sia nella casella combinata, sia nella query sottostante.

  • Re: Popolare subito completamente una combo basata su una query

    Mi spieghi il senso di una combo di date prelevate da una query con tanto di vuoti? almeno where date is not null

    se cerco il 15 marzo filtro per 15 marzo se cerco dal 15 marzo al 20 marzo filtro da...a... non mi affido a una combo.

    se cerco incassi mostro la tabella incassi da a 

    se cerco da incassare idem... 

    se voglio la situazione cliente o fornitore mostro il relativo mastrino...

    te lo dico da ragioniere: stai sbagliando tutto.

    da programmatore: idem come sopra.

  • Re: Popolare subito completamente una combo basata su una query

    10/12/2024 - bruma ha scritto:

    (pensa p.es. l'elenco delle date dei bonifici che hai ricevuto...)

    select * from primanota 

    where 

    IdMastrino=bancaxy 

    and (((data>x and data<y) and filtrodata=true)) or filtrodata=false) 

    and ((cliente=[clienteselezionato] and filtracliente=true) or filtracliente=false)

    che senso ha una combo?

  • Re: Popolare subito completamente una combo basata su una query

    In effetti che senso ha la combo con le date?

    È probabile che stai seguendo un approccio sbagliato. Che vuoi realizzare?

  • Re: Popolare subito completamente una combo basata su una query

    Una combobox, pur avendo perfettamente senso anche per visualizzare solamente delle date, non e' adatta a caricare e visualizzare con efficacia migliaia di righe

    Potresti costruirti la tua combobox combinando un kit di textbox+button+form continua

    Avresti sia la possibilita' di spostarti col  ctrl+end, che soprattutto la possibilita' di personalizzarla come vuoi, nel senso che nelle righe ci puoi anche mettere dei button o degli hyperlink ed avere quindi una flessibilita' di molto maggiore rispetto alle classiche combobox

  • Re: Popolare subito completamente una combo basata su una query

    Ciao a  tutti

    a parte qualunque polemica sul perchè e percome ho pensato di fare così, ringraziando delle conferme che sto sbagliando tutto sia come ragioniere (che non sono) che come programmatore (che credo di essere dai tempi della perottina), a me serviva solo popolare la lista della combo all'apertura della maschera, senza costringere gli utenti a scorrere l'ascensore...

    RIcordavo che c'era un trucco, che non ricordo però come fosse.

    Comunque grazie

  • Re: Popolare subito completamente una combo basata su una query

    10/12/2024 - bruma ha scritto:

    programmatore (che credo di essere dai tempi della perottina)

    Vola basso. L'approccio che hai adottato non mi sembra per niente un approccio da programmatore. Come ti è stato suggerito, spiega bene le tue esigenze. Ti sarà molto più utile di quello che pensi.

  • Re: Popolare subito completamente una combo basata su una query

    10/12/2024 - bruma ha scritto:

    programmatore (che credo di essere dai tempi della perottina)

    E secondo te una combo con migliaia di elementi è una scelta che un programmatore farebbe?

    Se non si può suggerire un miglioramento sul tema proposto, non ha senso usare i forum.

    Comunque, potresti ottenere i record dalla query modificandola per avere l'ordine opposto, in modo da presentare i più recenti.

  • Re: Popolare subito completamente una combo basata su una query

    10/12/2024 - bruma ha scritto:

    ... a me serviva solo popolare la lista della combo all'apertura della maschera, senza costringere gli utenti a scorrere l'ascensore...

    RIcordavo che c'era un trucco, che non ricordo però come fosse.

    Se, come hai scritto, hai migliaia di record non e' possibile evitare l'uso dello slider laterale

    A meno di qualche trucco

    Se vuoi portare direttamente sull'ultima riga prova questo e facci sapere:

    -------------------------------------------------------------

    Private Sub ComboBox1_DropButtonClick() 

    If ComboBox1.ListCount > 0 Then 

       ComboBox1.ListIndex = ComboBox1.ListCount - 1 

       ComboBox1.DropDown 

       End If 

    End Sub

  • Re: Popolare subito completamente una combo basata su una query

    Per precisare...

    1) il ragioniere sono io

    2) sono anche programmatore certificato non da vattelappesca

    Chiarito questo, visto che popoli la combo da query, visto che ti porti dietro valori null, visto che vuoi andare all'ultimo elemento della combo, visto che non vuoi prendere "l'ascensore" che io chiamo scroll.... Visto tutto quanto, perché nella query non metti where data is not null (non capisco come si possa selezionare un null rispetto ad un altro) un group by (non capisco come si possa determinare la scelta tra 7 o. Più date 12/05/2024) e, visto che ti servono gli ultimi posti, order by data desc.

    Tutto questo con la programmazione vale quanto il due di spade con la briscola a denari in una mano a coppe...

    Qui si parla di logica.

  • Re: Popolare subito completamente una combo basata su una query

    @sihsandrea, grattatina dietro le orecchie per farti fare le fusa come si fa con i gatti? ;-)

    Non serve 'altetarsi': una cosa e' essere "programmatori professionisti" ed usa cosa "programmatore della domenica/che si e' fatto da se".

    E' come confrontare un Bugatti Veyron con una Prinz Verde: tutte e due sono automobili MA non sono esattamente la stessa cosa.

    :-)

  • Re: Popolare subito completamente una combo basata su una query

    11/12/2024 - migliorabile ha scritto:

    ....

    E' come confrontare un Bugatti Veyron con una Prinz Verde: tutte e due sono automobili MA non sono esattamente la stessa cosa.

    :-)

    Per chi ha qualche anno si ricorda bene la "Prinz Verde" da ragazzini era come la peste ;-)

    Ora magari è d'epoca e ricercata più della Bugatti...

Devi accedere o registrarti per scrivere nel forum
15 risposte