Clic sur un enregistrement qui ouvre un formulaire spécifique [Fermé]

Signaler
Messages postés
7
Date d'inscription
mercredi 21 août 2013
Statut
Membre
Dernière intervention
7 septembre 2013
-
ioanina
Messages postés
7
Date d'inscription
mercredi 21 août 2013
Statut
Membre
Dernière intervention
7 septembre 2013
-
Ce que je voudrais faire c'est un formulaire menu sur lequel il y aura un bouton "Ouvrir Liste des noms" qui s'ouvre en base de données - jusque là ça va - et quand on clic sur un des noms ça ouvre le formulaire spécifique à ce nom "Détail de Trucmuche".
J'ai regardé dans pas mal de modèles et forum et je n'y arrive pas.
Ce que j'ai fait:
une table "T_ListeNoms"
des tables "T_DetailTruc" "T_DetailMuche"
avec relation entre toutes les tables sur le ID
Un formulaire F_ListeNoms et un F_DetailTruc et F_DetailMuche basés sur les tables correspondantes.
Si quelqu'un peut m'aider ce serait super. Mais pas à pas, SVP, Je suis débutante.
Merci d'avance

7 réponses

Messages postés
7
Date d'inscription
mercredi 21 août 2013
Statut
Membre
Dernière intervention
7 septembre 2013

Bonjour,
Pour être plus claire:
J'ai fait une base de données avec 3 tables,
1 "clients", 1 "détails", 1 "pieces".
Un formulaire Clients avec un sous formulaire "détails". La table client et la table details sont OK , mais la table "pieces ne se remplit pas et j'en ai besoin pour faire ensuite un formulaire "pieces" accessible depuis un double-clic sur une ligne du sous-formulaire.

Table "clients" avec Numclient en numauto clé primaire et champ client.
Table "pieces" avec Numpiece en numauto et clé primaire et un champ NomPiece et d'autres champs.
Table "détails" avec Numpiece en clé primaire Numclient et piece
J'espère que quelqu'un pourra m'aider, je nage !!!
Merci d'avance
Messages postés
1045
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
5 mars 2014
108
Bonjour ionina,

Ce que vous demandez est particulièrement difficile à décrire pas à pas.
Tout au plus puis-je vous dire qu'il faut créer une procédure événementielle sur clic dans le formulaire principal. La procédure, une fois activée par un clic (ce n'est qu'un exemple) ouvre le 2ème formulaire (appelons le "de visualisation") que vous souhaitez obtenir.

Voici des liens qui traitent du sujet qui nous intéresse ici :
https://www.google.fr/#q=ouverture+formulaire+li%C3%A9+access+vba

Concrètement, le coeur du sujet se trouve dans les 7 lignes qui suivent :


Private Sub Commande30_Click()
Dim StDocName As String
Dim StLinkCriteriA As String
StDocName = "<[Formulaire à ouvrir]>"
StLinkCriteriA = "<[champLié_1]>=" & Me!<[champlié_2] >
DoCmd.OpenForm StDocName, , , StLinkCriteriA, acReadOnly, acWindowNormal
End Sub



NB : les signes < > [] ne servent qu'à répérer les endroits où vous devez insérer vos propres données. Ils sont à supprimer avant activation du code opérationnel.


Cordialement

La science ne fait que trouver ce qui existe depuis toujours.
REEVES Hubert.
Messages postés
7
Date d'inscription
mercredi 21 août 2013
Statut
Membre
Dernière intervention
7 septembre 2013

Merci, je vais essayer et te redirai.
ioanina
Messages postés
7
Date d'inscription
mercredi 21 août 2013
Statut
Membre
Dernière intervention
7 septembre 2013

Ca fait une erreur et quand je fais le débogueur, ça me met en jaune cette ligne
DoCmd.OpenForm StDocName, , , StLinkCriteriA, acReadOnly, acWindowNormal
Messages postés
1045
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
5 mars 2014
108
Bonsoir,

La ligne peut être simplifiée comme suit :
DoCmd.OpenForm StDocName, , , StLinkCriteriA


Mais l'erreur peut provenir des lignes précédentes ....
En cas de nouvelle erreur, merci de me faire parvenir le tout.


AJJ
Messages postés
7
Date d'inscription
mercredi 21 août 2013
Statut
Membre
Dernière intervention
7 septembre 2013

Effectivement, il me met une erreur 2102, le nom de formulaire F_detail_requete est mal orthographié ou fait référence à un formulaire inexistant, alors que l'un et l'autre sont faux !
Voici mon code
Private Sub piece_DblClick(Cancel As Integer)
Dim StDocName As String
Dim StLinkCriteriA As String
StDocName = "[F_detail_requete]"
StLinkCriteriA = "[Numpiece]=" & Me![Numpiece]
DoCmd.OpenForm StDocName, , , StLinkCriteriA
End Sub

J'ai aussi essayé d'autres trucs et il semble bien qu'une macro avec la condition where
[numpiece]=[Formulaires]![F_clients]![T_detail sous-formulaire].[Formulaire]![numpiece]
fonctionne

Je fais encore des essais et te redis
Messages postés
7
Date d'inscription
mercredi 21 août 2013
Statut
Membre
Dernière intervention
7 septembre 2013

Ca a l'air de marcher, mais je crois que j'ai un peu bidouillé ma base et j'ai peur que ça bug quelque part plus tard. Aurais-tu la gentillesse d'y jeter un coup d'oeil si je te l'envoie ?
Jean_Jacques
Messages postés
1045
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
5 mars 2014
108
Suppression de certains crochets et rajout de acWindowNormal effectués par mes soins


Private Sub piece_DblClick(Cancel As Integer)
Dim StDocName As String
Dim StLinkCriteriA As String
StDocName = "F_detail_requete"
StLinkCriteriA = "Numpiece=" & Me![Numpiece]
DoCmd.OpenForm StDocName, , , StLinkCriteriA ,acWindowNormal
End Sub

Mon adresse : joel_444@orange.fr
Messages postés
7
Date d'inscription
mercredi 21 août 2013
Statut
Membre
Dernière intervention
7 septembre 2013

j'ai envoyé par email.
Merci