J'ai du mal à taguer mes procédures

Le
zOrg2net
Bonjour,

J'ai quelques difficultés avec Tag.
Dans un formulaire, j'ai 3 sous formulaires. Sur le principal un cadre avec
un groupe de 3 boutons radio. Suivant la sélection du bouton radio, les
contrôles d'un des sous formulaire doivent être activés ou désactivés. Quand
je me trouve dans une configuration ou je désactive un contrôle déjà
désactivé, bien sûr j'ai une erreur. J'avais donc pensé utiliser tag pour
désactiver tous les contrôles activés avant d'appliquer mes règles
activation/désactivation.
Mais j'ai du mal avec la syntaxe. Voici mon code

Public Sub TesterControlesEnabled()
Dim c1 As Control, c2 As Control, oFrm As Object
For Each c1 In Me.Controls
If TypeOf c1 Is SubForm Then
Set oFrm = Forms(Me.Name)(c1.Name)
For Each c2 In oFrm.Controls
If c2.Tag = "dt_SF_transac" And
Forms(Me.Name)(c1.Name)(c2.Name).Enabled = True Then
Forms(Me.Name)(c1.Name)(c2.Name).Enabled = False
End If
Next c2
Set oFrm = Nothing
End If
Next c1
End Sub

Une p'tite idée peut-être ??

zOrg2net
7OuNet
Le dicton du jour : Si le hasard fait bien les choses, certains n'ont pas dû
être fait par hasard.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
ze Titi
Le #6224851
Hello zOrg2net !

Public Sub TesterControlesEnabled()
Dim c1 As Control, c2 As Control, oFrm As Object
For Each c1 In Me.Controls
If TypeOf c1 Is SubForm Then
Set oFrm = Forms(Me.Name)(c1.Name)
For Each c2 In oFrm.Controls
If c2.Tag = "dt_SF_transac" And Forms(Me.Name).Controls(c1.Name).Form.Controls(c2.Name).Enabled = True Then
Forms(Me.Name).Controls(c1.Name).Form.Controls(c2.Name).Enabled = False
End If
Next c2
Set oFrm = Nothing
End If
Next c1
End Sub

A tester...

En ce jour mémorable du jeudi 05/04/2007, tu as entrepris la lourde tâche de taper sur ton clavier :
Bonjour,

J'ai quelques difficultés avec Tag.
Dans un formulaire, j'ai 3 sous formulaires. Sur le principal un cadre avec
un groupe de 3 boutons radio. Suivant la sélection du bouton radio, les
contrôles d'un des sous formulaire doivent être activés ou désactivés. Quand
je me trouve dans une configuration ou je désactive un contrôle déjà
désactivé, bien sûr j'ai une erreur. J'avais donc pensé utiliser tag pour
désactiver tous les contrôles activés avant d'appliquer mes règles
activation/désactivation.
Mais j'ai du mal avec la syntaxe. Voici mon code

Public Sub TesterControlesEnabled()
Dim c1 As Control, c2 As Control, oFrm As Object
For Each c1 In Me.Controls
If TypeOf c1 Is SubForm Then
Set oFrm = Forms(Me.Name)(c1.Name)
For Each c2 In oFrm.Controls
If c2.Tag = "dt_SF_transac" And
Forms(Me.Name)(c1.Name)(c2.Name).Enabled = True Then
Forms(Me.Name)(c1.Name)(c2.Name).Enabled = False
End If
Next c2
Set oFrm = Nothing
End If
Next c1
End Sub

Une p'tite idée peut-être ??

zOrg2net
7OuNet
Le dicton du jour : Si le hasard fait bien les choses, certains n'ont pas dû
être fait par hasard.


--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info

ze Titi
Le #6224841
...
Arf, j'en ai oublié au passage... Je suppose que tu auras corrigé mais
dans le doute:

Set oFrm = Forms(Me.Name).Controls(c1.Name)

En ce jour exceptionnel du jeudi 05/04/2007, tu nous as très
généreusement gratifié du message suivant:

Hello zOrg2net !

Public Sub TesterControlesEnabled()
Dim c1 As Control, c2 As Control, oFrm As Object
For Each c1 In Me.Controls
If TypeOf c1 Is SubForm Then
Set oFrm = Forms(Me.Name)(c1.Name)
For Each c2 In oFrm.Controls
If c2.Tag = "dt_SF_transac" And
Forms(Me.Name).Controls(c1.Name).Form.Controls(c2.Name).Enabled = True Then

