Newsgroup: it.comp.appl.access
Titolo: cancellare update su maschera

ciao a tutti!!
ho la necessita' di cancellare un insert controllato da una maschera se un
controllo di questa maschera contiene un valore nullo
dopo vari tentativi ho scritto questo codice:
Private Sub Form_BeforeUpdate(Cancel As Integer)
If IsNull(TxtScadenza) = True Then
    MsgBox "Inserire una data di scadenza per la chiamata"
    Cancel = True
    Me.Recordset.CancelUpdate
End If
If Ccbtipo = 0 Then
    MsgBox "Inserire un tipo servizio per la chiamata"
    Cancel = True
    Me.Recordset.CancelUpdate
End If
pero' mi restituisce l'errore:"metodo update o cancelupdate senza addnew o
edit"
scusate l'ignoranza in merito.....non sono proprio un espertona!!!!
avete qualche suggerimento a riguardo????
grazie e buon lavoro
--------------------------------
Inviato via 
http://usenet.libero.it

 ha scritto nel messaggio
news:212Z171Z11Z22Y1...@usenet.libero.it...

Togli le due righe:
Me.Recordset.CancelUpdate
prova con:
Private Sub Form_BeforeUpdate(Cancel As Integer)
If IsNull(TxtScadenza) = True Then
    MsgBox "Inserire una data di scadenza per la chiamata"
    Cancel = True
    Me!TxtScadenza.SetFocus
    Exit Sub
End If
If Ccbtipo = 0 Then
    MsgBox "Inserire un tipo servizio per la chiamata"
    Cancel = True
    Me!Ccbtipo.SetFocus
    Exit Sub
End If
End Sub
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 > controllo di questa maschera contiene un valore nullo


 come posso fare a toglierlo??
Vai Antonio č tutto tuo
ps com' era vienna?

 come posso fare a toglierlo??
Questo messaggio te lo dà nel caso tu chiuda la maschera senza digitare
qualcosa nel controllo TxtScadenza e/o Ccbtipo malgrado il messaggio di
avvertimento e l'aver spostato il fuoco su uno dei due controlli non
digitati; se vuoi comunque chiudere la maschera senza digitare qualcosa nei
due controlli incriminati (naturalmente senza registrare il record corrente)
e non vuoi far comparire il messaggio di errore di Access, prima di pigiare
il tasto di chiusura della maschera, pigia il tasto Esc della tastiera.
Per proteggerti di più dalla comparsa  del messaggio di errore di Access di
cui sopra, puoi impostare a No la proprietà Pulsante chiusura della
maschera; per chiudere la maschera usa un tuo pulsante di comando; a fronte
dell'evento "Su clic" di tale pulsante di comando genera il seguente codice
VBA:
If Me.Dirty Then
    If IsNull(TxtScadenza) = True Then
        MsgBox "Inserire una data di scadenza per la chiamata"
        Me!TxtScadenza.SetFocus
        Exit Sub
    End If
    If Ccbtipo = 0 Then
        MsgBox "Inserire un tipo servizio per la chiamata"
        Me!Ccbtipo.SetFocus
        Exit Sub
    End If
End If
DoCmd.Close
Così facendo non riuscirai a chiudere la maschera se non digiti qualcosa nei
due controlli o se prima non pigi il tasto Esc, ma il messaggio di errore
non ti comparirà più
[CUT]


 dopo vari tentativi ho scritto questo codice:
Ho appena fatto una cosa identica:
Private Sub Form_BeforeUpdate(Cancel As Integer)
'Controllo Coerenza Campi
If IsNull(cboIdCliente) Then
    MsgBox ("Inserire l'id Cliente")
    cboIdCliente.SetFocus
    GoTo FineControlli
    End If
If IsNull(txtNumeroFattura) Then
    MsgBox ("Inserire il numero Fattura")
    txtNumeroFattura.SetFocus
    GoTo FineControlli
    End If
If IsNull(cboMotivoAra) Then
    MsgBox ("Inserire il motivo dell'ARA")
    cboMotivoAra.SetFocus
    GoTo FineControlli
    End If
Exit Sub
FineControlli:
DoCmd.CancelEvent
End Sub
Ciao
Fammi sapere
AleX
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:a87b28555c8f31adac7...@mygate.mailgate.org...

Se viene chiusa la maschera senza digitare qualcosa  in ognuno di quei
controlli, penso che Access ti dia la segnalazione di errore di cui si
lamenta kika.


grazie a tutti x le risposte!!!!
ora provo il codice che mi avete scritto e vi faccio sapere
grazie ancora
