Simo
Mi sembra di aver capito che voglia che Access ti chieda se
salvare o meno il record;
se cosi' fosse prova a scrivere questo codice nell'evento
BeforeUpdate della form:
--------------------------------------------------------
Private Sub Form_BeforeUpdate(Cancel As Integer)
Select Case MsgBox("Salvare le modifiche ai dati?", _
vbYesNoCancel + vbQuestion)
Case vbCancel
DoCmd.CancelEvent
Case vbNo
DoCmd.RunCommand acCmdUndo
End Select
End Sub
--------------------------------------------------------
--
Federico
--------------------------------------
Rimuovi paperino. per e-mail
--------------------------------------
Sito Comune di it.comp.database.access
http://members.xoom.com/it_db_access
--------------------------------------
>Mi sembra di aver capito che voglia che Access ti chieda se
>salvare o meno il record;
>se cosi' fosse prova a scrivere questo codice nell'evento
>BeforeUpdate della form:
>--------------------------------------------------------
>Private Sub Form_BeforeUpdate(Cancel As Integer)
> Select Case MsgBox("Salvare le modifiche ai dati?", _
> vbYesNoCancel + vbQuestion)
> Case vbCancel
> DoCmd.CancelEvent
> Case vbNo
> DoCmd.RunCommand acCmdUndo
> End Select
>End Sub
>--------------------------------------------------------
Non proprio.Io voglio che non mi chieda niente nell' evento" chiusura
della maschera" e tanto più che non mi salvi proprio niente.Io voglio
inserire un record,salvarlo,passare a quello successivo e cosi via
fino a che non ho finito .A questo punto chiudo la maschera e lei NON
DEVE FARE NIENTE ( a parte chiudersi))
Il tuo codice forse potrebbe anche andare bene ,purtroppo nel mezzo
dell'inserimenti ho una combo che si aggiorna (vedi risposta del buon
Antonio Biso per i DUPLICATI) per mostrarmi altri valori di scelta e
inserendolo mi fa partire il MSGBox.
Grazie comunque.
Simo
Sinceramente non ho capito cosa vuoi fare, ma non ha
importanza, qualcun'altro capira'! :-)
Non mi pare affatto che sulla chiusura le form salvi il record
in fase di variazione (re lo chiede prima).
>Il tuo codice forse potrebbe anche andare bene ,purtroppo nel mezzo
>dell'inserimenti ho una combo che si aggiorna (vedi risposta del buon
>Antonio Biso per i DUPLICATI) per mostrarmi altri valori di scelta e
>inserendolo mi fa partire il MSGBox.
>Grazie comunque.
>
Andando completamente a memoria potresti fare cosi`:
(1) Dichiara una var nel modulo della scheda Salva as boolean
(2) Metti un bottone "Salva" sul Form, collega l' evento click del bottone
alla func Salvataggio()
-----------------------------
Function Salvataggio()
Salva = true
docmd.save
End Function
-----------------------------
(3) Sull' evento BeforeUpdate della scheda aggiungi
If not Salva then Docmd.CancelEvent
(4) Sull' evento "Corrente" della Scheda: Salva = false
Dovrebbe funzionare, magari lavorandoci un poco su`
x renderlo piu` "user friendly"...
Ste
>Non mi pare affatto che sulla chiusura le form salvi il record
>in fase di variazione (re lo chiede prima).
Sarà perchè la mia maschera è basata su una query di una tabella,
sarà perchè c'è una combo che ne aggiorna un'altra nei vari
inserimenti fatto stà che la chiudo e mi salva un nuovo record.
Non so che dire.
Comunque grazie anche per il codice.
Simo
OOHH raga', Access non chiede proprio nulla, salva il
record e chiude la maschera!!!!
Non ha mai chiesto nulla!!!
In effetti ho provato ed hai ragione, non ci avevo mai fatto caso...
Vabbe`, col tipo di codice suggerito la cosa dovrebbe sistemarsi;
in ogni caso io preferisco cosi`, detesto i programmi col pulsantone
<SALVA> da cliccare ad ogni inserimento !!
Ste
Infatti il codice che ho postato serve proprio a quello, il
problema e' che saro' *tonto*, ma non capito cosa cerca,
visto che dice:
'...Io voglio che non mi chieda niente nell' evento"
chiusura
della maschera" e tanto più che non mi salvi proprio
niente.Io voglio
inserire un record,salvarlo,passare a quello successivo e
cosi via
fino a che non ho finito .A questo punto chiudo la maschera
e lei NON
DEVE FARE NIENTE ( a parte chiudersi))...'
???????
Access, di default, salva il record in modifica sia quando
si passa su un altro record che quando si chiude la
maschera; tutto questo senza chiedere nulla, quindi...
Bho !? Forse mi sono un po` perso nel thread; cmq. col
"trucchetto" del flag comandato da un bottone <salva>
evitera` certamente salvataggi anomali...
Ste
>Infatti il codice che ho postato serve proprio a quello, il
>problema e' che saro' *tonto*, ma non capito cosa cerca,
Niente più che evitare, su chiusura della maschera,
il salvataggio di un record.
>Access, di default, salva il record in modifica sia quando
>si passa su un altro record che quando si chiude la
>maschera; tutto questo senza chiedere nulla, quindi...
Eureka!E' proprio questo il problema!!
Io non voglio che succeda.Come si fa?
Simo
>Eureka!E' proprio questo il problema!!
>Io non voglio che succeda.Come si fa?
Io ho fatto cosi:
SendKeys "{Esc}", True 'annulla gli eventuali settaggi di nuovo
record
Paolo
A meno che....
vediamo se sei bravo...
Antonio
Non posso superare il maestro!
Comunque, a meno di un trabocchetto, non saprei...
Se tu hai la maschera appoggiata ad una tabella che ha dei campi chiave. Se
stai inserendo un nuovo record e non riempi tutti i campi chiave e vai a
chiudere la maschera, si blocca e ti da errore di violazione di chiave e
non salva il record...
Antonio
AH! Anto', ma cosi' non vale...
In questo caso non salva perche' c'e' un errore e quindi si
blocca, non perche' gli viene in mente di chiedertelo!
Quindi l'unico modo rimane sempre intercettare il
BeforeUpdate della form.
Vale vale...
> > > > > OOHH raga', Access non chiede proprio nulla, salva il
> > > > > record e chiude la maschera!!!!
> > > > > Non ha mai chiesto nulla!!!
Chiede chiede...
Antonio
Non ti chiede di salvare il record, ti dice che sei un
cretino e che mancano dei dati importati e che quindi non
pui salvare.
P.S.
Per quanto ancora, vogliamo spumeggiare?
Aspettiamo che arrivi il Bettini?
> > Vale vale...
> >
> > Chiede chiede...
>
> Non ti chiede di salvare il record, ti dice che sei un
> cretino e che mancano dei dati importati e che quindi non
> pui salvare.
>
> P.S.
> Per quanto ancora, vogliamo spumeggiare?
> Aspettiamo che arrivi il Bettini?
Firulì, firulà ...
Antonio
... attenzione a quello la ...
>Antonio Biso wrote:
>> Federico Luciani <fluc...@paperino.tin.it> scritto nell'articolo
>> <36C01B08...@paperino.tin.it>...
>> > Antonio Biso wrote:
>> > > Vale vale...
>> > >
>> > > Chiede chiede...
>> >
>> > Non ti chiede di salvare il record, ti dice che sei un
>> > cretino e che mancano dei dati importati e che quindi non
>> > pui salvare.
>> >
>> > P.S.
>> > Per quanto ancora, vogliamo spumeggiare?
>> > Aspettiamo che arrivi il Bettini?
>>
>> Firulì, firulà ...
>
>... attenzione a quello la ...
Ehhmm,scusate la mia intrusione...Ma non ho capito una mazza!
C'è chi dice che chiede,c'è chi dice che non chiede ma ,non vorrei
turbarvi, il punto non è questo.La mia maschera è composta da vari
controlli nei quali vado ad inserire dei dati, se dopo aver inserito
il primo dato mi gira il "belino" e la chiudo questa mi salva il dato
nella tabella originaria insieme agli altri dati vuoti (stesso
record).Se i controlli sono tutti vuoti invece no.Io vorrei che
salvasse solo quando io clicco su un bottone "salva",perciò ho
stabilito una procedura che se ,per caso, ci fosse un controllo vuoto
mi fa un bel "DoCmd.RunCommand acCmdDeleteRecord".
Non mi sembra molto bello ma funziona.
SIMO
SIMO, guarda che t'ho postato 'sta benedetta soluzione del bottone
"salva" la bellezza di 8 giorni fa su questo stesso thread....
Ste
>
>SIMO, guarda che t'ho postato 'sta benedetta soluzione del bottone
>"salva" la bellezza di 8 giorni fa su questo stesso thread....
>
>Ste
>
Hai ragione!ma con le functions mi incasino ancora un po' e non sono
riuscito a farla "functioNARE".
>(1) Dichiara una var nel modulo della scheda Salva as boolean
dove?
-----Option Compare Database
qui?giusto?
-----Option Explicit
>(2) Metti un bottone "Salva" sul Form, collega l' evento click del bottone
> alla func Salvataggio()
collego, collego ! errore! non mi trova la function
>-----------------------------
>Function Salvataggio()
>Salva = true
>docmd.save
>End Function
qui tutto semplice
>(3) Sull' evento BeforeUpdate della scheda aggiungi
>If not Salva then Docmd.CancelEvent
ok
>(4) Sull' evento "Corrente" della Scheda: Salva = false
come macro o da codice?
Ok.Se avrai la pazienza di delucidarmi
ti ringrazio in anticipo.
SIMO
In genere si mette sotto Option Explicit
>>(2) Metti un bottone "Salva" sul Form, collega l' evento click del bottone
>> alla func Salvataggio()
>collego, collego ! errore! non mi trova la function
Bhe`, hai anche ragione !! :-)
Prima bisogna scrivere la funzione....
>>-----------------------------
>>Function Salvataggio()
>>Salva = true
>>docmd.save
>>End Function
>qui tutto semplice
>>(3) Sull' evento BeforeUpdate della scheda aggiungi
>>If not Salva then Docmd.CancelEvent
>ok
>>(4) Sull' evento "Corrente" della Scheda: Salva = false
>come macro o da codice?
da codice
>Ok.Se avrai la pazienza di delucidarmi
>ti ringrazio in anticipo.
>
Dovresti esserci oramai
Cmq l' importante e` aver afferrato l' idea, sicuramente
dovrai fare qualche aggiustamento al codice in questione...
Bye, Ste