Pulire i campi di una maschera Access

Anonimo
2015-03-13T08:55:44+00:00

Ciao a tutti,

ho un piccolo problema con una maschera Access, con RecordSource su una tabella in cui ho messo alcuni campi "richiesto=sì". Per motivi di praticità, dopo l'inserimento di un record lascio preimpostati alcuni campi (data, cliente, operatore); quando tento di chiudere la maschera, ottengo il messaggio - generato automaticamente da Access - di "inserire l'operazione" (definito "richiesto sì" a livello di Tabella). Come posso evitare questo problema, pulendo ad esempio tutti i campi della maschera e poi chiudendola?

Nb: se premo il tasto "Esc", la maschera si pulisce e poi si può chiudere tranquillamente - come posso fare la stessa cosa via VBA?.

Grazie e buona giornata

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
2015-03-13T09:57:08+00:00

Ciao Ivo53,

penso che il problema dipenda da come lasci "preimpostati" quei campi.

Se assegni loro un valore allora sei già in immissione di un nuovo record e devi o concludere o rinunciare.

Ecco perché con ESC riesci a chiudere.

Siccome però in effetti tu non vuoi iniziare l'immissione di un nuovo record potresti seguire una strada diversa e assegnare quei valori invece che alla proprietà Value del controllo a quella DefaultValue.

Per esempio così:

Private Sub Form_Current()

    If Me.NewRecord Then

      Me.txtTesto.DefaultValue = _

          "=" & Chr$(34) & "Immetti un testo." & Chr$(34)

    End If

End Sub

La risposta è stata utile?

0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2015-03-13T18:16:33+00:00

    Ciao Ivo53, Sandro e Mimmo.

    Grazie a te, Ivo53, per il cortese riscontro.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2015-03-13T11:30:51+00:00

    Grazie a tutti per le risposte che mi avete dato. Sotto diversi aspetti, sono tutte utili.

    Buon fine settimana

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2015-03-13T09:23:08+00:00

    ciao Ivo,

    se invece di imporre il vincolo sulla tabella, gestisci l'evento unload della form in questo modo :

    Private Sub Form_Unload(Cancel As Integer)

    If IsNull(Me.datad) Then

        MsgBox "errore", vbCritical

        Cancel = True

    End If

    End Sub

    ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2015-03-13T09:17:59+00:00

    Ciao Ivo,

    prima di chiudere la maschera prova ad inserire un Me.Undo.

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento