cs_tari
Messages postés34Date d'inscriptionjeudi 25 mars 2004StatutMembreDernière intervention29 avril 2005
-
26 juil. 2004 à 11:03
lebourgjf
Messages postés29Date d'inscriptionmardi 16 décembre 2003StatutMembreDernière intervention 6 août 2004
-
5 août 2004 à 01:46
bonjour à tous !
voila mon problème : j'ai créé une application sous access qui gère des devis.
l'utilisateur enregistre les données du devis. il peut grâce à une page que j'ai créé visualiser tout les devis
sur mon formulaire il y a une en-tête qui correspond à une affaire et un sous-formulaire qui reprend les en-tête des devis.
grâce à un bouton ils peuvent accéder aux détails du devis sur une autre feuille.
j'aimerais que lorsque l'utilisateur positionne le curseur sur la ligne du devis dont il veut voir le détails et qu'il clique sur le bouton la page qui s'ouvre corresponde au devis sélectionné.
une employé a déja utilisé ce principe mais quand je l'applique a mon prog en modifiant le nom des champs, j'ai une boite de dialogue qui s'affiche disant qu'il ne reconnait pas mon champ et me demande de saisir sa valeur.
voici le code que j'ai utilisé :
' Ouvrir le formulaire pour le devis en cours
If Not IsNull([Forms]![F_rep_devis]![SF_rep_devis].[Form]![indice_propo]) Then
DoCmd.OpenForm "F_devis_details", acNormal, "", "[AF]=[Forms]![F_rep_devis]![AF] And [indice_propo]=[Forms]![F_rep_devis]![SF_rep_devis].[Form]![indice_propo]", acEdit, acNormal
Else
Beep
MsgBox "Chosir une propo", vbOKOnly, "ATTENTION !"
End If
("F_rep_devis" est le nom du formulaire comprenant l'en-tête de l'AF, "SF_rep_devis" est le sous-formulaire avec l'en-tête du devis et F_devis_details est le formulaire avec le détails du devis.
un devis est identifié par un n° d'AF é un indice_propo)
le programe ne reconnait pas : [Forms]![F_rep_devis]![SF_rep_devis].[Form]![indice_propo]
qu'est-ce qui ne va pa dans mon code ???
aidez moi
merci
cs_tari
Messages postés34Date d'inscriptionjeudi 25 mars 2004StatutMembreDernière intervention29 avril 2005 26 juil. 2004 à 11:53
ok j'ai trouvé le pb :
If Not IsNull([Forms]![F_rep_devis]![SF_rep_devis].[Form]![indice_propo]) Then
c'est pas "SF_rep_devis" qu'il fallait que je mette parce que c'est le nom du sous-formulaire mais c'est pas ce nom qui est reconnu dans le formulaire, donc maintenant sa done sa :
' Ouvrir le formulaire pour la commande en cours
If Not IsNull([Forms]![F_rep_devis]![Fille36].[Form]![indice_propo].Value) Then
DoCmd.OpenForm "F_devis_details", acNormal, "", "[indice_propo]=[Forms]![F_rep_devis]![indice_propo] ", acEdit, acNormal
Else
Beep
MsgBox "Choisir le n° de propo", vbOKOnly, "ATTENTION !"
End If
Le prog prend bien la valeur du champ du sous formulaire et il m'ouvre le formulaire mais il n'affiche aucune valeur.
est-ce que je dois précisé quelque chose dans le formualaire qui s'ouvre (filtre, ...) ?
merci
lebourgjf
Messages postés29Date d'inscriptionmardi 16 décembre 2003StatutMembreDernière intervention 6 août 2004 5 août 2004 à 01:46
Réfléchissons :
- de quel type est le champ [indice_propo] ?
si c'est du texte, à mon avis, il faut mettre des guillemets entre [forms]![f_rep_devis]![indice_propo]
- est-ce nécessaire de mentionner le filtreName avec "" ? Je le laisserai vide.
- si tu dis que la valeur du sous-formulaire est bien prise, alors pourquoi ce n'est pas la même dans la condition ? (il n'y a pas [Fille36].[Form] de mentionné...). Je mettrais la valeur du sous-formulaire dans une variable que j'appellerai dans la condition :
If Not IsNull([Forms]![F_rep_devis]![Fille36].[Form]![indice_propo].Value) Then