Domanda

È possibile ignorare l'evento di primo update?Ho qualche codice nel mio evento di prima cosa che viene eseguito quando viene effettuato un tentativo di salvare il record, tuttavia sullo stesso modulo ho una sottomatura che richiede all'utente di selezionare un record in quella sottomaschera.Poiché ciò cambia il fuoco del record corrente innesca il mio codice di prima volta, che non voglio che lo faccia.

C'è un modo di aggirare l'evento prima del modulo quando l'utente fa clic su un record nella sottomaschera di un modulo?

È stato utile?

Soluzione

"C'è un modo di aggirare l'evento prima del modulo quando l'utente fa clic su un record nella sottomaschera di un modulo?"

Quando si accende la messa a fuoco su una sottomaschera con un record non salvato nel modulo principale, l'accesso tenterà automaticamente di salvare il record principale del modulo "sporco".

Quel comportamento è incorporato in accesso e non è possibile impedirlo.

Penso che dovresti usare un approccio diverso. Attualmente (in base alla discussione dei commenti) si ha un pulsante di comando per salvare il record principale del modulo. Tuttavia, se determinati controlli contengono nulla, si aborta il salvataggio dal modulo POUPDATE .

Dal mio punto di vista, l'utente non dovrebbe nemmeno essere in grado di fare clic sul pulsante Comando quando uno qualsiasi di quei controlli contiene NULL. (Perché consentire loro di fare clic su un pulsante e quindi informarli l'azione non è valida?) Quindi ti suggerisco di abilitare solo il pulsante di comando quando tutti quei controlli contengono valori non nullo.

Considera un pulsante di comando denominato cmdsave e 3 caselle di testo: txttone , txttwo e txtthree . Creare una procedura, SetButtonAvailability e chiamare quella procedura nell'evento AfterUpdate di tutte le 3 caselle di testo.

Private Sub SetButtonAvailability
    If IsNull(Me.txtOne) Or IsNull(Me.txtTwo) Or IsNull(Me.txtThree) Then
        Me.cmdSave.Enabled = False
    Else
        Me.cmdSave.Enabled = True
    End If
End Sub
.

Anche nell'evento oncurrent del modulo, si eseguirebbe Me.cmdSave.Enabled = False perché non ci sono ancora alcuna modifica per il record corrente da salvare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top