Ajout d'un nouvel enregistrement d'un sous-formulaire

Résolu/Fermé
ludo2935 Messages postés 9 Date d'inscription mercredi 1 juin 2016 Statut Membre Dernière intervention 16 septembre 2016 - 1 juin 2016 à 15:09
 Utilisateur anonyme - 3 juin 2016 à 14:25
Bonjour a tous,

Je suis un petit novice sur access et me débrouille tant bien que mal.
Actuellement je rencontre un petit problème et en parcourant un peu partout, je ne trouve pas de solution a mon problème.
En quelques Mots: J'ai formulaire f_client avec Code_Client(clé) et d'autres informations sur le client et j'y ai rajouté un sous formulaire sf_livraison.
Ce sous formulaire présente toutes les adresses de livraison du client. Tout fonctionne parfaitement (chaque client à ces propres adresses de livraison) sauf que je souhaiterai ajouter une nouvelle adresse de livraison
pour la fiche client F_client sans pourvoir ressaisir le code_client dans f_livraison.
C'est à dire ajouter directement par le formulaire f_livraison une nouvelle adresse de livraison. Mon but étant de passer obligatoirement par un formulaire pour ajouter, supprimer, modifier par le formulaire f-livraison sans passer toucher au sous-formulaire sf_livraison.
Code_client pour table t_client et code_livraison t_livraison sont les clés primaires et table relation t_Client_livraison Code_client pour table t_client et code_livraison t_livraison sont les clés primaires.
D'avance je vous remercie de votre aide.
Ludovic
A voir également:

8 réponses

Utilisateur anonyme
1 juin 2016 à 19:30
Bonjour,

tu as une table t_client_livraison ???

Pourquoi faire ?

Il faudrait mettre en clé externe dans ta table "t_livraison" un champ "code_client", et cela se ferait automatiquement, non ??

A+
0
ludo2935 Messages postés 9 Date d'inscription mercredi 1 juin 2016 Statut Membre Dernière intervention 16 septembre 2016
1 juin 2016 à 20:32
J'ai 3 tables T_client, T_Livraison et T_client_livraison.
La table T_client_livraison possède deux champs Code_Client et Code_Livraison avec tous les deux une clé Primaire. C'est table relation entre les tables T_Client: Champs Code_Client et Code_client et T_livraison: Champs Code_livraison et Code_livraison. En saisissant directement dans le sous-formulaire ça fonctionne bien, mais ce sous-formulaire sera verrouillé par la suite. Ce que je souhaite c'est par un bouton de commande sur le formulaire f_client, ouvrir un formulaire de saisie, f_livraison une nouvelle adresse de livraison pour le client sur lequel f_client est ouvert. C'est a dire qu'à l'ouverture du formulaire f_livraison, le Code_Client est déjà indiqué. Titre: Adresse de livraison de "9999" "durand" et saisir Code_Livraison; Nom livraison; adresse etc... et sur OK la nouvelle adresse livraison apparait dans le sous-formulaire sf_livraison de la fiche Client f_client.
0
Oui,

Mais pourquoi cette 3ème table ??? C elle qui t'empêche de réaliser ce que tu souhaites...

Si tu as une table client, avec les infos que tu veux (adresse facturation, nom, contact, etc... et sa clé primaire "num_client") et une table livraison avec un numéro auto en primary key, le reste 'adresse livraison'; etc, avec comme clé externe le numéro client de la table client, cela ira

On est d'accord qu'un client peut avoir plusieurs adresses de livraison, et qu'une adresse de livraison correspond à un seul client, non, ? D'où ta mauvaise analyse (cherches sous Google Méthode Merise), d'où ton souci.

Si tu veux, je te fais une base exemple...

A+
0
Utilisateur anonyme
1 juin 2016 à 21:18
Voilà une mini base en exemple.

Il y a 2 tables, 1 form client (celui que tu vas ouvrir) associé au sous-form...

https://www.cjoint.com/c/FFbtqHYJYIi

A+
0
Utilisateur anonyme
1 juin 2016 à 21:20
Et j'oubliais, la relation qui va bien entre les 2 tables...
0
Utilisateur anonyme
1 juin 2016 à 21:27
Je pense que cela correspond à ce que tu souhaites (ajout, modif et supp des @ de livraisons).

Si souci, n'hésites pas.

