Access : passage de valeurs
Fermé
bob_eponge
Messages postés
261
Date d'inscription
vendredi 19 août 2005
Statut
Membre
Dernière intervention
14 février 2014
-
30 mars 2006 à 15:17
zenon Messages postés 726 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 13 février 2010 - 1 avril 2006 à 23:21
zenon Messages postés 726 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 13 février 2010 - 1 avril 2006 à 23:21
A voir également:
- Access : passage de valeurs
- Chronopost pas d'avis de passage ✓ - Forum Vos droits sur internet
- Passage windows 7 à 10 - Guide
- Access denied - Forum Bbox Bouygues
- Passage qwerty azerty - Guide
- Exemple base de données access à télécharger gratuit - Forum Access
5 réponses
zenon
Messages postés
726
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
13 février 2010
181
30 mars 2006 à 15:59
30 mars 2006 à 15:59
Salut,
Je pense que tu te compliques la vie inutilement:
Si je comprends bien tu veux ouvrir le Form Switchboard2 en mode ajout et attribuer le N°ID récupéré du form sur lequel se trouve ton bouton pour l'ajouter au nouvel enregistrement de Switchboard2?
DoCmd.OpenForm "Switchboard2", , , , acFormAdd
L'argument Me.[n°id] est inutile puisque par définition tu es sur un nouvel enregistrement...
Pour ajouter la valeur Id:
Forms!Switchboard2!N°id=Me!N°id
Si tu veux exécuter une macro tu peux t'y référer directement sans déclarer de variable comme l'aide le propose toujours:
DoCmd.RunMacro "NomDeLaMacro"
Personnellement, je préfère exécuter le code directement...
Je ne comprends pas ce que tu veux faire avec la deuxième partie de ton code. (jamais entendu parler de Clng())
D'autre part, le terme OpenArg ne fonctionne pas tel quel mais tu dois ajouter les arguments que tu veux voir appliquer.
Je pense que tu te compliques la vie inutilement:
Si je comprends bien tu veux ouvrir le Form Switchboard2 en mode ajout et attribuer le N°ID récupéré du form sur lequel se trouve ton bouton pour l'ajouter au nouvel enregistrement de Switchboard2?
DoCmd.OpenForm "Switchboard2", , , , acFormAdd
L'argument Me.[n°id] est inutile puisque par définition tu es sur un nouvel enregistrement...
Pour ajouter la valeur Id:
Forms!Switchboard2!N°id=Me!N°id
Si tu veux exécuter une macro tu peux t'y référer directement sans déclarer de variable comme l'aide le propose toujours:
DoCmd.RunMacro "NomDeLaMacro"
Personnellement, je préfère exécuter le code directement...
Je ne comprends pas ce que tu veux faire avec la deuxième partie de ton code. (jamais entendu parler de Clng())
D'autre part, le terme OpenArg ne fonctionne pas tel quel mais tu dois ajouter les arguments que tu veux voir appliquer.
zenon
Messages postés
726
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
13 février 2010
181
30 mars 2006 à 20:01
30 mars 2006 à 20:01
Sur ouverture de ton Form accueil, tu peux mettre le N°id dans un champ texte indépendant, par exemple et y faire référence lorsque tu ouvres tes autres formulaires.
Pour ça il suffit soit sur ouverture du Form, soit sur clic d'un bouton de commande du form identification d'ajouter
NomDuChampTexte = Forms!Identification!N°id
puis tu ajoutes le code sur clic dans un bouton de commande du Form accueil:
DoCmd.OpenForm "NomDuForm",,,AcFormAdd
Forms!NomDuForm!N°id = Forms!FormAccueil!NomDuChampTexte
Maintenant, il faut être sûr que l'utilisateur ne peut passer par le Form accueil que s'il doit ajouter un enregistrement puisque à chaque ouverture, tu vas ajouter un enregistrement...
Ne serait-ce pas plus simple d'appeler ces formulaires directement à partir du Form identification?
Pour ça il suffit soit sur ouverture du Form, soit sur clic d'un bouton de commande du form identification d'ajouter
NomDuChampTexte = Forms!Identification!N°id
puis tu ajoutes le code sur clic dans un bouton de commande du Form accueil:
DoCmd.OpenForm "NomDuForm",,,AcFormAdd
Forms!NomDuForm!N°id = Forms!FormAccueil!NomDuChampTexte
Maintenant, il faut être sûr que l'utilisateur ne peut passer par le Form accueil que s'il doit ajouter un enregistrement puisque à chaque ouverture, tu vas ajouter un enregistrement...
Ne serait-ce pas plus simple d'appeler ces formulaires directement à partir du Form identification?
bob_eponge
Messages postés
261
Date d'inscription
vendredi 19 août 2005
Statut
Membre
Dernière intervention
14 février 2014
7
31 mars 2006 à 10:59
31 mars 2006 à 10:59
merci pour la réponse !!
A ta question je répondrais "c'est pas faux !".
j'avoue que je n'avais pas pensé à çà ... je peux le faire en incluant sur mon form identification des boutons clic qui vont directement sur les formulaires ?!
je vais tenter çà, effectivement je pense que çà doit être plus simple ?!
j'essaie et je te tiens au courant !
encore merci
A ta question je répondrais "c'est pas faux !".
j'avoue que je n'avais pas pensé à çà ... je peux le faire en incluant sur mon form identification des boutons clic qui vont directement sur les formulaires ?!
je vais tenter çà, effectivement je pense que çà doit être plus simple ?!
j'essaie et je te tiens au courant !
encore merci
zenon
Messages postés
726
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
13 février 2010
181
31 mars 2006 à 11:47
31 mars 2006 à 11:47
Il y a aussi la possibilité du ou des sous-formulaires.
Avec des relations 1-n et en paramétrant les champs père et fils le N°id peut être ajouté automatiquement par access et les sous -formulaires sont triés automatiquement.
On peut appeler un ss formulaire par un bouton (le plus simple pour commencer serait de les construire avec l'assistant, ce qui n'empêche pas de les modifier par la suite).
Avec des relations 1-n et en paramétrant les champs père et fils le N°id peut être ajouté automatiquement par access et les sous -formulaires sont triés automatiquement.
On peut appeler un ss formulaire par un bouton (le plus simple pour commencer serait de les construire avec l'assistant, ce qui n'empêche pas de les modifier par la suite).
bob_eponge
Messages postés
261
Date d'inscription
vendredi 19 août 2005
Statut
Membre
Dernière intervention
14 février 2014
7
31 mars 2006 à 14:26
31 mars 2006 à 14:26
je crée un bouton commande avec l'assistant mais après j'ai un tas d'options ??? la quelle dois je prendre pour faire çà ? car je veux qu'il m'ouvre le formulaire et qu'il me recopie mon id .
??
??
Bonjour,
Pour donner suite :
1.) Ouvrir le formulaire en mode édition
2.) Sélectionner le bouton
3.) Menu //Affichage / Propriété / Onglet Évènement
4.) Choisir la ligne [ Sur clic ... ] / Sélectionner [ Procédure événementielle]
5.) Cliquer sur les trois petits points, vous arriverez directement dessus :-)
Lupin
Pour donner suite :
1.) Ouvrir le formulaire en mode édition
2.) Sélectionner le bouton
3.) Menu //Affichage / Propriété / Onglet Évènement
4.) Choisir la ligne [ Sur clic ... ] / Sélectionner [ Procédure événementielle]
5.) Cliquer sur les trois petits points, vous arriverez directement dessus :-)
Lupin
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
zenon
Messages postés
726
Date d'inscription
jeudi 30 septembre 2004
Statut
Membre
Dernière intervention
13 février 2010
181
1 avril 2006 à 23:21
1 avril 2006 à 23:21
Pour ce qui concerne l'assistant:
Tes tables connexes doivent comporter une référence (clé externe, au format entier long) à la clé primaire de ta table identification et tu devrais établir une relation entre ces tables (probablement 1-n) (ça tu le sais déjà puisque tu essaies d'inclure la valeur de la clé dans les autres tables).
Choisis "créer un formulaire avec l'assistant".
La première boite de dialogue permet de sélectionner les champs que tu veux avoir dans le formulaire mais aussi plusieurs tables. C'est là qu'access va permettre de créer automatiquement les paramètres qui vont lier les tables et permettre la mise à jour automatique des clés externes.
Les autres boites de dialogue sont moins importantes. Elles concernent la présentation (tableau, feuille de données...) qu'on peut modifier ensuite mais elles permettent aussi de choisir des sous-formulaires ou des formulaires dépendants appelés par des boutons de commande.
Tu n'obtiendras surement pas exactement ce que tu recherches mais la structure sera là et tu pourras voir comment ça marche pour être à même de le faire sans l'assitant par la suite.
Tu verras qu'avec ce système, il n'est pas nécessaire de définir soi-même la valeur de la clé externe mais qu'Access l'ajoute automatiquement et trie les enregistrement existants pour n'afficher que ceux qui sont liés à l'enregistrement actif du formulaire principal...
Tes tables connexes doivent comporter une référence (clé externe, au format entier long) à la clé primaire de ta table identification et tu devrais établir une relation entre ces tables (probablement 1-n) (ça tu le sais déjà puisque tu essaies d'inclure la valeur de la clé dans les autres tables).
Choisis "créer un formulaire avec l'assistant".
La première boite de dialogue permet de sélectionner les champs que tu veux avoir dans le formulaire mais aussi plusieurs tables. C'est là qu'access va permettre de créer automatiquement les paramètres qui vont lier les tables et permettre la mise à jour automatique des clés externes.
Les autres boites de dialogue sont moins importantes. Elles concernent la présentation (tableau, feuille de données...) qu'on peut modifier ensuite mais elles permettent aussi de choisir des sous-formulaires ou des formulaires dépendants appelés par des boutons de commande.
Tu n'obtiendras surement pas exactement ce que tu recherches mais la structure sera là et tu pourras voir comment ça marche pour être à même de le faire sans l'assitant par la suite.
Tu verras qu'avec ce système, il n'est pas nécessaire de définir soi-même la valeur de la clé externe mais qu'Access l'ajoute automatiquement et trie les enregistrement existants pour n'afficher que ceux qui sont liés à l'enregistrement actif du formulaire principal...
30 mars 2006 à 16:17
toujours aussi bien ce site !
merci pour ta réponse !
(Clng convertit en entier long)
le truc c'est que dans mon premier formulaire (identification) je rentre les données principale (nom,..) et un numéro d'id se crée automatiquement (n°id). ensuite je valide et arrive mon menu avec différents autres formulaires. Je veux simplement que mon id soit recopier dans ces autres formulaires.
je vais essayer comme tu me l'as expliqué.
encore merci
30 mars 2006 à 16:31
peux tu me dire où je dois mettre le code que tu m'as donné stp (je ne suis pas super à l'aise avec le code...)
parce que là je me suis trompé çà marche pas... il dit que "il ne trouve pas n°id auquel il est fait référence dans mon expression" .. ?