IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Données formulaire dans une requête


Sujet :

Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 31
    Points : 7
    Points
    7
    Par défaut Données formulaire dans une requête
    Bonjour tout le monde !

    Voilà mon problème : dans le cadre de la création de ma base de données j'aimerai prendre la valeur texte (issue d'une liste déroulante) saisie dans un champ de mon formulaire via ma requête et la faire correspondre a son code pour compléter un enregistrement.
    Il est a savoir que ma requête est une requête sélection qui va prendre les valeurs entrées dans une table incrustée au formulaire pour les enregistrer dans une autre table.

    Est-il possible de prendre un tel champ texte dans un formulaire, via une requête SQL ?
    Si oui pouvez vous, s'il vous plaît, me donner grosso-modo la structure de celle-ci ?

    En vous remerciant par avance !

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2012
    Messages : 24
    Points : 31
    Points
    31
    Par défaut
    Tu peux donner plus de détail.
    J'ai compris que tu voulais prendre la valeur sélectionnée dans la liste déroulante et l'injecter ailleurs c'est ça ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 31
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Merci de ta réponse.
    Oui c'est tout a fait ça ! Je veux que ma requête prennent la valeur texte dans la liste déroulante inséré dans mon formulaire pour la faire correspondre avec son code (numéro auto de la table dont est issue la valeur texte de la liste déroulante) et enfin que la requête l'injecte dans une nouvelle table.
    La requête prendra en même temps d'autres valeurs du formulaire que l'on saisit via un sous formulaire/sous état qu'elle fera également correspondre avec leur numéro auto de leurs tables d'origine (cette partie ne me pose pas de problème).

    J'aimerai simplement savoir s'il est possible pour une requête sélection de prendre le contenue d'une zone de liste déroulante ou d'un champ texte. Et si oui comment ?

    En vous remerciant par avance !

  4. #4
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Bonjour
    champ de mon formulaire via ma requête et la faire correspondre a son code pour compléter un enregistrement.
    Tu vas créer un critère de comparaison dans ta requête de selection sur le champ ID qui est de type NumeroAuto dont tu parles. çà va ressembler à un truc de ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Formulaires]![Ton_Formulaire]![Ton_champ]

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 31
    Points : 7
    Points
    7
    Par défaut
    Merci de ta réponse !

    Ça me donnerai le code suivant : [Formulaires]![Masque saisie analyses]![Matiere]= matieres.code_matiere ? C'est bien ça ?

    Je le mets donc dans la partie From ou Select ?

    Excusez moi je débuté vraiment en Access, SQL et VBA ...

  6. #6
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Tu mettras plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Formulaires]![Ton_Formulaire]![Ton_champ]
    dans le critère de ta requête selection, sous le champ Code_matiere. Ceci suppose donc que tu ouvres ta requête en Mode création et tu identifies le champ code_matiere, tu verras critère en dessous et tu placeras le code dessus.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 31
    Points : 7
    Points
    7
    Par défaut
    Il y a une forme de progrès ! Merci !

    Je tombe sur l'erreur 3061, trop peu de paramètre. 2 attendu (au sujet de la requête qui nous intéresse bien entendu). Faut t'il déclarer ces paramètres dans le code SQL ? Ou dans le code VBA ? Et surtout sous quel type de données les déclare t-on ?

  8. #8
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Non. Le paramètre c'est le critère que tu as inséré. Il faut donc que tu te rassure du nom que porte ta liste déroulante dans le formulaire. pour le faire, tu ouvres le formulaire en mode création, tu cliques sur le champ de la liste déroulante Pour afficher ses propriétés. Dans la section Autre, tu verras nom.
    C'est donc ce nom que tu indiqueras dans le critère.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Formulaires]![Ton_Formulaire]![Ton_champ] 
    Tu peux mettre ce critère dans la requête avec le générateur d'expression

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 31
    Points : 7
    Points
    7
    Par défaut
    D'accord.

    Alors après vérification sur tes conseils il n'y avait pas d'erreur d'orthographe de ce coté-ci. Par contre j'avais un résidu de déclaration de variable d'un précédent essai qui n'aurai pas du être là. Je l'ai supprimé et maintenant j'ai toujours la même erreur au même endroit simplement maintenant c'est 1 seul paramètre attendu...

  10. #10
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    maintenant c'est 1 seul paramètre attendu...
    c'est justement celui du formulaire.
    Pour exécuter donc ta requête il faut que le formulaire soit ouvert et qu'il y ait une valeur sélectionnée au niveau de la liste déroulante

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 31
    Points : 7
    Points
    7
    Par défaut
    C'est le cas...
    Peut il faire une confusion entre le code_matiere qui est une valeur numérique et la valeur texte que je sélectionne dans ma liste déroulante ?

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 31
    Points : 7
    Points
    7
    Par défaut
    D'ailleurs quand je veux aller dans le mode feuille de données de ma requête j'ai le mesage d'erreur suivant qui s'affiche : "Cette expression présente une syntaxe incorrecte, ou est trop complexe pour être évaluée. Par exemple, une expression numérique peut contenir des éléments trop compliqués. Essayez de la simplifier en en affectant des parties à des variables. (Erreur 3071)"

    Mais peut être est-ce dut à l'erreur précédente ?

    De plus le code SQL automatique met ceci en ce qui concerne le champ qui nous intéresse :

    WHERE (((matieres.code_matiere)=[Formulaires]![Masque saisie analyses]![Matiere]));

    Mais étant donné ce que je veux faire, je ne suis pas sûr que la fonction WHERE soit adapté...

  13. #13
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Si cela ne te gène pas alors poste ta BD sans données personnelles. Juste le formulaire, la requête et les tables qui participent à la requête.

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 31
    Points : 7
    Points
    7
    Par défaut
    Pièce jointe 343329

    J'ai laissé la plupart ds tables/requêtes (j'avais peur que des relations supprimés fassent réaction en chaîne).
    La requête concerné est Masque saisie analyse - aux

  15. #15
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    BDD Forum.zip
    Beaucoup de remarques sur la structure de ta base de données.
    - Relations: revoir l'intégrité référentielle
    - Table: Des champs supposés être de type Liste de choix ont des données mais de type Texte court au lieu de Numérique.
    - Revoir la requête de suppression et ton code VBA qui supprime tous les enregistrements de la table ms_analyse_temp.

    Alors il faut bien revoir certaines choses dans ta base de données.
    Cette requête fonctionne déjà normalement. Si tu n'as aucun résultat çà veut dire que ta requête de suppression a supprimée tous les enregistrements de la table ms_analyse_temp. Il faut donc les remettre toi-même et relancer la requête. Rassure toi aussi que les autres champs du formulaire sont remplis car le code vba les utilise pour lancer la requête de suppression.

    Cordialement

  16. #16
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 31
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Merci beaucoup pour ta réponse et ton temps !
    Alors j'ai travaillé une bonne partie de la matinée sur ce que tu m'as envoyé.
    Oui je suis d'accord niveau liaison j'ai pas fait quelque chose de très clair...

    Pour ce qui est des champs liste déroulante que tu me conseilles de mettre en numérique, ben c'est justement parce que après il y a du texte dans ce champs que je les avait mis ainsi. Avec ta méthode j'ai des erreurs de type (par exemple : la requête qui affiche les masque de saisie ne fonctionne pas), est ce donc si important qu'ils soient au format numérique ?

    Ensuite pour la requête qui nous intéresse : je ne comprends pas pourquoi tu as mis la table "corresp_unites" plutôt que la requête union "Correspondance unités"... Et au final on est toujours au même point : erreur 3061, trop peu de paramètres, 1 manquant...

    Quand à la requête de suppression je ne comprends pas ce que tu lui reproche ? Elle est ici pour nettoyer la table "ms_analyse_tmp" une fois les enregistrements fais sur les autres tables. On ne doit au final rien sauvegarder sur celle-ci...

    En te remerciant encore pour tes précieux conseils éclairés !

  17. #17
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    je ne comprends pas pourquoi tu as mis la table "corresp_unites" plutôt que la requête union "Correspondance unités"...
    je n'ai pas fais attention à la sous-requête.

    BDD Forum.zip

    Pour ce qui est des champs liste déroulante que tu me conseilles de mettre en numérique, ben c'est justement parce que après il y a du texte dans ce champs que je les avait mis ainsi
    il faut noter que même si une liste déroulante est supposée afficher du texte, à partir du moment où elle prend ses valeur dans une table, alors son type doit être numérique, car c'est l'ID de la table (clé primaire qui est en générale "dans la plupart des cas" de type NuméroAuto) alors cette liste déroulante affiche bien du texte mais avec une clé primaire liée cachée. c'est pour cette raison qu'elle est de type Numérique (car elle fait la correspondance avec NuméroAuto de la table associée).
    si au contraire cette liste déroulante ne puise pas ses données dans une table et que tu les as toi-même entré lors de la création de la liste déroulante alors il en va de soi de garder le type Texte court.

    cordialement

  18. #18
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 31
    Points : 7
    Points
    7
    Par défaut
    Bonjour !

    Merci pour ta réponse.

    Bon d'accord je vais faire comme tu me l'as dis et passer mes listes déroulantes en champs numérique. Mais du coup je vais avoir le même problème : la requête "Masque saisie analyse - initialisation" ne fonctionnera plus, ou du moins ne m'affichera plus les champs qu'elle devrait afficher... parce que l'on passe a un format numérique.

    Mais bon je vais faire des recherches pour remédier a cela...

    Je ne vais pas te déranger plus longtemps d'autant plus que ma question de base est résolu !

    En te remerciant pour ta patience,

    Sinnastre

  19. #19
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Bonjour
    : la requête "Masque saisie analyse - initialisation" ne fonctionnera plus, ou du moins ne m'affichera plus les champs qu'elle devrait afficher... parce que l'on passe a un format numérique.
    Il suffit à ce niveau d'appliquer des modifications comme je l'ai dit et recréer juste ta requête. Tout ira bien

    En passant n'oublie pas de cliquer sur Résolu

  20. #20
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 31
    Points : 7
    Points
    7
    Par défaut
    Non il n'y a rien a faire...

    J'ai passé tous mes champs déroulants au format numérique et maintenant je ne peux même plus choisir l'un des paramètres puisque c'est du texte et qu'il me dis que "La valeur que vous avez entrée ne corresponds pas au type de données Numérique dans cette colonne --'

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/03/2007, 17h47
  2. [Sécurité] Sécurité portable pour les données utilisées dans une requête
    Par berceker united dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/07/2006, 14h48
  3. [SQL] Récupérer des variables de formulaire dans une requête SQL
    Par psychoBob dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/11/2005, 18h44
  4. Format de données numériques dans une requête
    Par Aurèl90 dans le forum Access
    Réponses: 1
    Dernier message: 16/11/2005, 10h40
  5. Réponses: 5
    Dernier message: 19/10/2005, 14h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo