Problème de Variable

cs_davix Messages postés 3 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 4 mai 2003 - 3 mai 2003 à 18:13
cs_davix Messages postés 3 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 4 mai 2003 - 4 mai 2003 à 00:22
Salut a tous j'ai un problème avec ce code
---
Dim j As Integer
j = 1
Do While j <= 20
Forms!CmbDFj.Value = Null
j = j + 1
Loop
---
je sais pas comment écrire la phrase
Forms!CmbDFj.Value
j'ai essayé par tout les moyens que je connais d'essayer de concatener ca comme ca

Forms!CmbDF + j.Value
Forms!CmbDF & j.Value

mais ca marche pas.. snig

Si qqun sait comment faire je l'en remercie d'avance

5 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
3 mai 2003 à 19:06
Salut
Soit un peu plus explicit : Qu'est ce que c'est que CmbDFj ?

Si c'est un control de ta forme qui s'appellerait Forms (pas judicieux parce que c'est reconnu comme une collection de formes), remplace l'exclamation ! par un point .

Si Forms est vraiment une collection des formes de ton projet, il faut faire autrement :

Dim xxx as MonTypeD'objet
For Each xxx in Forms
...
Next

où MonTypeD'objet est n'importe quel type de controle : TextBox, ComboBox, Form, CheckBox ...

Essaye de nous en dire plus ...
Vala
Jack
0
cs_davix Messages postés 3 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 4 mai 2003
3 mai 2003 à 19:08
C'est des champs combox dans un formulaire dans access 2002
CmbDF1 CmbDF2 ... CmbDF20
mais j'arrive pas a que j soit prit comme variable
0
stevebelgium Messages postés 180 Date d'inscription lundi 17 mars 2003 Statut Membre Dernière intervention 7 juin 2003 1
3 mai 2003 à 19:39
Prendre comme variable n'est pas possible.
La seule solution c'est comme ca ...

En vb tu peux travailler avec des index mais en VBA ce n'est pas possible ...

Private Sub Command1_Click()

Dim ctl As Control

'Loop through the controls collection

For Each ctl In Me.Controls

'Test to see if the current control

'is a textbox control

If TypeOf ctl Is ComboBox Then 'textbox ....

If Left(UCase(ctl.Name), 5) = UCase("CmbDF") Then
ctl.Text = "" 'null ...
End If

End If

Next

End Sub
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
3 mai 2003 à 22:29
Explique ce que tu veux faire avec :
Insérer une donnée ?
Rechercher une donnée ?
Tes Combos sont raccordés à ta DB ?
Qu'est ce que c'est que "j" ? (chaine, chiffre ...)

Tu n'es pas clair.
D'autre part, dans ton premier exemple, tu fais :
Forms!CmbDFj.Value = Null
Est-ce que le champ de ta table access auquel tu es raccordé accepte les valeurs nulles ?

Jack
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_davix Messages postés 3 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 4 mai 2003
4 mai 2003 à 00:22
Merci beaucoup ca marche parfaitement..
Bah moi qui croyais que la prog dans access c'était du VBA.. à ce que tu dit c'est du VB..
enfin ca marche..
je te remercie beaucoup.
@ +
0
Rejoignez-nous