2017-10-12 5 views
0

J'ai un formulaire qui affiche un enregistrement (environ 40 champs). J'ai un bouton pour dupliquer l'enregistrement dans les cas où un léger changement est nécessaire (c'est-à-dire que le A541AB devient A541AC). J'ai vu quelques exemples de solutions sur les interwebs mais je ne pouvais pas trouver celui qui fonctionne pour cette action de l'interface utilisateur. Est-il possible de créer une boîte de confirmation demandant s'ils sont sûrs qu'ils veulent dupliquer l'enregistrement? Actuellement, le bouton est conçu en utilisant une macro car je ne suis pas très bon avec Access VBA.Puis-je ajouter une confirmation d'action de l'interface utilisateur?

Répondre

0

Vous devez effectuer cette opération dans VBA en définissant un indicateur pour gérer la mise à jour automatique. En cliquant sur le bouton demander à l'utilisateur et enregistrer si la réponse est Oui.

'Set a flag for manual update 
Private mIsUserUpdate As Boolean 'Flag 

'Cancel auto-update 
Private Sub Form_BeforeUpdate(Cancel As Integer) 
    If Not mIsUserUpdate Then Cancel = True 
End Sub 

'Save Button - Change 'YourButtonName' 
Private Sub YourButtonName_Click() 
    If MsgBox("Are you sure you want to duplicate the record?", vbYesNo + vbQuestion, "Confirm") = vbYes Then 
     mIsUserUpdate = True 'flag ON 
     DoCmd.RunCommand acCmdSaveRecord 
    End If 
    mIsUserUpdate = False 'flag OFF again 
End Sub 
+0

Je pouvais utiliser votre code sans la partie 'Annuler la mise à jour automatique'. En utilisant cela, j'ai désactivé ma capacité à enregistrer sur des enregistrements. Merci encore pour votre aide. – Lando