Newsgroup: it.comp.appl.access
Titolo: Per Roberto (Portatile) vecchio post (20/6/2001) Combo

Ciao Roberto,
rileggendo piacevolmente dal sito comune alcuni argomenti trattati in
passato, ho trovato un tuo post che faceva così:
Se la casella combinata si chiama Miacombo:
1) creati una maschera (Maschera1) che ha come origine record la tabella che
è (direttamente o indirettamente) origine riga della casella combinata.
2) a fronte dell'evento "Su non in elenco" della casella combinata genera il
seguente codice VBA:
DoCmd.OpenForm "Maschera1", , , , acFormAdd, acDialog, "GotoNew"
Me![Miacombo].Requery
Response = acDataErrContinue
3) a fronte dell'evento "Su doppio clic" della casella combinata genera il
seguente codice VBA:
DoCmd.OpenForm "Maschera1", , , , acFormAdd, acDialog, "GotoNew"
Me![Miacombo].Requery
A questo punto, se digiti qualcosa in Miacombo che non è previsto nel suo
elenco a discesa o se fai doppio clic sulla casella combinata, ti si apre la
maschera (Maschera1) per l'inserimanto di un nuovo record in tabella; digita
i dati del nuovo record e chiudi Maschera1; da quel momento nell'elenco
della casella combinata vedrai anche il nuovo record.
---------------------------------------------------------------------------------------
Non riesco a far funzionare la cosa come vorrei, mi spiego meglio, se dalla
maschera clicco due volte sulla combo ed inserisco un valore nuovo, la
procedura funziona, il problema si verifica quando inserisco nella combo una
data nel mio caso che non è presente, mi si apre la maschera per inserire il
valore nuovo, la chiudo e..... "Errore di Runtime 2118" "E' necessario
salvare il campo corrente prima di eseguire l'azione RieseguiQuery".
A questo punto dando ok, ai vari msg di errore, spostandomi su un altro
campo, e poi di nuovo sulla mia combo, trovo il valore nuovo inserito
precedentemente....
Quale potrebbe essere la causa? ...e soprattutto la soluzione :)))
Grazie Anna!
--------------------------------
Inviato via 
http://usenet.libero.it

 ha scritto nel messaggio
news:212Z171Z19Z81Y1...@usenet.libero.it...

Cara Anna,
stai chiedendo alla mia memoria uno sforzo cui non è avvezza per ricordare
il contesto del thread dal quale hai estrapolato questo mio messaggio. ;-)
Beh, se il messaggio non ha avuto un seguito ed è tutto lì, Access ha
ragione a dare errore in quanto no può essere effettuato il requery di una
casella combinata se prima non si salva il suo contenuto.
Se la maschera che contiene la casella combinata si chiama
MascheraPrincipale.
Se il controllo di Maschera1 che contiene la chiave primaria si chiama ID.
A fronte dell'evento "Su chiusura" della maschera Maschera1 prova  generare
il seguente codice VBA:
Forms!MascheraPricipale!MiaCombo = Me!ID
Resta il fatto che non posso lasciarti senza una soluzione certa, pertanto
ti sottopongo una mia soluzione più recente che ho pubblicato sul Sito
Comune.
Vai sul Sito Comune e nella Sezione Forms leggi la FAQ intitolata "Si può
aggiungere un record alla tabella che è origine riga di una casella
combinata senza usare una maschera?".
Questa soluzione ha il vantaggio di essere automatica e non necessita che ti
crei una maschera per aggiornare la tabella che è origine record della
casella combinata.
Come è evidenziato nella FAQ la routine VBA in essa contenuta fa riferimento
alla libreria Microsoft DAO; se pertanto tu usi una versione di Access
seguente ad Access 97, è necessario che aggiungi al tuo database i
riferimenti a tale libreria, avendo l'accortezza di posizionarli, nella
lista dei riferimenti, prima dei riferimenti alla libreria Microsoft ADO.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 valore nuovo, la chiudo e..... "Errore di Runtime 2118" "E' necessario
e' una "bischerata" di access
Me!miacombo = Me!Miacombo 
sul/sugli eventi e dovrebbe funzionare
Sul NG non e' il caso di "personalizzare" il subjec (o oggetto che dir
si voglia)
--
a.cara 
Togli qualcosa dall'email

il contesto del thread dal quale hai estrapolato questo mio messaggio. ;-)
Cioè : non mi ricordo di cosa stai parlando, ma che c'avete tutti
oggi.
Uhe Robè , che fai , vai a scuola da Maurì.  :-)))
Giuro che se andate avanti così ricomincio: post stupidi ogni 5
minuti.
Lo sapete che non ho paura di usare la tastiera : non mi fate
arrabbiare .... (" Per carità" .... ? ... " Passavo di qua" ... fila
Amanda ...).
E' un avvertimento : non c'è ne sarà un altro.  :-)))))
p.s. scherzo , con quello che mi costa internet ... e poi c'ho da fare
cose serie io ..... mica c'ho tempo da perdere io .... ehm .... vabbè.
Ciao. Fabrizio.
(Access XP (sp2), Win ME, P4 1Ghz, 320 RAM)

 Roberto
Accidenti, mi sono preoccupata di leggere tutti i post vecchi inerenti
l'argomento dal sito comune, mentre mi è proprio sfuggito il tuo
articolo.... che fa proprio al caso mio....
Per quanto riguarda le librerie, io uso A02 e non ho dovuto installare
nulla, come mai? e soprattutto se dovessi usare il mio db su un altro pc
sprovvisto di queste librerie, dove materialmente le prendo e come
esattamente le installo?
GRazie Anna!



In effetti la sintassi non era corretta, ora devo solo pensare quale dei due
metodi utilizzare.
GRazie Anna!


 GRazie Anna!