Forms(Me.Name).Controls(c1.Name).Form.Controls(c2.Name).Enabled = False
End If Next c2 Set oFrm = Nothing
End If
Next c1
End Sub

A tester...

En ce jour mémorable du jeudi 05/04/2007, tu as entrepris la lourde tâche de
taper sur ton clavier :
Bonjour,

J'ai quelques difficultés avec Tag.
Dans un formulaire, j'ai 3 sous formulaires. Sur le principal un cadre avec
un groupe de 3 boutons radio. Suivant la sélection du bouton radio, les
contrôles d'un des sous formulaire doivent être activés ou désactivés. Quand
je me trouve dans une configuration ou je désactive un contrôle déjà
désactivé, bien sûr j'ai une erreur. J'avais donc pensé utiliser tag pour
désactiver tous les contrôles activés avant d'appliquer mes règles
activation/désactivation.
Mais j'ai du mal avec la syntaxe. Voici mon code

Public Sub TesterControlesEnabled()
Dim c1 As Control, c2 As Control, oFrm As Object
For Each c1 In Me.Controls
If TypeOf c1 Is SubForm Then
Set oFrm = Forms(Me.Name)(c1.Name)
For Each c2 In oFrm.Controls
If c2.Tag = "dt_SF_transac" And
Forms(Me.Name)(c1.Name)(c2.Name).Enabled = True Then
Forms(Me.Name)(c1.Name)(c2.Name).Enabled = False
End If
Next c2
Set oFrm = Nothing
End If
Next c1
End Sub

Une p'tite idée peut-être ??

zOrg2net
7OuNet
Le dicton du jour : Si le hasard fait bien les choses, certains n'ont pas dû
être fait par hasard.



--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info


zOrg2net
Le #6224711
Bonjour à tous,

J'ai testé ta proposition et je me suis retrouvé avec des variables objet
non reconnues. Alors j'ai simplifié le code comme ceci:


Set Sfrm = Forms!frm_transactions!sfrm_transactions 'Je nomme directement le
sous form incriminé.
Une fois bien nommé, plus besoin de tester si c'est un sous formulaire, puis:

For Each c1 In Sfrm.Controls
If c1.Tag = "dt_SF_transac" Then
Sfrm.Controls(c1.Name).Enabled = False
End If
Next c1
enfin, j'active les conrôles adéquats en fonction de la sélection faite avec
les boutons radio. J'ai plus de bug et ça fonctionne pour l'instant ;o).
Merci d'avoir contribué à ce succès.

zOrg2net
7OuNet
Le dicton du jour: Qui vole un bœuf, est vachement musclé.


....
Arf, j'en ai oublié au passage... Je suppose que tu auras corrigé mais
dans le doute:

Set oFrm = Forms(Me.Name).Controls(c1.Name)

En ce jour exceptionnel du jeudi 05/04/2007, tu nous as très
généreusement gratifié du message suivant:

Hello zOrg2net !

Public Sub TesterControlesEnabled()
Dim c1 As Control, c2 As Control, oFrm As Object
For Each c1 In Me.Controls
If TypeOf c1 Is SubForm Then
Set oFrm = Forms(Me.Name)(c1.Name)
For Each c2 In oFrm.Controls
If c2.Tag = "dt_SF_transac" And
Forms(Me.Name).Controls(c1.Name).Form.Controls(c2.Name).Enabled = True Then

Forms(Me.Name).Controls(c1.Name).Form.Controls(c2.Name).Enabled = False
End If Next c2 Set oFrm = Nothing
End If
Next c1
End Sub

A tester...

En ce jour mémorable du jeudi 05/04/2007, tu as entrepris la lourde tâche de
taper sur ton clavier :
Bonjour,

J'ai quelques difficultés avec Tag.
Dans un formulaire, j'ai 3 sous formulaires. Sur le principal un cadre avec
un groupe de 3 boutons radio. Suivant la sélection du bouton radio, les
contrôles d'un des sous formulaire doivent être activés ou désactivés. Quand
je me trouve dans une configuration ou je désactive un contrôle déjà
désactivé, bien sûr j'ai une erreur. J'avais donc pensé utiliser tag pour
désactiver tous les contrôles activés avant d'appliquer mes règles
activation/désactivation.
Mais j'ai du mal avec la syntaxe. Voici mon code

