Newsgroup: it.comp.appl.access
Titolo: Form, Subform, Combobox

Salve a tutti...........vediamo se riesco a spiegare il mio problemuccio 
(che mi stà facendo impazzire da parecchio......@!#§$)
Ho una form singola di inserimento dati con all'interno una subform legata 
alla form tramite il campo "Toll" e in questa subform ho una combo 
(associata) che è sincronizzata al campo "Toll".....e fin qui tutto 
funziona.
A questa combo all' evento "su non in elenco" ho inserito il seguente 
codice:
Dim strsql As String, X As Integer
X = MsgBox("VUOI AGGIUNGERE QUESTO VALORE ALLA LISTA?", vbYesNo)
If X = vbYes Then
    strsql = "Insert Into TTollValori([Toll]) values ('" & NewData & "')"
    'MsgBox strsql
    CurrentDb.Execute strsql, dbFailOnError
    Response = acDataErrAdded
Else
    Response = acDataErrContinue
End If
che mi dovrebbe permette di inserire anche dei valori non compresi 
nell'elenco (l'evento "solo in elenco" è impostato a "SI").
Come posso fare affinchè, una volta inserito un nuovo valore nella combo, 
automaticamente nella tabella TTollValori (che è origine dati della 
combo), mi si inserisca non solo il valore digitato ma anche, 
automaticamente, la descrizione (testo) del campo "Toll"?
n.b.: sull'evento "su attivato" ho inserito anche:
Me!Casellacomb.Requery
E' fattibile?
Non sono esperto di VBA......abbiate pazienza........grazie........ciao

 ha scritto nel messaggio 
news:drqgm4$882$1...@balena.cs.interbusiness.it...






[risposta]
Sì è fattibile:
aggiungi al codice dopo CurrentDb.Execute strsql, dbFailOnError
Me!Casellacomb.Requery
Me!Casellacomb = NewData
e qui esegui lo stesso codice che eseguivi su click della combo:
call Casellacomb_Click
Ciao, Carlo

grazie un milione per l'aiuto.
Però non riesco a capire cosa intendi per "e qui esegui lo stesso codice 
che eseguivi su click della combo: call casellacomb_Click"
Ho provato comunque ad applicare il resto del tuo consiglio ma quando 
tento di inserire nella combo un nuovo valore mi dà il messaggio: "il 
testo immesso non corrisponde ad una voce dell'elenco" anche se, dopo OK e 
aver dato l'invio, il dato lo accetta (nella tabella TTollValori compare 
il nuovo dato inserito senza però la descrizione del campo "Toll").
Mi puoi aiutare ancora?
rigrazie...........ciao.

 ha scritto nel messaggio 
news:drt2n4$1mn$1...@balena.cs.interbusiness.it...

La sub va così corretta:
strsql = "Insert Into TTollValori([Toll]) values ('" & NewData & "')"
    Response = acDataErrAdded
    CurrentDb.Execute strsql, dbFailOnError
    Me.NomeDellaTuaCombo = NewData
    '....ecc
Questo ti permette di aggiungere il solo valore digitato. Se alla tabella 
devi aggiungere anche il valore di un altro campo (p.e. Descrizione) allora 
le cose cambiano.
Per esempio potresti scrivere:
"Insert Into TTollValori " & "(Toll, NomeTuoCampoDescrizione) values  " & 
"('" & NewData & "', '" & InputBox("Digita la descrizione", "Descrizione") & 
"');"
Fammi sapere.
Ciao, Carlo

FUNZIONA  A MERAVIGLIA!!!!!!
Però ho un'ultima richiesta in merito (quasi mi vergogno): se volessi 
evitare la InputBox?
Visto che il campo "descrizione" è quello che collega la subform (che 
contiene la mia combo) alla form principale e pertanto è un valore già 
inserito prima.
Si può fare? Sarebbe la ciliegina sulla torta
Ti ringrazio infinitamente......ciao

 ha scritto nel messaggio 
news:drtjom$npn$1...@carabinieri.cs.interbusiness.it...

E sù! Un po' puoi fare da solo, non è difficile; cerca di apprendere la 
sintassi...
Leggiti bene la struttura  e sostituisci l'imputbox con il valore del 
controllo che hai già oppure presenta l'imputbox con il valore predefinito 
del tuo controllo.
"Insert Into TTollValori " & "(Toll, NomeTuoCampoDescrizione) values  " &
"('" & NewData & "', '" & InputBox("Digita la descrizione", "Descrizione", 
Me.NomeControlloDescrizione) &
"');"
Ciao, Carlo