Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361

    Difetto combo e list (VB6)

    Ciao a tutti,
    Ho un grande problema:
    Spesso, nel fare le query, utilizzo delle combo per dare delle condizioni, e al click della combo faccio eseguire la query con l'aggiunta della condizione...
    Solitamente prevedo anche un pulsante che mi esegua la query senza condizioni, che mostri tutti i dati senza "scremature".
    Per coerenza, setto il listindex delle combo a -1 e rimetto il testo iniziale, e lo stesso anche con le text...
    Facendo in questo modo , ovvero modificando il listindex, vb mi esegue il click, che rimanda alla procedura che esegue e visualizza la query.
    Nel caso di tante combo e text, la stessa query viene eseguita n volte quante sono le combo e le text "ripulite", a discapito della prestazione.
    Non c'è un modo per bloccare l'evento click per le combo, e l'evento change per le text, quando le "manovro" da codice????

    un esempio per rendere + chiara la mia domanda

    codice:
    Private sub combo1.click ()
    caricaquery
    end sub
    
    private sub text1.change ()
    caricaquery
    end sub
    
    private sub bottone_x_vedere_tutto.click ()
    combo1.listindex= -1 'mi genera combo1.click..
    combo1.text = "seleziona..."
    text1.text = "" 'mi genera text1.change
    caricaquery
    end sub
    
    private sub caricaquery ()
    apri la tabella
    scrivi la query con controlli sulle condizioni
    visualizza
    end sub
    Spero propio che qualcuno sappia aiutarmi...
    GRazie ciao

  2. #2
    Usa una variabile boolean:
    Private lock As Boolean

    codice:
    Private sub combo1.click ()
       If Not lock Then caricaquery
    end sub
    
    private sub text1.change ()
       If Not lock Then caricaquery
    end sub
    
    private sub bottone_x_vedere_tutto.click ()
       lock = True
       combo1.listindex= -1 'mi genera combo1.click..
       combo1.text = "seleziona..."
       text1.text = "" 'mi genera text1.change
       caricaquery
       lock = False
    end sub
    
    private sub caricaquery ()
       apri la tabella
       scrivi la query con controlli sulle condizioni
       visualizza
    end sub
    Chi non cerca trova.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361
    ho provato come suggerivi, ma vb non conosce il lock.
    In effetti non capisco nemmeno io cosa dovrebbe fare in quel modo.

    Altri suggerimenti???

  4. #4
    ma leggi o fai copia incolla?
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361
    ok, mi sono fermato alla prima riga...sperando che lock dipendesse in qualche modo al fatto che le procedure venivano richiamate dal codice e non da un vero click, non lo vedevo come variabile.

    Ma oltre ad usare una variabile per controllare, non è possibile riconoscere o distinguere un click (o qualsiasi altro evento) generato da modifiche interne a quello fatto da un utente????

  6. #6
    no perche l'evento click viene generato solo quando si va a cambiare la prop listindex
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.