Newsgroup: it.comp.appl.access
Titolo: listbox: evitare la selezione della terza riga...

Il seguente codice dovrebbe controllare la visibilità di due pulsanti (che
poi dovrebbero fare altre cose..)
Come faccio ad evitare di selezionare la terza riga?
Private Sub ElencoRicoverati_Click() 'controlla la visibilità dei pulsanti
Ricovero e Spostamenti
If Me.ElencoRicoverati.ItemsSelected.Count = 0 Then' i pulsanti sono
invisibili
        Me.CmdRicovero.Visible = False
        Me.CmdScambiaPL.Visible = False
ElseIf Me.ElencoRicoverati.ItemsSelected.Count = 1 Then 'è visibile solo il
ricovero
        Me.CmdRicovero.Visible = True
        Me.CmdScambiaPL.Visible = False
ElseIf Me.ElencoRicoverati.ItemsSelected.Count = 2 Then 'è possibile
scambiare i posti letto...
        Me.CmdRicovero.Visible = False
        Me.CmdScambiaPL.Visible = True
End If
End Sub
Grazie....
Bc

 ha scritto nel messaggio
news:4561aa6f$0$21801$5fc...@news.tiscali.it...

Non è chiaro. Cosa dovrebbe accadere se
    Me.ElencoRicoverati.ItemsSelected.Count > 2 ?
In ogni caso, usando la "If" hai sempre un caso "Else" che tien conto di
tutti i casi diversi da quelli che hai previsto. E poi, hai provato una
Select Case invece della If?
Ciao.
eSQueL


La questione però è: come evitare di selezionare il terzo paziente, o in
alternativa (già postato senza grande successo) come deselezionare da vb una
riga di una listbox..
Grazie per l'attenzione
BC


Scusa, ma torno al tuo primo post dove chiedi: "Il seguente codice dovrebbe 
controllare la visibilità di due pulsanti (che poi dovrebbero fare altre 
cose..) Come faccio ad evitare di selezionare la terza riga?"
E, riportando il frammento di codice che hai postato, non risolvi 
modificandolo così?
If Me.ElencoRicoverati.ItemsSelected.Count = 1 Then 'è visibile solo il
ricovero
        Me.CmdRicovero.Visible = True
        Me.CmdScambiaPL.Visible = False
ElseIf Me.ElencoRicoverati.ItemsSelected.Count = 2 Then 'è possibile
scambiare i posti letto...
        Me.CmdRicovero.Visible = False
        Me.CmdScambiaPL.Visible = True
Else
        Me.CmdRicovero.Enabled = False
        Me.CmdScambiaPL.Enabled = False
End If
End Sub
Ciao.
eSQueL

>
    Dim a As Long
    a = Me.ElencoRicoverati.ListIndex
    If Me.ElencoRicoverati.ItemsSelected.Count > 2 Then
        Me.ElencoRicoverati.Selected(a) = False
    End If
Ciao.
eSQuel 

 ha scritto nel messaggio 
news:4562ceb9$0$13764$4faf...@reader3.news.tin.it...

Ah ... funziona sull'evento Click della ListBox :)
Ciao 

inserito così non funziona...
Probabilmente ho sbagliato qualcosa
Scusa la lungaggine.. e grazie ancora.
BC
"Private Sub ElencoRicoverati_Click() 'controlla la visibilità dei pulsanti
Ricovero e Spostamenti
Dim a As Long
    a = Me.ElencoRicoverati.ListIndex
If Me.ElencoRicoverati.ItemsSelected.Count = 1 Then 'è visibile solo il
Ricovero
        Me.CmdRicovero.Visible = True
        Me.CmdScambiaPL.Visible = False
ElseIf Me.ElencoRicoverati.ItemsSelected.Count = 2 Then 'è possibile
scambiare i posti letto...
        Me.CmdRicovero.Visible = False
        Me.CmdScambiaPL.Visible = True
ElseIf Me.ElencoRicoverati.ItemsSelected.Count > 2 Then
        Me.ElencoRicoverati.Selected(a) = False
End If
End Sub

 ha scritto nel messaggio 
news:4562d077$0$21811$5fc...@news.tiscali.it...

Beh, l'ultimo frammento non permette mai ItemsSelected.Count > 2 :) perciò 
puoi metterla così
Private Sub ElencoRicoverati_Click()
    Dim a As Long
    a = Me.ElencoRicoverati.ListIndex
    If Me.ElencoRicoverati.ItemsSelected.Count = 1 Then
        Me.CmdRicovero.Visible = True
        Me.CmdScambiaPL.Visible = False
    ElseIf Me.ElencoRicoverati.ItemsSelected.Count = 2 Then
        Me.CmdRicovero.Visible = False
        Me.CmdScambiaPL.Visible = True
    ElseIf Me.ElencoRicoverati.ItemsSelected.Count > 2 Then
        Me.ElencoRicoverati.Selected(a) = False
        Me.CmdRicovero.Visible = False
        Me.CmdScambiaPL.Visible = True
    ElseIf Me.ElencoRicoverati.ItemsSelected.Count = 0 Then
        Me.ElencoRicoverati.Selected(a) = False
        Me.CmdRicovero.Visible = False
        Me.CmdScambiaPL.Visible = False
    End If
End Sub

Private Sub ElencoRicoverati_Click() 'controlla la visibilità dei pulsanti
Ricovero e Spostamenti
If Me.ElencoRicoverati.ItemsSelected.Count = 1 Then 'è visibile solo il
Ricovero
        Me.CmdRicovero.Visible = True
        Me.CmdScambiaPL.Visible = False
ElseIf Me.ElencoRicoverati.ItemsSelected.Count = 2 Then 'è possibile
scambiare i posti letto...
        Me.CmdRicovero.Visible = False
        Me.CmdScambiaPL.Visible = True
Else
        Me.CmdRicovero.Visible = False
        Me.CmdScambiaPL.Visible = False
End If
 Dim a As Long
   a = Me.ElencoRicoverati.ListIndex
    If Me.ElencoRicoverati.ItemsSelected.Count > 2 Then
        Me.ElencoRicoverati.Selected(a) = False
   End If
End Sub
così non funziona...
grazie
BC

Lo so, ti sto distruggendo la mattina e non solo..
...non funziona...
BC


Strano a me funziona. Forse non proprio capito cosa vuoi fare. In ogni caso, 
(imho) preferirei una Select e, al posto della proprietą .Visible dei 
pulsanti, userei .Enabled. Far scomparire i pulsanti non mi piace :) ... a 
meno che un intero gruppo di controlli non sia sostituito da un altro.
Ciao.
eSQueL 

Se vuoi (e se hai coraggio..) ti posto il prg che però è ancora agli
albori...
Ciao e grazie ancora
BC
a proposito come si deselezionano le righe di una listbox da prg?

 ha scritto nel messaggio 
news:4562ddbd$0$21819$5fc...@news.tiscali.it...

mmm ... mi sembra di avertelo già detto
        Me.Elenco.Selected(a) = False
dove "a" è l'item della riga che vuoi deselzionare :)))) ... amico mio .... 
eheheh ... nono, non postare. Saggio è l'uomo che s'accontenta dei guai che 
già ha :P
Ciao.
eSQueL 

Saggia decisione
Grazie ancora
Bc