Newsgroup: it.comp.appl.access
Titolo: Query UPDATE -> HOW TO BLOCK FORM Fino a che la query UPDATE non ha finito?

Ciao a tutti,
sono in un momento quasi di odio vs. access.
Detto questo, ho una maschera, due caselle combo non associate.
La prima mi permette di selezionare un cliente (CBOCLIENTE) e con
evento dopo aggiornamento  in automatico mi imposta l'ultima data di
listino, quindi aggiorna tutti i prodotti dove la versione di listino
è la l' ultima selezionata.
Se l'utente dovesse voler scegliere una data diversa dall'ultima,
seleziona la data voluta nella seconda casella combinata di data
CBODATA. Il problema è che appena riclicco la CBODATA, mi dice che sto
modificando contemporaneamente gli stessi record.
Questa è la macro su evento dopo aggiornamento di CBODATA
Private Sub CBODATA_AfterUpdate()
DoCmd.SetWarnings False
Me!DIST_VERSIONELISTINO = Me!cbodata
'Me!cbodata.Enabled False
Dim newvers As String
newvers = "q_AGG_VersioneListino_sm_sceltalistino"
DoCmd.OpenQuery newvers, acNormal, acEdit
Forms!sm_sceltalistino.Refresh
MsgBox "Data listino aggiornata"
'Me!cbodata.Enabled True
DoCmd.SetWarnings True
End Sub
Come faccio a bloccare la maschera, fino a che la query di UPDATE non
ha finito di lavorare?
Grazie 100000
Samantha


Perchè ho anche provato con
Private Sub CBODATA_AfterUpdate()
DoCmd.SetWarnings False
Me!DIST_VERSIONELISTINO = Me!cbodata
'Me!cbodata.Enabled False
Dim newvers As String
newvers = "q_AGG_VersioneListino_sm_sceltalistino"
DoCmd.OpenQuery newvers, acNormal, acEdit
Forms!sm_sceltalistino.Refresh
MsgBox "Data listino aggiornata"
'Me!cbodata.Enabled True
DoCmd.SetWarnings True
End Sub
dove il refresh della maschera avviene subito dopo ll'avvio della
query, ma proprio in questo caso mi da il problema del "Modifica
contemporanea di record"
Io dovrei trovare un metodo per bloccare la maschera fino a che la
query update non ha finito di lavorare.
Grazie di nuovo,
Samatnha


Scusate,
ma a forza di lavorarci, ho trovato che con il .refresh fa
l'aggiornamento immediato, e il problema di modifica contemporanea era
il codice
me!versionelistino = me!cbodata
praticamente lo obbligavo a lavorare in contemporanea....
questo è il codice aggiornato
Private Sub CBODATA_AfterUpdate()
DoCmd.SetWarnings False
Forms![sm_sceltalistino].Corpo.Visible = False
Dim newvers As String
newvers = "q_AGG_VersioneListino_sm_sceltalistino"
DoCmd.OpenQuery newvers, acNormal, acEdit
Forms!sm_sceltalistino.Refresh 'Obbliga l'aggiornamento immediato
DoCmd.SetWarnings True
Forms![sm_sceltalistino].Corpo.Visible = True
End Sub
spero di averla imparata la lezione ;)
samantha

 ha scritto nel messaggio 
news:1180384898.7...@q66g2000hsg.googlegroups.com...
Scusate,
ma a forza di lavorarci, ho trovato che con il .refresh fa
l'aggiornamento immediato, e il problema di modifica contemporanea era
il codice
me!versionelistino = me!cbodata
praticamente lo obbligavo a lavorare in contemporanea....
questo è il codice aggiornato
Private Sub CBODATA_AfterUpdate()
DoCmd.SetWarnings False
Forms![sm_sceltalistino].Corpo.Visible = False
Dim newvers As String
newvers = "q_AGG_VersioneListino_sm_sceltalistino"
DoCmd.OpenQuery newvers, acNormal, acEdit
Forms!sm_sceltalistino.Refresh 'Obbliga l'aggiornamento immediato
DoCmd.SetWarnings True
Forms![sm_sceltalistino].Corpo.Visible = True
End Sub
spero di averla imparata la lezione ;)
samantha
[risposta]
(variante)
Private Sub CBODATA_AfterUpdate()
Forms![sm_sceltalistino].Corpo.Visible = False
CurrentDb.Execute "q_AGG_VersioneListino_sm_sceltalistino"
Forms!sm_sceltalistino.Refresh 'Obbliga l'aggiornamento immediato
Forms![sm_sceltalistino].Corpo.Visible = True
End Sub
L'OpenQuery in modalità Edit? Se è una query di comando (come presumo visto 
che dopo fai un refresh di una form) non c'è bisogno di aprirla con il 
metodo OpenQuery; dovresti poi richiuderla con il metodo Close 
acQuery,"q_AGG_VersioneListino_sm_sceltalistino".
Con il Metodo Execute non hai neanche bisogno di disabilitare i messaggi di 
conferma...
Ciao.
-- 
Sergio MAZZA 

Sergio MAZZA ha scritto:

metodo execute ora provo
grazie
samantha