OVH Cloud OVH Cloud

ouverture d'un formulaire depuis le detail d'un ofrmulaire en cont

8 réponses
Avatar
ptkppr
Bonjour
j'ai un formulaireA en mode continu qui m'affiche dans la partie detail des
enregistrements s'appuyant sur une requete multi-tables. ces enregistrements
sont des rapports d'interventions, donc il y a une partie commune (celle qui
s'affiche dans le continu) et un partie specifique à chaque type
d'intervention qui n'y apparait pas.
Pour voir le rapport complet d'une intervention je dois ouvrir un formulaire
B (plusieurs modeles) en cliquant sur un bouton placé dans la zone detail du
formulaire A en face de chaque enregistremen.
Actuellemnt j'ouvre bien le bon modele de formulaire B correspondant au type
d'intervention, le seul hic etant que s'affichent tous les enregistrements du
même type, au lieu de m'afficher l'enregistrement sur lequel j'ai pointe dans
la partie détail en continu du formulaire A.
Je n'ai aucune idée de comment aborder le probleme.
Quelqu'un peut-il m'aider ? merci d'avance.
Voici mon code actuel :
Option Compare Database
Option Explicit
Private Sub Button_Click()
Dim stDocName As String
If Me.TypeInterv = "Ascenseur" Then
stDocName = "ConsultationAscenseur"
End If
If Me.TypeInterv = "Incendie" Then
stDocName = "ConsultationIncendie"
End If
If Me.TypeInterv = "Malaise" Then
stDocName = "ConsultationMalaise"
End If
DoCmd.OpenForm stDocName, acNormal
End Sub

8 réponses

Avatar
Pogo
Bonjour,

Il faudrait que chaque enregistement de ton formulaire A soit associé
à un identifiant unique et passer cet identifiant comme argument dans
ConditionWhere du Docmd.openforn

A+
Pascal


Bonjour
j'ai un formulaireA en mode continu qui m'affiche dans la partie detail d es
enregistrements s'appuyant sur une requete multi-tables. ces enregistreme nts
sont des rapports d'interventions, donc il y a une partie commune (celle qui
s'affiche dans le continu) et un partie specifique à chaque type
d'intervention qui n'y apparait pas.
Pour voir le rapport complet d'une intervention je dois ouvrir un formula ire
B (plusieurs modeles) en cliquant sur un bouton placé dans la zone deta il du
formulaire A en face de chaque enregistremen.
Actuellemnt j'ouvre bien le bon modele de formulaire B correspondant au t ype
d'intervention, le seul hic etant que s'affichent tous les enregistrement s du
même type, au lieu de m'afficher l'enregistrement sur lequel j'ai point e dans
la partie détail en continu du formulaire A.
Je n'ai aucune idée de comment aborder le probleme.
Quelqu'un peut-il m'aider ? merci d'avance.
Voici mon code actuel :
Option Compare Database
Option Explicit
Private Sub Button_Click()
Dim stDocName As String
If Me.TypeInterv = "Ascenseur" Then
stDocName = "ConsultationAscenseur"
End If
If Me.TypeInterv = "Incendie" Then
stDocName = "ConsultationIncendie"
End If
If Me.TypeInterv = "Malaise" Then
stDocName = "ConsultationMalaise"
End If
DoCmd.OpenForm stDocName, acNormal
End Sub


Avatar
Pogo
Bonjour,

Il faudrait que chaque enregistement de ton formulaire A soit associé
à un identifiant unique et passer cet identifiant comme argument dans
ConditionWhere du Docmd.openforn

A+
Pascal


Bonjour
j'ai un formulaireA en mode continu qui m'affiche dans la partie detail d es
enregistrements s'appuyant sur une requete multi-tables. ces enregistreme nts
sont des rapports d'interventions, donc il y a une partie commune (celle qui
s'affiche dans le continu) et un partie specifique à chaque type
d'intervention qui n'y apparait pas.
Pour voir le rapport complet d'une intervention je dois ouvrir un formula ire
B (plusieurs modeles) en cliquant sur un bouton placé dans la zone deta il du
formulaire A en face de chaque enregistremen.
Actuellemnt j'ouvre bien le bon modele de formulaire B correspondant au t ype
d'intervention, le seul hic etant que s'affichent tous les enregistrement s du
même type, au lieu de m'afficher l'enregistrement sur lequel j'ai point e dans
la partie détail en continu du formulaire A.
Je n'ai aucune idée de comment aborder le probleme.
Quelqu'un peut-il m'aider ? merci d'avance.
Voici mon code actuel :
Option Compare Database
Option Explicit
Private Sub Button_Click()
Dim stDocName As String
If Me.TypeInterv = "Ascenseur" Then
stDocName = "ConsultationAscenseur"
End If
If Me.TypeInterv = "Incendie" Then
stDocName = "ConsultationIncendie"
End If
If Me.TypeInterv = "Malaise" Then
stDocName = "ConsultationMalaise"
End If
DoCmd.OpenForm stDocName, acNormal
End Sub


