VBA de Nombreux boutons pointent vers le même _Click sous

J'ai un tas de zone de texte-Bouton paires sur un formulaire. Lorsque le bouton est cliqué, je veux insérer la valeur de la zone de texte dans une base de données. Le nom des zones de texte et les Boutons de suivre un standard de nommage, par exemple Value1Tb - Value1Cmd et Value2Tb - Value2Cmd.

Mon problème est que depuis que j'ai envie de faire de même pour chaque bouton, je voudrais que la possibilité d'écrire un Sous genre:

Private Sub AnyButton_Click(sender As CommandButton)
  Dim tb As TextBox
  Set tb = GetTBByName(s.Name)
  PutValueToDatabase(s.Name,tb.Text)
End Sub

Mais je ne peux pas trouver un moyen de le point le Clic-événement d'un Bouton à un autre sous que la norme Name_Click().

Quelqu'un connais un moyen de contourner cela, qui n'implique pas de m'écrire 50 différents Name_Click() subs?

  • Qu'est-ce que vous avez créé une classe personnalisée pour lier le bouton (withevents) et de la zone de texte paires, y compris un retour d'appel dans l'exposé gestionnaire d'événements de bouton, puis faites une routine d'initialisation d'une collection de ces objets personnalisés en étendant les contrôles de formulaire, puis mettre un public de routine dans un module standard pour recevoir l'appel-dos, quel que soit le contexte dont vous avez besoin. Cela fonctionnerait-il? Les rappels sont mieux que des événements parce que vous n'avez pas besoin des talons de vous y abonner.
InformationsquelleAutor PKeno | 2011-02-01