Mettere il segno di spunta in automatico ad un campo di Tipo SI/NO.

Anonimo
2020-01-17T12:48:25+00:00

Buon pomeriggio a tutti.

Con il seguente codice vorrei poter mettere il segno di spunta in automatico ad un campo ( chiamato Conferma) di tipo SI/NO quando non è Flaggato, ma questo non accade ( cioè vorrei apparisse come quando ci fai click sopra)

Come devo modificare il codice per fare ciò.

Private Sub Conferma_AfterUpdate()

If Me.Conferma = False Then

   If MsgBox("FLAG OBBLIGATORIO PER AGGIORNAMENTO MAGAZZINO" & Chr(13) & _

      Chr(13) & "Vuoi Procedere?" & Chr(13) & "Si: Per confermare e aggiornare il magazzino" & Chr(13) & _

      Chr(13) & "NO: Per uscire e non Aggiornare", vbInformation + vbDefaultButton2 + vbYesNo) = vbNo Then

Me.Undo

Cancel = True

    End If

 Else

Me.Conferma = True

Me.AllowAdditions = False

End If

End Sub

Grazie per l'aiuto che vorrete darmi.

Ciao Nicola.

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
2020-01-17T14:08:46+00:00

ciao Nicola,

urca, hai ragione, sorry....prova come segue :

Option Compare Database

Option Explicit

Private Sub Form_BeforeUpdate(Cancel As Integer)

With Me

    If Not .conferma Then

        If VBA.MsgBox("FLAG OBBLIGATORIO PER AGGIORNAMENTO MAGAZZINO" & Chr(13) & _

                    Chr(13) & "Vuoi Procedere?" & Chr(13) & "Si: Per confermare e aggiornare il magazzino" & Chr(13) & _

                    Chr(13) & "NO: Per uscire e non Aggiornare", vbInformation + vbDefaultButton2 + vbYesNo) = vbNo Then

                    .Undo

                    Cancel = True

        End If

    Else

        .AllowAdditions = False

    End If

.conferma = True

End With

End Sub

ciao, Sandro.

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

11 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2020-01-28T13:33:21+00:00

    Sandro, hai ragione ora funziona benissimo.

    Non ci sarei riuscito da solo.

    Grazie mille per l'ennesimo aiuto.

    Ciao Nicola.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2020-01-28T13:27:21+00:00

    ciao Nicola,

    l'evento indicato in precedenza e' il before update e non after update.

    Infatti hai dovuto commentare l'attribuzione a true del parametro cancel in quanto non contemplato nell'evento after update.

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2020-01-28T13:14:00+00:00

    Ciao Sandro, all'interno della sottomaschera come tu mi hai consigliato ho ( solo) il seguente codice.

    Private Sub Form_AfterUpdate()

    With Me

         If Len(.Quantità & vbNullString) = 0 Or Len(.Stato & vbNullString) = 0 Then

             VBA.MsgBox Prompt:="Campi: Quantità o Stato non compilati...!", _

                        Buttons:=vbCritical + vbOKOnly, _

                        title:="Verica bene....!"

            Exit Sub

         End If

    End With

    With Me

         If Not .Conferma Then

             If VBA.MsgBox("FLAG OBBLIGATORIO PER AGGIORNAMENTO MAGAZZINO" & Chr(13) & _

                         Chr(13) & "Vuoi Procedere?" & Chr(13) & "Si: Per confermare e aggiornare il magazzino" & Chr(13) & _

                         Chr(13) & "NO: Per uscire e non Aggiornare", vbInformation + vbDefaultButton2 + vbYesNo) = vbNo Then

                         .Undo

                         'Cancel = True

            End If

         Else

             '.AllowAdditions = False

         End If

        .Conferma = True

     End With

    End Sub

    Ciao Nicola

    La risposta è stata utile?

    0 commenti Nessun commento