Access, requete sur plusieurs tables... besoin d'un coup de main
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Access, requete sur plusieurs tables... besoin d'un coup de main



  1. #1
    invite05a67b21

    Access, requete sur plusieurs tables... besoin d'un coup de main


    ------

    Bonjour,

    j'aurais bien encore un petit problème à vous soumettre si cela est possible...

    J'ai schématisé mon problème ci-dessous :

    Base.mdp

    Table1 : nom de la compagnie et du pays où elle est.

    Compagnie Pays
    AZER France
    TYTY Espagne
    FRTP Italie
    BILLS Allemagne


    Table 2 : (num de série, pays et prix)

    Numéro Série Pays Prix
    1 France 123€
    2 Allemagne 123€
    3 France 121€
    4 Espagne 125€
    5 France 125€
    6 France 126€
    7 Italie 127€
    8 France 127€
    9 France 128€
    10 Allemagne 129€
    11 France 122€
    12 Espagne 121€


    Avec un menu déroulant (formulaire par exemple), choisir une compagnie et obtenir une liste de tous les numéros de série et prix de cette compagnie.

    Exemple :

    (Choix du menu déroulant) : AZER (On trie par le pays ? on relie les tables ?)

    Cela renverra les infos : correspondant au pays de la compagnie, ici la France pour AZER

    Numéro Série Pays Prix
    1 France 123€
    3 France 121€
    5 France 125€
    6 France 126€
    8 France 127€
    9 France 128€
    11 France 122€


    En vous remerciant par avance,


    -----

  2. #2
    invite8666d089

    Re : Access, requete sur plusieurs tables... besoin d'un coup de main

    La solution en 4 temps est très proche de celle que je t'ai donnée il y a quelques jours dans SOS Access.
    Je crois que tu vas devoir sérieusement bosser Access, puis VBE.

    1er temps.
    Il suffit de créer une requête pour extraire de la table 2 les noms distincts des pays.
    On nommera cette requête "Pays".

    Son code sql est :
    Code:
    SELECT DISTINCT [Table2].[Pays] FROM Table2;
    2e temps
    On crée un formulaire en mode création contenant une ListBox et un bouton. Le détail est le suivant :
    - double clic sur "Créer un formulaire en mode création"
    - déposer sur la feuille une ListBox
    - Suivant
    - sélectionner l'option requête
    - Suivant
    - Cliquer sur le bouton > pour insérer la requête "Pays"
    - Suivant...Suivant...Terminer
    - déposer un bouton sur la feuille
    - sélectionner la catégorie "Applications" et l'action "Exécuter une application"
    - Suivant
    - comme ligne de commande, entrer "Traitement" (sans les guillemets)
    - Suivant...Suivant
    - nommer le bouton "Commande"
    - Terminer
    - Fermer la fenêtre et nommer le formulaire "Formulaire1"

    3e temps
    - Alt+F11 pour accéder à l'éditeur VB (VBE)
    - double clic sur Form_Formulaire1 qui se trouve dans le dossier Microsoft Access Objets de classe (à gauche)
    - remplacer tout le contenu par le code suivant :
    Code:
    Option Compare Database
    Option Explicit
    
    Private Sub Commande_Click()
      Traitement
    End Sub
    4e et dernier temps
    - Insérer un module (menu Insertion...Module)
    - double clic sur Module1
    - remplacer tout le contenu par
    Code:
    Option Compare Database
    Option Explicit
    
    Sub Traitement()
      Dim Selection, Sql As String
      Dim Dbs As Database
      Dim rs As DAO.Recordset
      Dim Qdf As QueryDef
      
      Selection = Form_Formulaire1!ListePays.Value
      
      Sql = "SELECT [Table2].[Pays], [Table2].[Prix] FROM Table2 WHERE [Table2].[Pays]=" & "'" & Selection & "';"
      
      Set Dbs = CurrentDb()
    
      Set rs = Dbs.OpenRecordset(Sql, dbOpenSnapshot)
    
      With Dbs
        Set Qdf = .CreateQueryDef("Extraction", Sql)
        DoCmd.OpenQuery "Extraction"
        .QueryDefs.Delete "Extraction"
      End With
      
      Dbs.Close
      Qdf.Close
    End Sub
    Il ne te reste plus qu'à quitter VBE et à lancer ton formulaire pour extraire les données qui t'intéressent.

    Si besoin d'une base d'exercice, n'hésite pas.

  3. #3
    invite8666d089

    Re : Access, requete sur plusieurs tables... besoin d'un coup de main

    Le mieux est d'ailleurs que tu passes un peu de temps sur la base d'exercice. Tu la trouveras ici.

Discussions similaires

  1. [Access 2003] Formulaire d'entrée avec plusieurs tables
    Par invite3b908fae dans le forum Programmation et langages, Algorithmique
    Réponses: 8
    Dernier message: 04/01/2011, 16h10
  2. Etude sur le deuil - Besoin d'un coup de main !
    Par invitedf8ddb0b dans le forum Santé et médecine générale
    Réponses: 1
    Dernier message: 26/10/2010, 17h13
  3. Besoin d'un coup de main
    Par inviteee07f670 dans le forum Électronique
    Réponses: 3
    Dernier message: 19/08/2006, 19h26
  4. besoin d'un coup de main
    Par invite1259817c dans le forum [ARCHIVE] Psychologie / Sociologie
    Réponses: 2
    Dernier message: 15/11/2004, 20h43
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...