Problème VBA dans Access 2010

cs_Bertrand53 Messages postés 2 Date d'inscription lundi 23 août 2010 Statut Membre Dernière intervention 28 janvier 2011 - 27 janv. 2011 à 23:22
cs_Bertrand53 Messages postés 2 Date d'inscription lundi 23 août 2010 Statut Membre Dernière intervention 28 janvier 2011 - 28 janv. 2011 à 00:31
Bonsoir,

quelqu'un peut-il me dire pourquoi ce morceau de code ne fonctionne pas.

Il s'agit d'adresser le contrôle texte "ModeEmploi" qui est dans le sous-formulaire "SF_LIG_LigneArticle_Devis" .

Le but est de le renseigner avec un conseil approprié suivant un réglage fait dans le formulaire d'appel.

---------------------------------------------------------------------------------------------------------------------------

Private Sub Type_Devis_AfterUpdate()

Dim fs_ctl As Control

sf_ctl = Me!SF_LIG_LigneArticle_Devis.Controls!ModeEmploi

If Me!Type_Devis = 1 Then
fctl = "Saisie en prix net. Saisissez le prix net désiré et la quantité."
Else
fctl = "Saisie en remise. Saisissez le pourcentage de la remise désirée et la quantité."
End If

End Sub

---------------------------------------------------------------------------------------------------------------------------

1 réponse

cs_Bertrand53 Messages postés 2 Date d'inscription lundi 23 août 2010 Statut Membre Dernière intervention 28 janvier 2011
28 janv. 2011 à 00:31
Rebonsoir,

Comme quoi de faire une pause et d'écrire le code dans une autre fenêtre peut être utile.

Déjà dans la procédure écrite auparavant il y avait des erreurs entre fs_ctl et fctl, j'ai donc remis ça d'aplomb.
Cela ne suffisait pas.
Je suis donc aller promener le compagnon à quatre pattes qui surveille mes moindres gestes.
Ensuite j'avais mis un contrôle sous forme de texte pur, je veux dire par là une zone de texte mais pas une zone de saisie, plutot une étiquette et visiblement on peut pas en changer le contenu (Légende) par programmation.
J'ai donc mis une zone de texte que j'ai déguisée en étiquette à la place de cette étiquette.
Maintenant, cela fonctionne.


Il est vrai que je n'ai pas touché à VBA et à Access depuis au moins 4 ans, je suis donc un peu rouillé.

Je vais pouvoir avancer un petit peu.

A bientôt.

Pour ceux que ça intéresse, voilà ce qui fonctionne bien.

Public Sub Type_Devis_AfterUpdate()

Dim sf_ctl As Control

Set sf_ctl = Me!SF_LIG_LigneArticle_Devis!ModeEmploi

If Me!Type_Devis = 1 Then
sf_ctl = "Saisie en prix net. Saisissez le prix net désiré et la quantité."
Else
sf_ctl = "Saisie en remise. Saisissez le pourcentage de la remise désirée et la quantité."
End If

End Sub
0
Rejoignez-nous