Condividi tramite

conferma modifica record

Anonimo
2010-04-14T21:24:12+00:00

Ciao a tutti, ho un'altra delle mio solite domande :-)

dopo l'inserimento di dati in una maschera vorrei che fosse chiesta conferma prima di salvare il record e per questo motivo ho messo il seguente codice nell'evento prima di aggiornare della mia maschera

Private Sub Form_BeforeUpdate(Cancel As Integer)

If Me.NewRecord Then

If MsgBox("Salvare le modifiche?", vbYesNo, "Salvare?") = vbNo Then

  Me.Undo 

  Cancel = True

End If

End If

End Sub

ma questo funziona esclusivamente se inserisco un nuovo dato e non se modifico un record già esistente. come posso fare affinche mi venga richiesta la conferma anche se modifico un record già esistente?

ho messo If Me.NewRecord Then perchè senza mi chiede se voglio salvare anche semplicemente se sto scorrendo i record semplicemente per visualizzarli quindi anche se di fatto non abbia apportato nessuna modifica e questo è abbastanza noioso.

E' possibile aggirare il problema?

Grazie per l'attenzione

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2010-04-15T08:00:13+00:00

Ciao Luca,

in current dovrebbe rimanere solo questo:

If Me.importo = 0 And uscita4 = 0 Then

Me.chkON.Visible = False

ElseIf Me.uscita3 > 0 Or Me.entrata3 > 0 Then

Me.chkON.Visible = True

End If

If Me!importo.Visible = True Then

Me.PAGA.Visible = True

Me!RISCUOTI.Visible = False

Else

Me.PAGA.Visible = False

Me!RISCUOTI.Visible = True

End If

invece le istruzioni tolte, secondo me andrebbero messe sulla modifica uscita4 di entrata3 e di uscita3, es:

Private Sub Uscita4_AfterUpdate()

If Uscita4= 0 Then

    Me.Entrata2.Value = Uscita4

    Me.Uscita_2.value = Importo

End If

End Sub

Private Sub Uscita3_AfterUpdate()

If Uscita3> 0 Then

    Me.Entrata2.Value = 0

    Me.Uscita_2.value = 0

End If

End Sub

Private Sub Entrata3_AfterUpdate()

If Uscita3> 0 Then

    Me.Entrata2.Value = 0

    Me.Uscita_2.value = 0

End If

End Sub


Cinzia


Sito RIO

Il mio Blog

La risposta è stata utile?

0 commenti Nessun commento

3 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2010-04-15T10:43:59+00:00

    Ciao Cinzia sembra funzionare, grazie

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2010-04-15T07:38:59+00:00

    Buogiorno Cinzia, è proprio come dici tu nell evento current ho queste istuzioni che comunque mi sono indispensabili dove potrei spostarle per saltare il problema? grazie

    If Me.importo = 0 And uscita4 = 0 Then

    Me.chkON.Visible = False

    Me.entrata2.Value = uscita4

    Me.uscita_2.Value = importo

    ElseIf Me.uscita3 > 0 Or Me.entrata3 > 0 Then

    Me.chkON.Visible = True

    Me.entrata2.Value = 0

    Me.uscita_2.Value = 0

    End If

    If Me!importo.Visible = True Then

    Me.PAGA.Visible = True

    Me!RISCUOTI.Visible = False

    Else

    Me.PAGA.Visible = False

    Me!RISCUOTI.Visible = True

    End If

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2010-04-15T07:30:10+00:00

    Ciao Luca,

    giustamente come hai pensato tu,  perchè la domanda ti venga fatta ogni volta che fai una modifcia e non solo sui nuovi record devi eliminare

    IF Me.Newrecord then

    End if

    Se così facendo te lo chiede anche solo se scorri i record senza fare modifiche, significa che probabilmente hai sull'evento Current della maschera una istruzione che assegna un valore a un campo,  quindi dovresti capire qual'è l'istruzione da "modificare/spostare" dall'evento Current


    Cinzia


    Sito RIO

    Il mio Blog

    La risposta è stata utile?

    0 commenti Nessun commento