Public Sub TesterControlesEnabled()
Dim c1 As Control, c2 As Control, oFrm As Object
For Each c1 In Me.Controls
If TypeOf c1 Is SubForm Then
Set oFrm = Forms(Me.Name)(c1.Name)
For Each c2 In oFrm.Controls
If c2.Tag = "dt_SF_transac" And
Forms(Me.Name)(c1.Name)(c2.Name).Enabled = True Then
Forms(Me.Name)(c1.Name)(c2.Name).Enabled = False
End If
Next c2
Set oFrm = Nothing
End If
Next c1
End Sub

Une p'tite idée peut-être ??

zOrg2net
7OuNet
Le dicton du jour : Si le hasard fait bien les choses, certains n'ont pas dû
être fait par hasard.



--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info







ze Titi
Le #6224701
Bonjour zOrg2net

Content d'avoir pu contribuer à ça, merci pour le retour ! ;-)
Bonne continuation

Dans ton message
Bonjour à tous,

J'ai testé ta proposition et je me suis retrouvé avec des variables objet
non reconnues. Alors j'ai simplifié le code comme ceci:


Set Sfrm = Forms!frm_transactions!sfrm_transactions 'Je nomme directement le
sous form incriminé.
Une fois bien nommé, plus besoin de tester si c'est un sous formulaire, puis:

For Each c1 In Sfrm.Controls
If c1.Tag = "dt_SF_transac" Then
Sfrm.Controls(c1.Name).Enabled = False
End If
Next c1
enfin, j'active les conrôles adéquats en fonction de la sélection faite avec
les boutons radio. J'ai plus de bug et ça fonctionne pour l'instant ;o).
Merci d'avoir contribué à ce succès.

zOrg2net
7OuNet
Le dicton du jour: Qui vole un b½uf, est vachement musclé.


....
Arf, j'en ai oublié au passage... Je suppose que tu auras corrigé mais
dans le doute:

Set oFrm = Forms(Me.Name).Controls(c1.Name)

En ce jour exceptionnel du jeudi 05/04/2007, tu nous as très
généreusement gratifié du message suivant:

Hello zOrg2net !

Public Sub TesterControlesEnabled()
Dim c1 As Control, c2 As Control, oFrm As Object
For Each c1 In Me.Controls
If TypeOf c1 Is SubForm Then
Set oFrm = Forms(Me.Name)(c1.Name)
For Each c2 In oFrm.Controls
If c2.Tag = "dt_SF_transac" And
Forms(Me.Name).Controls(c1.Name).Form.Controls(c2.Name).Enabled = True Then


Forms(Me.Name).Controls(c1.Name).Form.Controls(c2.Name).Enabled = False
End If Next c2 Set oFrm = Nothing
End If
Next c1
End Sub

A tester...

En ce jour mémorable du jeudi 05/04/2007, tu as entrepris la lourde tâche
de taper sur ton clavier :
Bonjour,

J'ai quelques difficultés avec Tag.
Dans un formulaire, j'ai 3 sous formulaires. Sur le principal un cadre
avec un groupe de 3 boutons radio. Suivant la sélection du bouton radio,
les contrôles d'un des sous formulaire doivent être activés ou
désactivés. Quand je me trouve dans une configuration ou je désactive un
contrôle déjà désactivé, bien sûr j'ai une erreur. J'avais donc pensé
utiliser tag pour désactiver tous les contrôles activés avant d'appliquer
mes règles activation/désactivation.
Mais j'ai du mal avec la syntaxe. Voici mon code

Public Sub TesterControlesEnabled()
Dim c1 As Control, c2 As Control, oFrm As Object
For Each c1 In Me.Controls
If TypeOf c1 Is SubForm Then
Set oFrm = Forms(Me.Name)(c1.Name)
For Each c2 In oFrm.Controls
If c2.Tag = "dt_SF_transac" And
Forms(Me.Name)(c1.Name)(c2.Name).Enabled = True Then
Forms(Me.Name)(c1.Name)(c2.Name).Enabled = False
End If
Next c2
Set oFrm = Nothing
End If
Next c1
End Sub

Une p'tite idée peut-être ??

zOrg2net
7OuNet
Le dicton du jour : Si le hasard fait bien les choses, certains n'ont pas
dû être fait par hasard.



--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info






--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info




Publicité
Poster une réponse
Anonyme