Newsgroup: it.comp.appl.access
Titolo: Come rimuovere Item da ComboBox via codice?

Ciao,
ho diverse combo (basate su una lista di valori) nel progetto db che
sto realizzando e una volta distribuito vorrei che i valori
all'interno delle combo si Incrementassero se viene aggiunto un valore
non nella lista, e dare la possibilità di rimuovere un valore inserito
per sbaglio o in maniera non corretta.
Sono riuscito con una procedura sull'evento Su Non in Elenco della
combo ad aggiungere valori ma non riesco a capire come fare per far
eliminare quelli che risulteranno inutili.
Mi potete aiutare?

 eliminare quelli che risulteranno inutili.
Posta il tuo codice per aggiungere valori.
-- 
cu
Karl
*********
Access FAQ: 
www.donkarl.com/it

 Access FAQ:
www.donkarl.com/it
Grazie Karl.
Ho impostato la proprietà della cboMetals Solo in Elenco a SI
Codice sull'evento Su Non in Elenco della combo cboMetals:
Private Sub cboMetals_NotInList(NewData As String, Response As
Integer)
  'Aggiorna la lista dei valori con input utente.
  On Error GoTo ErrHandler
  Dim bytUpdate As Byte
  bytUpdate = MsgBox("Vuoi Aggiungere " & cboMetals.value & " alla
lista?", vbYesNo, "Valore non nella lista!")
  'Aggiunge l'input dell'utente
  If bytUpdate = vbYes Then
    Response = acDataErrAdded
    cboMetals.AddItem NewData
    'Update RowSource property for versions
    'XP and older.
    'cboMetals.RowSource = _
    ' cboMetals.RowSource _
    ' & ";" & NewData
  'Non aggiunge l'input dell'utente
  ElseIf bytUpdate = vbNo Then
    Response = acDataErrContinue
    cboMetals.Undo
  End If
  Exit Sub
ErrHandler:
  MsgBox Err.Number & ": " & Err.Description, vbOKOnly, "Errore"
End Sub
Come faccio adesso a fare in modo che un item della combobox sia anche
eliminabile dall'operatore?

 eliminabile dall'operatore?
Dipende come vuoi offrirlo all'utente. Una via sarebbe gestire il tasto
<Del> (<Canc> in italiano?) nell'evento "Su tasto gi�" della combo. p.e.
On Error GoTo ErrHandler
Dim bytUpdate As Byte
If KeyCode = vbKeyDelete Then
bytUpdate = MsgBox("Vuoi eliminare " & Me!cboMetals.Text & " dalla lista?", 
_
    vbYesNo, "Buttalo via!")
  If bytUpdate = vbYes Then
    Me!cboMetals.RemoveItem Me!cboMetals.Text
 Else
    KeyCode = 0
  End If
End If
myExit:
Exit Sub
ErrHandler:
    Select Case Err.Number
        Case 6013 'valore non nella lista
            Resume myExit
        Case Else
            MsgBox Err.Number & ": " & Err.Description, vbOKOnly, "Errore"
            Resume myExit
    End Select
-- 
HTH



Non so dove sbaglio.
Ho semplicemente copiato il codice che mi hai postato sull'evento Su
Tasto Giu della combo.
Ma quando mi posiziono con il mouse sulla voce da eliminare, Premo
Canc, mi compare la richiesta se voglio Eliminare, Premo OK, ma non
viene eliminato dalla combo neanche facendo un refresh.
Sai dirmi il motivo?

 Sai dirmi il motivo?
Come non detto Karl, avevo inteso male il funzionamento.
Facevo le prove muovendo il mouse e non da tastiera.
Funziona benissimo!!
Grazie mille ancora

 Grazie mille ancora
Ops, ma riaprendo la form la lista compare come era in origine...!!
Non posso rendere le modifiche definitive?

 Non posso rendere le modifiche definitive?
S�, se usi una tabella e codice come mostrato qui:
www.donkarl.com/it?FAQ4.13
-- 
cu
