|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : février 2008 Messages : 21 ![]() |
Bonjour,
Je poste ce message car malgré les quelques heures que j'ai passé sur differents tutoriaux/forum/FAQ, je n'arrive toujours pas à réaliser ce que je veux. Je réalise une BDD sous access. J'aimerais à partir d'un formulaire réaliser les tâches suivantes depuis un bouton. 1.Ouvrir un autre formulaire 2.Ajouter un élement depuis celui-ci. (comme le bouton "Add Reccord"). 3.Remplir automatiquement un champ de ce formulaire avec une donnée du formulaire en cours. 4.Fermer le formulaire en cours. Explications: Ma BDD concerne l'organisation de voyage. J'ai donc une table "participant" avec un formulaire associé (Nom,Prénom,Etc ....). J'ai aussi une table "inscription à un voyage" (date du voyage, prix, Etc....) et le formulaire associé. J'aimerais à partir du formulaire "participant", un bouton qui : -Ouvre le formulaire "inscription" -remplisse le champs Part_ID avec le champ ID_Participant (primary key de la table "Participant". -Ferme le formulaire "particpants". J'ai procedé de la façon suivante : Rajout d'un bouton "Open Form" dans le formulaire "participants". Modification du code en VBA de celui-ci : Code :
Lorsque je clique sur le bouton j'ai le message d'erreur suivant : "Microsoft Access can't find the field '|' referred in your expression" ------------------------------------------------------------- Je pense avoir une grosse erreur de syntaxe de vba (que je ne connais pas) dans mon code. Ca serait vraiment sympa de me décoincer ! Merci Manu |
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : mars 2006 Messages : 2 319 ![]() |
Bonjour.....
Effectivement tu as une petite erreur de syntaxe dans la ligne de code suivante.: Code :
DoCmd.OpenForm stDocName, , , [ID participant] = " & Me.[Part_Id]" Code :
DoCmd.OpenForm stDocName, , , "[ID participant]= " & Me.Part_Id ...tu trouveras une explication plus détaillée concernant la syntaxe a adopter en fonction du type de ton champ (Texte, numérique.)Comment inclure des champs d'un formulaire dans une requête ? http://access.developpez.com/faq/?pa...riteres#txtQry Bonne continuation....
__________________
FreeAccess "Petit à petit l'araignée tisse sa toile" |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Inscription : mai 2006 Messages : 1 298 ![]() |
Bonjour,
Transforme Code :
DoCmd.OpenForm stDocName, , , [ID participant] = " & Me.[Part_Id]" Code :
DoCmd.OpenForm stDocName, , , [ID participant] = " & Me.[Part_Id] Code :
DoCmd.OpenForm stDocName, , , [ID participant] = '" & Me.[Part_Id] & "'" |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : mai 2006 Messages : 1 298 ![]() |
Bonjour FreeAccess,
Désolé, je n'avais pas vu ta réponse |
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Inscription : mars 2006 Messages : 2 319 ![]() |
Bonjour Gabout.....
....cela lui fera une confirmation..... Par contre attention aux guillemets.......
__________________
FreeAccess "Petit à petit l'araignée tisse sa toile" |
|
|
00
|
|
|
#6 | ||
|
Invité de passage
![]() Inscription : février 2008 Messages : 21 ![]() |
Bonsoir !
Merci beaucoup pour vos réponses rapide. En effet, plus de problème de syntaxe. Cependant le passage de paramètre ne marche pas : ID participant reste à 0 .Il ne me semble pas qu'il y ait une erreur de conversion de type: Les deux sont des "numbers" (enfin [ID part] est un Auto number). Le code actuel : Code :
A+ |
||
|
|
00
|
|
|
#7 | |
|
Expert Confirmé
![]() Inscription : mars 2006 Messages : 2 319 ![]() |
Ok.....autant pour moi, je n'avais pas lu complétement ton explication.....
Citation:
__________________
FreeAccess "Petit à petit l'araignée tisse sa toile" |
|
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 21 ![]() |
|
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 21 ![]() |
Voici ma base de donnée, si quelqu'un à 5 minutes pour regarder au cas ou ....
|
|
|
00
|
|
|
#10 | ||||
|
Expert Confirmé
![]() Inscription : mars 2006 Messages : 2 319 ![]() |
Sans regarder ta base.....si tu veux pouvoir passer une valeur d'un formulaire à l'autre, tu peux procéder ainsi....
Sur ton formulaire "participants" tu a ton champ [Part_Id] qui contient une valeur soit en saisie ou lié à une table... Sur ce même formulaire, ton bouton de contrôle qui va ouvrir le formulaire "inscription" et passer en paramètres la valeur de ton champ [Part_Id]..: Code :
Code :
Pour plus de précisions, regarde l'aide d'Access sur l'argument OpenArgs de OpenForm....
__________________
FreeAccess "Petit à petit l'araignée tisse sa toile" |
||||
|
|
00
|
|
|
#11 | ||||
|
Invité de passage
![]() Inscription : février 2008 Messages : 21 ![]() |
Re Re salut,
Merci pour tes réponses. J'avais déjà essayé cette méthode. Il doit y avoir quelque chose que j'ai pas compris. Dans le code du bouton j'ai mis : Code :
Code :
" Compile Error : Method or Data mumber not found" |
||||
|
|
00
|
|
|
#12 | |
|
Expert Confirmé
![]() Inscription : mars 2006 Messages : 2 319 ![]() |
Citation:
Ensuite quand tu ouvre ton formulaire "inscription" tu dois te positionner sur un enregistrement vide....
__________________
FreeAccess "Petit à petit l'araignée tisse sa toile" |
|
|
|
00
|
|
|
#13 | ||||||
|
Invité de passage
![]() Inscription : février 2008 Messages : 21 ![]() |
Salut,
Logiquement j'ai bien un champ ""Part_Id" sur le formulaire "participant" (cela ne marche toujours pas avec "text166" J'ai fait les modifications suivantes (je confondais valeur d'une champ et champ d'un formulaire) : Dans le code du bouton j'ai mis : Code :
Dans le code de la page "inscription" : Code :
Et j'ai le message d'erreur suivant : Citation:
Citation:
Je pense qu'il me manque de gros prérequis sur Access, j'essaye quand même de me débrouiller à l'aide des FAQ. En tout cas , merci à vs ! |
||||||
|
|
00
|
|
|
#14 | |||
|
Expert Confirmé
![]() Inscription : mars 2006 Messages : 2 319 ![]() |
Citation:
Maintenant, si j'ai bien compris ce que tu voulais faire avec ta base.... ...lors de l'inscription d'une personne tu souhaite "récupérer" la valeur du champ [Part_Id] contenue dans ton contrôle (Text166).....et lors de l'ouverture du formulaire "inscription" recopier cette valeur dans le champ (Text123). La première partie de ton code réalise cela correctement.: Code :
DoCmd.OpenForm "inscription", , , , , , Me.Text166.Value Puisque tu va créer une nouvelle inscription pour cette personne, place directement ton Formulaire "inscription" sur un enregistrement vide...: ...et tu modifie le code sur l'événement "Sur ouverture"...: Code :
__________________
FreeAccess "Petit à petit l'araignée tisse sa toile" |
|||
|
|
00
|
|
|
#15 | ||
|
Invité de passage
![]() Inscription : février 2008 Messages : 21 ![]() |
Arrrrrrrrrrrggggggggggg
Merci beaucoup pour tes réponses claires et rapides mais .... J'ai modifié la proprieté "Entrée données" = oui . Ensuite j'ai modifié le code "sur ouverture" de mon formulaire. Code :
"Compile Error : Method or Data mumber not found" On va y arriver ! |
||
|
|
00
|
|
|
#16 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 21 ![]() |
Je sais pas comment te remercier !!!
Si jamais un jour tu as besoin d'un coup de main en assembleur je suis la ! |
|
|
00
|
|
|
#17 |
|
Expert Confirmé
![]() Inscription : mars 2006 Messages : 2 319 ![]() |
Houla, "l'assembleur" ça fait au moins 20 ans que je n'y ai plus mis le nez.....mais merci quand même.....
Et n'oublie pas si ton problème est réglé de mettre le tag
__________________
FreeAccess "Petit à petit l'araignée tisse sa toile" |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com