A+ et bon développement.
0
ludo2935 Messages postés 9 Date d'inscription mercredi 1 juin 2016 Statut Membre Dernière intervention 16 septembre 2016
2 juin 2016 à 09:30
J'aimerai bien vous envoyer un bout de ma base pour que vous comprenez ce que je souhaite réaliser mais perso je ne sais pas comment faire sur ce site pour joindre ma base
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ludo2935 Messages postés 9 Date d'inscription mercredi 1 juin 2016 Statut Membre Dernière intervention 16 septembre 2016
2 juin 2016 à 08:39
Bonjour et merci de votre aide. Effectivement je pense que je me suis un peu compliqué la vie. En fait mes formulaires sont basés sur des requêtes. c'est a dire que F_client est basé sur la requête Rq_client car plusieurs tables y sont liés. T_client , T_etat_client...
Je vais toutefois revoir çà.
Par contre comment passer une nouvelle adresse de livraison par un formulaire F_livraison pour ajouter à ce client une nouvelle adresse de livraison sans passer pas le sous-formulaire(le but étant de dérouiller la saisie directement sous la sous-formulaire. Bouton Ajouter nouvelle adresse de livraison sur le client "9999"
Merci bcp de votre aide en tout cas
0
bonjour
pour mettre ta base sur le site:
1_ compresser en zip
2_ faire un lien avec ci joint
3_ copier le lien et le mettre dans comment ca marche
0
Utilisateur anonyme
2 juin 2016 à 17:57
Bonjour,

mettre un bouton sur le formulaire qui ouvre, soit directement la table en mode ajout, soit un formulaire.

A+
0
ludo2935 Messages postés 9 Date d'inscription mercredi 1 juin 2016 Statut Membre Dernière intervention 16 septembre 2016
2 juin 2016 à 20:37
Bonjour,

Pour le bouton ajouter un enregistrement j'ai bien créer un bouton (macro/ouvrir Formulaire en mode ajout) . Une fois cliquer dessus j'ai bien le formulaire ajout qui s'ouvre mais je suis obliger de désigner à quel client je souhaite ajouter cette nouvelle adresse. Ce que je souhaite c'est une fois le formulaire F_livraison en mode Ajout que celui indiquer par défaut le N° client sur lequel je rajoute cette nouvelle adresse.
0
Utilisateur anonyme
2 juin 2016 à 21:13
Re,

soit tu passes par un sous formulaire que Access gèrera, soit par du code vba que toi seul gères.

Mais oublies les macros, il vaut mieux passer par du vba

Tu veux un exemple vite fait ?


0
Utilisateur anonyme
2 juin 2016 à 21:15
le + simple est le sous form comme mis dans mon exemple, soit un bouton

Là c à toi de gérer

C'est pas compliqué
0
Utilisateur anonyme
2 juin 2016 à 21:38
tiens, je te mets la meme base,

ouvres le form client, et dis moi

A+

https://www.cjoint.com/c/FFctMcezEzi

++
0
ludo2935 Messages postés 9 Date d'inscription mercredi 1 juin 2016 Statut Membre Dernière intervention 16 septembre 2016
3 juin 2016 à 08:11
Bonjour et merci de votre aide.
Et voila ce que je recherchai. Je pense que je me compliquai un peu a passer par un macro. Maintenant il faudrait que le sous-formulaire se met à jour sur clic Command3 et ce sera au top. Mais j'ai bien compris le principe.
Par contre le bloque depuis sur le double clic sur le sous-formulaire. En fait, j'aimerai lorsque l'on double clic sur une ligne d'un enregistrement du sous-formulaire que le formulaire 'livraison_client' ouvre l'enregistrement sélectionné afin de pour modifier l’enregistrement par le formulaire 'livraison_client'. Normalement je passe par une macro: Ouvrir formulaire/ Where: [id_sous-formulaire] =" & Forms![Formulaire a ouvrir]![ID-formulaire] en mode modification. Ça fonctionne mais seul le premier enregistrement s'ouvre et pas les autres(ci je double clic sur le troisième, celui-ci ouvre toujours le premier enregistrement). Par contre comment supprimer un enregistrement sélectionner du sous-formulaire sans ouvrir le formulaire "livraison_client". Le but étant de pouvoir ajouter, modifier et supprimer un enregistrement. encore merci de votre aide.... J'avance Grand merci. je ne peux pas vous envoyer ma petite base car mon zip ne fonctionne pas. Toutefois, je peux vous l'envoyer par mail si vous le souhaitez. mais votre principe je le comprends et c'est le but. Merci a vous
0
Utilisateur anonyme
3 juin 2016 à 14:25
Bonjour,

envoies moi par mail si tu veux (herve.ducarneATgmail.commm). en enlevant les 2"m" de trop à la fin...

A+
0