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 :

Formulaire de recherche sur plusieurs tables


Sujet :

Access

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Deviseur
    Inscrit en
    Avril 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Deviseur

    Informations forums :
    Inscription : Avril 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Formulaire de recherche sur plusieurs tables
    Bonjour,

    Ayant pour habitude de coder mes formulaires en PHP, je galère à appréhender Access car je pense que c'est le meilleur outil afin de rendre le formulaire accessible à toute personne au sein même d'une entreprise (mais je peux me tromper dans le sens où je me doute que de coder en Java en faire carrément un mini-logiciel serait top mais alors là....).
    Voici ma difficulté:
    J'ai 2 tables dont la structure est identique mais les données enregistrées différentes pour les tranches de poids:

    num|dept|delai|20kg à 29kg|30kg à 39kg|40kg à 49kg| etc...

    Je souhaite faire un formulaire de recherche sur ces 2 tables afin qu'il me sorte le prix le moins cher en fonction du dept sélectionné et du poids renseigné.
    En PHP cela donnerait: "SELECT*FROM table1 JOIN table2 WHERE $num="dept" AND $poids="poids" ORDER BY" où mes variables $dept et $poids serait récupéré lors de l'envoi du formulaire.

    Sur Access, j'ai donc importé mes tables depuis un fichier Excel (une table/fichier Excel). Je crée ensuite une requête qui lie mes 2 tables puis..."Et là c'est le drame!" je ne comprends pas quel type de formulaire choisir et quels champs sélectionner car une fois l'assistant terminé, j'ai des champs partout!
    Dans mon formulaire, il me faudrait juste les champs suivants:
    Dept -> menu déroulant
    Poids -> dans l'idéal un imput texte qui correspond à une tranche de poids (ex: je rentre 25 kg qui correspondant à la colonne 20 à 29)
    "Envoyer"
    Hop! Ca me sort le prix du moins cher!!

    Si vous pouviez au moins m'aiguiller ou m'orienter vers des tutos qui résolvent mon problème (ceux que j'ai trouvé ici, jusqu'à présent, ne répondent pas exactement à mon pb cf Leloup et Cafeine) je vous en serais grandement reconnaissant!

    Merci par avance à tout ceux qui me répondront

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour,

    Pas d'assistant !

    Crées un formulaire vierge, colles-y autant de listes déroulantes basées sur les champs de la requête que de paramètres.

    Crées une requête SELECT depuis le générateur où pour chaque paramètres tu colles la référence de la liste du formulaire comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Forms.nomduform.liste1
    [EDIT] pour le poids :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >=Forms.nomduform.zonetexte1 
    <=Forms.nomduform.zonetexte1
    Pour récupérer la valeur tu peux utiliser un Dlookup() depuis VBA ou encore afficher le résultat dans une zone de liste... Bref il faut savoir comment tu veux afficher l'information.

    Es-tu certain qu'une requête UNION n'est pas plus indiquée pour rassembler le contenu de 2 tables identiques ?

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Deviseur
    Inscrit en
    Avril 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Deviseur

    Informations forums :
    Inscription : Avril 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci pour cette réponse.

    Je vais déjà essayer ça!

    Pour ce qui est de l'affichage du résultat, le résultat du formulaire doit m'afficher le nom de la table ou le prix est le moins cher pour le département sélectionné. En fait les 2 tables sont des tarifs transport donc me sortir le nom de la table me donnera donc le transporteur le moins cher.

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Dans ce cas je te conseille de créer un champ avec le nom de la table.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Deviseur
    Inscrit en
    Avril 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Deviseur

    Informations forums :
    Inscription : Avril 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Petite question subsidiaire! Une fois mes 2 tables créées, quelle est l'étape 2 avant de me lancer dans le formulaire? A quel moment interviennent les requêtes et relations?
    Parce que c'est tout bête mais lorsque je suis sur le formulaire et que j'y colle mes champs, je n'ai de choix que les champs d'une de mes 2 tables, donc je ne vois pas où la relation des 2 tables va se faire... Par ex pour le champs département, il est le même pour les 2 tables...

    En fait c'est plus un formulaire de comparaison que de recherche...

    Bref, pour résumer, je bloque après l'étape 1: créer des tables...

    J'ai regardé plusieurs tuto ici mais beaucoup ne sont pas établis sur ma version d'Access, autant dire que les visuels ne me parlent pas!

Discussions similaires

  1. Forger une requete de recherche sur plusieurs tables.
    Par robocop333 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 30/04/2008, 14h44
  2. Recherche sur plusieurs tables en même temps
    Par Zouzou1er dans le forum VBA Access
    Réponses: 5
    Dernier message: 09/10/2007, 09h40
  3. Recherche sur plusieurs tables
    Par micatmidog dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/06/2007, 16h28
  4. [MySQL] moteur de recherche sur plusieurs tables
    Par harlock59 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 10/04/2007, 15h23
  5. [MySQL] Recherche sur plusieurs tables
    Par hubidev dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/03/2006, 10h42

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