Question

Je travaille pour un fabricant d’armoires personnalisées et nous établissons notre propre programme de tarification pour notre produit. J'ai un formulaire qui a une boîte de dialogue qui permet à l'utilisateur de sélectionner le côté de la charnière pour les portes ambiguës de ce meuble. Je dois que cela fonctionne jusqu'à présent, mais quand ils copient un élément et le collez en bas, je ne veux pas que la boîte de dialogue apparaisse. Existe-t-il un moyen dans Access VBA de savoir si le nouvel enregistrement est collé ou saisi manuellement?

Était-ce utile?

La solution

Vous pouvez personnaliser le menu, par exemple si vous ajoutez du code semblable à un module standard:

Public gvarPasted As Boolean

Function AssignVar()
    gvarPasted = True
    DoCmd.RunCommand acCmdPaste
End Function

Vous pouvez définir la propriété Action de Coller du menu sur cette fonction à l'aide de l'option de personnalisation du menu de la barre d'outils. Vous devrez également créer votre propre menu contextuel (menu contextuel) à utiliser à la place du menu intégré. Le menu contextuel peut être affecté à tous les formulaires ou uniquement au formulaire qui le nécessite. Il est également possible de désactiver les menus contextuels pour tous les formulaires.

Autres conseils

Peut-être que quelque chose sur les lignes de ceci conviendrait.

Option Compare Database
Public gvarPasted As Boolean

Private Sub txtText_AfterUpdate()
If Not gvarPasted Then
    'Open pop-up here
Else
    gvarPasted = False
End If
End Sub

Private Sub txtText_KeyDown(KeyCode As Integer, Shift As Integer)
'Detect ctrl-V combination
If Shift = acCtrlMask And KeyCode = vbKeyV Then
    gvarPasted = True
End If
End Sub
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top