Ouvrir formulaire pré-rempli en vba

Résolu/Fermé
Signaler
Messages postés
34
Date d'inscription
mercredi 10 avril 2013
Statut
Membre
Dernière intervention
24 juin 2016
-
Messages postés
34
Date d'inscription
mercredi 10 avril 2013
Statut
Membre
Dernière intervention
24 juin 2016
-
Bonjour,

Je possède 2 formulaires : Client et Contrat

et je voudrais qu'après avoir saisie les informations du client , je lui crée un Contrat , c'est à dire un nouvel enregistrement dans le formulaire contrat .et donc je veux que les champs NomClient, PrénomClient, DateNaissance du client se remplissent automatiquement sur le contrat .

Voici le code que j'ai utilisé , mais cela ne marche pas , ça m'ouvre un formulaire contrat vide

If Me.Dirty Then Exit Sub 

Dim strNom, strprenom, strDate, strcivilite As String 

strNom = Me.nom 
strprenom = Me.prénom 
strDate = Me.date_naissance 
strcivilite = Me.CIVILITÉ 


DoCmd.OpenForm "contrat", acNormal, , , acFormAdd 


Me.Nom = strNom 
Me.prénom = strprenom 
Me.CIVILITÉ = strcivilite 
Me.date_naissance = strDate 



si quelqu'un peut m'aider svp , merci d'avance

Cordialement.



3 réponses

Messages postés
73
Date d'inscription
lundi 29 avril 2013
Statut
Membre
Dernière intervention
21 janvier 2015

Si j'ai bien compris pour toi il suffirai d'un formulaire crée avant l'assistant formulaire, tu devrais essayer et tu me diras si ce que ça donne te conviens.
0
STOP!
Tu fais complètement fausse route. Il te faut des sous-formulaires attachés aux clients pour tes contrats, et non pas recopier chaque fois les identités de tes clients sur chacun de tes contrats.
Par ailleurs, la question centrale n'est pas les formulaires mais les tables et leurs liaisons ainsi que les requêtes. Le reste suivra tout seul.
Où en es-tu dans la connaissance de la construction des BdD? C'est la question qui se pose.
0
Messages postés
34
Date d'inscription
mercredi 10 avril 2013
Statut
Membre
Dernière intervention
24 juin 2016

Merci à Tous d'avoir répondu à mon sujet , le problème a été résolu

@Tessel75 : les tables contrats et clients sont bien liées entre eux , et on ne pourra pas utiliser une requête dans ce cas là, la requête marchera que si les tables contrat et client sont remplies , alors que au moment de saisie des infos clients , le contrat est vide , la requête ne retournera rien du tout.


J'ai mis :

DoCmd.OpenForm "contrat", acNormal, , , acFormAdd 
Forms("Contrat").Controls("nom") = Me.nom 
Forms("Contrat").Controls("prénom") = Me.prénom 
Forms("Contrat").Controls("civilité") = Me.CIVILITÉ 
Forms("Contrat").Controls("dtae_de_naissance") = Me.date_de_naissance 


et ça marche parfaitement.

Cordialement.
0