Avatar
ptkppr
bonjour Pascal,
Il y a un identifiant unique par enregistrement , "NumeroFiche", je me
doutais bien qu'il faille ecrire quelque chose comme ça, mais le probleme
c'est que je ne sais pas comment rediger cet argument de filtrage ! donc si
toi ou quelqu'un d'autre peut me montrer comment , ce sera super sympa. merci
à tous d'avance.
Patrick


Bonjour,

Il faudrait que chaque enregistement de ton formulaire A soit associé
à un identifiant unique et passer cet identifiant comme argument dans
ConditionWhere du Docmd.openforn

A+
Pascal


Bonjour
j'ai un formulaireA en mode continu qui m'affiche dans la partie detail des
enregistrements s'appuyant sur une requete multi-tables. ces enregistrements
sont des rapports d'interventions, donc il y a une partie commune (celle qui
s'affiche dans le continu) et un partie specifique à chaque type
d'intervention qui n'y apparait pas.
Pour voir le rapport complet d'une intervention je dois ouvrir un formulaire
B (plusieurs modeles) en cliquant sur un bouton placé dans la zone detail du
formulaire A en face de chaque enregistremen.
Actuellemnt j'ouvre bien le bon modele de formulaire B correspondant au type
d'intervention, le seul hic etant que s'affichent tous les enregistrements du
même type, au lieu de m'afficher l'enregistrement sur lequel j'ai pointe dans
la partie détail en continu du formulaire A.
Je n'ai aucune idée de comment aborder le probleme.
Quelqu'un peut-il m'aider ? merci d'avance.
Voici mon code actuel :
Option Compare Database
Option Explicit
Private Sub Button_Click()
Dim stDocName As String
If Me.TypeInterv = "Ascenseur" Then
stDocName = "ConsultationAscenseur"
End If
If Me.TypeInterv = "Incendie" Then
stDocName = "ConsultationIncendie"
End If
If Me.TypeInterv = "Malaise" Then
stDocName = "ConsultationMalaise"
End If
DoCmd.OpenForm stDocName, acNormal
End Sub






Avatar
Eric
Bonjour,

Tu mets
DoCmd.OpenForm stDocName, acNormal, , "NumeroFiche=" & Me.NumeroFiche

bonjour Pascal,
Il y a un identifiant unique par enregistrement , "NumeroFiche", je me
doutais bien qu'il faille ecrire quelque chose comme ça, mais le probleme
c'est que je ne sais pas comment rediger cet argument de filtrage ! donc si
toi ou quelqu'un d'autre peut me montrer comment , ce sera super sympa. merci
à tous d'avance.
Patrick



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Eric
.../...
Si le NumeroFiche est de type Texte:
DoCmd.OpenForm stDocName, acNormal, , "NumeroFiche='" & Me.NumeroFiche & "'"

Bonjour,

Tu mets
DoCmd.OpenForm stDocName, acNormal, , "NumeroFiche=" & Me.NumeroFiche


bonjour Pascal,
Il y a un identifiant unique par enregistrement , "NumeroFiche", je me
doutais bien qu'il faille ecrire quelque chose comme ça, mais le
probleme c'est que je ne sais pas comment rediger cet argument de
filtrage ! donc si toi ou quelqu'un d'autre peut me montrer comment ,
ce sera super sympa. merci à tous d'avance.
Patrick





--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr


Avatar
ptkppr
Salut Eric,
C'est ce que j'avais deja fait... NumeroFiche est bien une donnée numerique
comme son nom l'indique, mais j'ai ce message d'erreur :
"Le champ spécifié <champ> peut désigner plusieurs tables listées dans la
clause FROM de votre instruction SQL. (Erreur 3079)"
en fait ce champ je le retrouve le trouve dans la table specifique à chaque
type d'intervention et dans la table commune à tous types d'interve où sont
les données communes (Date, HeureDebut, HeureFin, NumeroIntervention,
TypeIntervention...)
J'ai effectivement une redondance... Je ne sais pas trop comment faire ? Là
je me rends compte que j'ai une M...e dans mes structures !




..../...
Si le NumeroFiche est de type Texte:
DoCmd.OpenForm stDocName, acNormal, , "NumeroFiche='" & Me.NumeroFiche & "'"

