[VBA sous Access] Creer un groupe de controle
nicolas
-
latuque Messages postés 5 Statut Membre -
latuque Messages postés 5 Statut Membre -
Bonjour,
J'essaye de raliser un petit calendrier en vb,
pour cela il faudrait que je puisse creer un groupe de control (nomcontrole(index)). Je sais le faire sous Vb6 mais la je n'y parvient pas, si quelqu'un pouvait m 'aider.Peut etre manque t 'il une reference a activer.
Merci d'avance
J'essaye de raliser un petit calendrier en vb,
pour cela il faudrait que je puisse creer un groupe de control (nomcontrole(index)). Je sais le faire sous Vb6 mais la je n'y parvient pas, si quelqu'un pouvait m 'aider.Peut etre manque t 'il une reference a activer.
Merci d'avance
8 réponses
-
ACCESS ne permet pas d'avoir un nom identique pour plusieurs contrôles, mais moyennant un peu d'astuce on peut contourner :
Tu crées un formulaire qui contient plusieurs objets (type étiquette par exemple) en les nommant avec un préfixe "Etiq_n" où n est le numéro du contrôle.
Ensuite tu peux modifier les valeurs via une boucle avec indirection du nom de contrôle, exemple pour modifier la légende des étiquettes du formulaire 'formulaire2' (code mis dans un bouton) :Private Sub Commande2_Click() Dim Mon_Ctl As Control For Each Mon_Ctl In Forms!Formulaire2 With Mon_Ctl If Left(.name, 5) = "Etiq_" Then Me(.name).Caption = "titi" End If End With Next End Sub
Aura pour effet de mettre "titi" dans toutes les étiquettes dont le nom commence par "Etiq_"...
Ca irait pour commencer ?
-
bonjour,
j'ai essaiyé ton code mais le bout : Me(.name).Caption = "titi" ne fonctionne pas je sai pas si c'est voulu mais de toute manière moi ce que je veux c'est pouvoir vérifier la propriété value de mon controle et il me la donne pas
le controle en question est un checkbox et voici ce que je veux faire
Dim Mon_Ctl As Control
NbRegion = 1
For Each Mon_Ctl In Forms!saisie
With Mon_Ctl
If Left(.Name, 1) = "c" Then
If (.Value) = Checked Then
nom = Str(NbRegion) & ","
End If
NbRegion = NbRegion + 1
End If
End With
Next
MsgBox (nom)
ChoixRegion = nom
choixregion est le nom de ma function et elle retourne une string qui est utilisé dans une requete dans un in
-
-
Quelqu'un peut juste me dire si c'est possible histoire d' arreter de perdre mon temps a chercher :(
Merci -
Salut,
il existe un contrôle de type calendrier sous ACCESS...
Mais peut-être que tu veux le créer toi-même ?
-
En effet j'ai vu la presence de ce controle.
Mais je souhaiterais aussi si possible le creer moi -meme :) -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Je ne connais pas VB, mais je pratique régulièrement VBA...
Peux-tu me définir ce que tu entends par groupe de contrôle ? (comportement, syntaxe, but de la manoeuvre...)
VBA propose les groupes d'options (boutons radio, cases à cocher, boutons bascule...)...
-
Un groupe de controle est un ensembe de controles ayant les memes propriétées (meme nom) et etant indexé ( comme si tout ces controles etaient dans un tableau).
Ex: Si je souhaite remplir 5 textbox avec la meme valeur:
for i=0 to 4
matextbox(i)=valeur
next i
Si je n'est pas été assez clair n'hesite pas a me redemander
merci :) -
Merci de ton attention!
ca me parait etre un bon debut, je vais essayer de voir comment pouvoir remplir la valeur des différents boutons avec cette methode :) -
bonjour, j'ai également essayé ceci comme code mais il m'indique incompatibilité de type
Private Function ChoixRegion() As String Dim NbRegion As Integer Dim Mon_Cb As CheckBox NbRegion = 1 For Each Mon_Cb In Forms With Mon_Cb 'If Left(.Name, 1) = "c" Then If .Value = Checked Then nom = Str(NbRegion) & "," End If NbRegion = NbRegion + 1 'End If End With Next MsgBox (nom) ChoixRegion = nom End Function
eexistil un moyen de le faire