Newsgroup: it.comp.appl.access
Titolo: Problemi con aggiornamento combo dopo inserimento nuovo record

Buongiorno a tutti.
In una maschera ho una combo CONTO_CLIENTE da cui dipende, dopo 
aggiornamento, il riempimento di altri campi della stessa maschera.
Private Sub CONTO_CLIENTE_AfterUpdate()
Me.[TERMINI DI PAGAMENTO] = Me.[CONTO CLIENTE].Column(3)
Me.MODALITA__PAGAMENTO = Me.CONTO_CLIENTE.Column(4)
Me.[DESCRIZIONE CONTO] = Me.CONTO_CLIENTE.Column(2)
Me.COD_CLIENTE = Me.CONTO_CLIENTE.Column(1)
End Sub
Il problema nasce quando voglio inserire un nuovo record all'elenco della 
combo.
Ho impostato sulla chiusura della maschera per l'inserimento del nuovo 
record della combo
Private Sub Form_Close()
Forms![NUOVA FATTURA VENDITA]![CONTO CLIENTE] = Me![RAGIONE SOCIALE]
Forms![NUOVA FATTURA VENDITA]![CONTO CLIENTE].Requery
End Sub
ma quando ritorno alla maschera principale, la casella combinata � stata 
regolarmente aggiornata, mentre per far compilare i campi a questa collegata 
devo eseguire io l'aggiornamento con STRUMENTI/RECORD/AGGIORNA.
Avevo letto che bisognerebbe aggiornare anche la maschera principale dopo 
l'inserimento ma non trovo pi� il post che mi sembrava di aver visto sul 
sito DonKarl.
Qualcuno sa aiutarmi?
Grazie infinite
-- 
Giorgia 

 STRUMENTI/RECORD/AGGIORNA. ...
Prova di aggiungere questo alla fine del codice di sopra
Forms![NUOVA FATTURA VENDITA].Recalc
o se non aiuta
Forms![NUOVA FATTURA VENDITA].Refresh
-- 
HTH
Karl
*********
Access FAQ: 
www.donkarl.com/it
 

 End Sub
-- 
Ciao
Pablitomf
----------------------------
http://www.accessgroup.it/
----------------------------
Non mi fido molto delle statistiche, perch� un uomo con la testa nel forno
acceso e i piedi nel congelatore statisticamente ha una temperatura media.
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


Mi spiace ma devo contraddirti.
Invertendo le istruzioni mi compare l'errore : "Prima bisogna salvare il 
record".
Giorgia

 ha scritto nel messaggio 
news:7c0otjF...@mid.individual.net...

Niente Karl, per far funzionare tutto anche con i tuoi suggerimenti devo 
ridigitare il nuovo record perch� anche i campi collegati alla combo si 
popolino....
Giorgia

 combo si popolino....
Non mi meraviglia perch� come al solito non capisco cosa fai.
Per questo ho solo scritto come sostituire la voce del men�
per la quale hai scritto che la cosa funzionerebbe (gi� questo
non ti ho crescuto ;-).
-- 
cu


 ha scritto nel messaggio 
news:7c0vbeF...@mid.individual.net...

bella reputazione che ho....eh eh
dunque
nella maschera NUOVA_FATTURA_VENDITA ho una combo CONTO_CLIENTE che preleva 
i dati dal campo RAGIONE_SOCIALE della maschera ANAGRAFICA CLIENTI
A questa combo sono legati altri campi per l'istruzione indicata nel post 
precedente.
Su non in elenco ho
Private Sub CONTO_CLIENTE_NotInList(NewData As String, Response As Integer)
If MsgBox("INSERIRE NUOVO CLIENTE?", vbYesNo) = vbYes Then
  Response = acDataErrContinue
  DoCmd.OpenForm "ANAGRAFICA CLIENTI", , , , acFormAdd
  Forms![Anagrafica CLIENTI]![RAGIONE SOCIALE] = NewData
Else
  Response = acDataErrContinue
  Me![CONTO CLIENTE].Undo
End If
End Sub
Dopo aver inserito il nuovo cliente per�, chiusa la maschera ANAGRAFICA 
CLIENTI e tornata sulla form NUOVA FATTURA VENDITA, il campo CONTO_CLIENTE 
non si aggiorna automaticamente.
Devo ridigitare almeno le iniziali della nuova ragione sociale affinch� il 
campo CONTO_CLIENTE  e tutti quelli correlati si riempiano.
Non era nel tuo sito che parlavi di come aggiornare una maschera dopo 
l'inserimento di un nuovo record in una combo? non l'ho pi� trovato....
Giorgia

 record".
Mi s� che ero andato troppo avanti... ritorno indietro e chiedo : "ma la
combo � popolata da una query/tabella?" o � un elenco di valori e basta?
presupponendo sia una tabella l'origine dati, credo che se tu non salvi il
record prima (come ti ho detto), difficilmente potrai trovartelo nella
combo presente (perch� non c'� ancora)... 
o forse non ho capito come al solito come fai a fare le cose! :D
il record NUOVO dove lo inserisci? in una form apposita suppongo no?...
bene, � una form collegata alla tabella in cui compili direttamente i
campi, o gli passi i valori da recordset?
nel primo caso, basta all'uscita salvare il record e refreshare la combo
estera (che credo a sto punto risulti ancora aperta in un altra form...
almeno da quel che ho capito)... nel secondo, il record lo salvi da
recordset per cui ti basta solo il refresh della combo...
2 sono le cose, o le domande le poni per bene, o per aiutarti son cavoli
amari! :D


 STRUMENTI/RECORD/AGGIORNA.
Non si capisce cosa ha da fare con il tuo codice.
Invece forse aiuta di eseguire il tuo codice del'evento
"Dopo aggiornamento" della combo che non viene mai lanciato
se si imposta un valore da codice. Prova di cambiare
Private Sub CONTO_CLIENTE_AfterUpdate()
a
Public Sub CONTO_CLIENTE_AfterUpdate()
ed aggiungere
Forms![NUOVA FATTURA VENDITA]![CONTO CLIENTE].AfterUpdate
alla fine del tuo codice OnClose dell'altra maschera.
-- 
HTH



Anche qui hai capito bene, � il primo caso!
Chiudendo la form ([ANAGRAFICA CLIENTI]) non si salva in automatico il 
record?
Cmq in chiusura ho:
Private Sub Form_Close()
Forms![NUOVA FATTURA VENDITA]![CONTO CLIENTE] = Me![RAGIONE SOCIALE]
Forms![NUOVA FATTURA VENDITA]![CONTO CLIENTE].Requery
End Sub
Non � quello che intendi ?
Giorgia

 Non � quello che intendi ?
Quando su chiusura fai il requery, di fatto non hai salvato ancora il
record perch� la chiusura non � stata ancora effetuata (sta eseguendo
prima il tuo codice), di fatto non lo fai su alcun record nuovo inserito
visto che non esiste ancora...
io su chiusura metterei 
Dim x as string
x = Me![RAGIONE SOCIALE]
DoCmd.RunCommand acCmdSaveRecord ' per salvare il record
Forms![NUOVA FATTURA VENDITA]![CONTO CLIENTE].Requery
Forms![NUOVA FATTURA VENDITA]![CONTO CLIENTE] = x
la logica dice questo... poi magari non ho capito cosa fai e quindi ti
suggerisco cose diverse