Bonjour,

Tu mets
DoCmd.OpenForm stDocName, acNormal, , "NumeroFiche=" & Me.NumeroFiche


bonjour Pascal,
Il y a un identifiant unique par enregistrement , "NumeroFiche", je me
doutais bien qu'il faille ecrire quelque chose comme ça, mais le
probleme c'est que je ne sais pas comment rediger cet argument de
filtrage ! donc si toi ou quelqu'un d'autre peut me montrer comment ,
ce sera super sympa. merci à tous d'avance.
Patrick





--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr





Avatar
Eric
Bonsoir,

Prefixes-le par le nom d'une des tables de ta requête, du genre
Table1.NumeroFiche où Table1 est le nom d'une des tables de la requête
contenant le champ NumeroFiche.
Ca donnerait:
DoCmd.OpenForm stDocName, acNormal, , "Table1.NumeroFiche=" & Me.NumeroFiche

(adaptes bien évidemment le nom Table1)

Salut Eric,
C'est ce que j'avais deja fait... NumeroFiche est bien une donnée numerique
comme son nom l'indique, mais j'ai ce message d'erreur :
"Le champ spécifié <champ> peut désigner plusieurs tables listées dans la
clause FROM de votre instruction SQL. (Erreur 3079)"
en fait ce champ je le retrouve le trouve dans la table specifique à chaque
type d'intervention et dans la table commune à tous types d'interve où sont
les données communes (Date, HeureDebut, HeureFin, NumeroIntervention,
TypeIntervention...)
J'ai effectivement une redondance... Je ne sais pas trop comment faire ? Là
je me rends compte que j'ai une M...e dans mes structures !





..../...
Si le NumeroFiche est de type Texte:
DoCmd.OpenForm stDocName, acNormal, , "NumeroFiche='" & Me.NumeroFiche & "'"


Bonjour,

Tu mets
DoCmd.OpenForm stDocName, acNormal, , "NumeroFiche=" & Me.NumeroFiche



bonjour Pascal,
Il y a un identifiant unique par enregistrement , "NumeroFiche", je me
doutais bien qu'il faille ecrire quelque chose comme ça, mais le
probleme c'est que je ne sais pas comment rediger cet argument de
filtrage ! donc si toi ou quelqu'un d'autre peut me montrer comment ,
ce sera super sympa. merci à tous d'avance.
Patrick



--

A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Avatar
ptkppr
Rebonsoir Eric,
J'avais déjà pas mal tourné autour de cette solution (en me referant à un
ancien probleme d'impression de formulaire dont tu m'avais deja depatouillé)
sans toutefois arriver à faire fonctionner... Sais pas pourquoi... Dommage !
Mais en tous cas là ça fonctionne et je te remercie à nouveau pour ton aide
precieuse et ton amabilité.
Patrick


Bonsoir,

Prefixes-le par le nom d'une des tables de ta requête, du genre
Table1.NumeroFiche où Table1 est le nom d'une des tables de la requête
contenant le champ NumeroFiche.
Ca donnerait:
DoCmd.OpenForm stDocName, acNormal, , "Table1.NumeroFiche=" & Me.NumeroFiche

(adaptes bien évidemment le nom Table1)

Salut Eric,
C'est ce que j'avais deja fait... NumeroFiche est bien une donnée numerique
comme son nom l'indique, mais j'ai ce message d'erreur :
"Le champ spécifié <champ> peut désigner plusieurs tables listées dans la
clause FROM de votre instruction SQL. (Erreur 3079)"
en fait ce champ je le retrouve le trouve dans la table specifique à chaque
type d'intervention et dans la table commune à tous types d'interve où sont
les données communes (Date, HeureDebut, HeureFin, NumeroIntervention,
TypeIntervention...)
J'ai effectivement une redondance... Je ne sais pas trop comment faire ? Là
je me rends compte que j'ai une M...e dans mes structures !





..../...
Si le NumeroFiche est de type Texte:
DoCmd.OpenForm stDocName, acNormal, , "NumeroFiche='" & Me.NumeroFiche & "'"


Bonjour,

Tu mets
DoCmd.OpenForm stDocName, acNormal, , "NumeroFiche=" & Me.NumeroFiche



bonjour Pascal,
Il y a un identifiant unique par enregistrement , "NumeroFiche", je me
doutais bien qu'il faille ecrire quelque chose comme ça, mais le
probleme c'est que je ne sais pas comment rediger cet argument de
filtrage ! donc si toi ou quelqu'un d'autre peut me montrer comment ,
ce sera super sympa. merci à tous d'avance.
Patrick



--

A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr