Newsgroup: it.comp.appl.access
Titolo: Reset casella riepilogo selezione multipla tramite pulsante di comando

Ciao a tutti
Vorrei fare un pulsante di comando che permetta di cancellare tutti i valori inseriti dall'utente nelle caselle di un form. (un po come il reset dell'html)
Per le singole caselle di testo non c'è problema.
Me!casella = Null o Me!casella = ""
Ma per la casella di riepilogo (selezione multipla e singola), come faccio a far deselezionare le voci selezionate i nero?
c'è per caso la possibilità di fare anche il contrario, cioè di selezionare tutte le voci?
Grazie
-- 
km5000 
------------------------------------------------------------------------
View this thread: 
http://www.itsistemi.net/viewtopic-777878.html
Inviato via 
http://www.itsistemi.net

 km5000
Utilizza la proprietà Tag (vedi help) di ogni controllo che vuoi azzerare, inserendoci una stringa identificativa (es. tagFiltro).
Poi con un ciclo per ogni controllo presente nella maschera, verifichi se  nella proprietà Tag ha la stringa "tagFiltro", verifichi 
con la proprietà ControlType (vedi help) di che tipo si tratta (se casella di testo o checkbox, etc. etc.) e ti regoli di 
conseguenza.
Es.
dim oCtrl as Control
for each oCtrl in Me.Controls
    if oCtrl.Tag = "tagFiltro" then
        select case oCtrl.controltype
            case acTextBox
                oCrtl = Null
            case acCheckBox
                oCtrl = 0
            case acDenti
            case acDerba
            ...
        end select
    end if
next
set oCtrl = nothing
Ciao.
-- 
Sergio MAZZA 

Grazie per il suggerimento. Molto chiaro.
Però ho due problemi
1)
il codice che mi hai passato, (dopo aver nominato tutti i tag) non funziona nonostante mi sembri corretto.
Facendo la prova con una riga statica per azzerare un textbox :
If Me.codice.Tag = "tagFiltro" Then If Me.codice.ControlType = acTextBox Then Me.codice = Null
invece funziona. 
2)
Ho trovato la lista di costanti ma non riesco a trovare la lista per annullare le varie costanti.
Es: 
acComboBox con selezione singola si annulla con Null
acListBox con selezione multipla: ho provato Null, "", Empty, false, 0, ecc ma non riesco a deselezionare le voci
ciao


 Grazie
Le listbox possiedono un insieme Selected che indica, per ciascun loro
elemento, se è selezionato o meno. Ti basta scorrere quell'insieme con un
ciclo e settarne/resettarne il valore.
Vedi l'help <F1> per i dettagli.
Private Sub TUTTI_Click() 'seleziona tutte le righe della listbox
Dim n As Integer
    For n = 0 To Me.Lista.ListCount
        Me.Lista.Selected(n) = -1
    Next
End Sub
Trovi un esempio sul 
www.sitocomune.com
 sez. Forms 3.69.
Ciao.
-Marco-
-- 
namor at inwind punto it
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 km5000
Il codice che ti ho passato a me funziona, e dalla versione '97.
Le constanti non devi annullarle, non è possibile farlo e non è quello che 
ti suggerivo; le costanti servono per identificare il tipo di controllo per 
annullare il contenuto del controllo nel modo giusto: (es.) Null per le 
caselle di testo e 0 per il gruppo di opzioni...
Ciao.
-- 
Sergio MAZZA 

Per il Probl. 1 ho semplicemente dimenticato 
oCtrl 
dopo il next del loop
Ma la proprietą che mi permette di deselezionale le list box non l'ho mica trovata....


 km5000
Se la selezione multipla č "nessuna" o "estesa" puoi fare: me!nomeListBox = 
Null; nell'altro caso non trovo (per ora) soluzione...
Ciao.
-- 
Sergio MAZZA 

Se la selezione multipla è &#8220;nessuna&#8221; o &#8220;estesa&#8221; puoi fare: me!nomeListBox Null; nell'altro caso non trovo (per ora) soluzione&#8230;
Trovi un esempio sul 
www.sitocomune.com
 sez· Forms 3.69
Grazie a tutti  due. la l selezione/deselezione funziona alla perfezione.
Problemi risolti


 namor at inwind punto it
Eureka!
L'ho cercata e non l'avevo trovata...
Ciao.
-- 
Sergio MAZZA