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

Requêtes et SQL. Discussion :

Execution de deux requêtes


Sujet :

Requêtes et SQL.

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Execution de deux requêtes
    Bonjour,

    après avoir trouvé une solution à mon problème grâce à vous: http://www.developpez.net/forums/d15...m-ponderation/ j'aimerai maintenant rendre tout cela utilisable facilement.

    Pour cela j'aimerai exécuter une première requête "Pour un besoin donné quel matériel est nécessaire:
    "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT [Architectures-besoins].Architecture, [Materiel pour architecture].ID_materiel, [Materiel pour architecture].Pondération, Materiel.Materiel
    FROM Materiel INNER JOIN ([Architectures-besoins] INNER JOIN [Materiel pour architecture] ON [Architectures-besoins].Architecture = [Materiel pour architecture].Architecture) ON Materiel.ID = [Materiel pour architecture].ID_materiel
    WHERE ((([Architectures-besoins].Besoin)="Automatic filling of the application"));
    puis ensuite, de manière automatique, une requête de trie sur la valeur de "pondération" qui s'appelle "Double requête tri pondération":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT [Pour un besoin donné quel matériel est nécessaire].Pondération, [Pour un besoin donné quel matériel est nécessaire].Architecture, [Pour un besoin donné quel matériel est nécessaire].ID_materiel, [Pour un besoin donné quel matériel est nécessaire].Materiel
    FROM [Pour un besoin donné quel matériel est nécessaire]
    WHERE ((([Pour un besoin donné quel matériel est nécessaire].Pondération)=DMax("Pondération","Pour un besoin donné quel matériel est nécessaire")));
    Quel est le moyen le plus simple de faire cela? Dans l'idéal il faudrait que cela soit facilement utilisable par n'importe qui. Une macro? Un formulaire?

    Merci d'avance

  2. #2
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 244
    Points : 135
    Points
    135
    Par défaut
    Il y a un super tutoriel, de mémoire, c'est "recherche multi-critère" de Loufab.
    Avec choix des tables, choix des champs et des critéres de choix.
    Je l'ai inclu dans une appli, et c'est super.
    Je recherche ça.

    Voir ici:

    http://loufab.developpez.com/tutorie...che1/#LIX-C%22

    JCB57
    Windows 10 - ACCESS 2007

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Bonjour DurDur,

    j'ai parcourus le tuto. Par contre je ne suis pas persuadé de comprendre l'intérêt qu'il peut avoir pour ma problématique. A priori ce tuto permet de faire une recherche dans des tables. Il ne permet pas d'automatiser l’exécution de deux requêtes l'une à la suite de l'autre.

    A+

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour.
    Je ne comprends pas bien où est le problème.
    Je suppose que tu veux afficher le résultat se la deuxième requête dans un formulaire.
    Dans ce cas il suffit de mettre en source de ton formulaire la deuxième requête.

    PS: attention aux dénominations:
    par exemple remplacer le nom de la requête "Pour un besoin donné quel matériel est nécessaire: " par "qryBesoinMateriel". Ce serait préférable.
    Un peu de lecture ici: http://argyronet.developpez.com/office/vba/convention/

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Je voyais une solution "plus simple". Par exemple j'ai essayé de faire une macro:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
     
    Public Sub DoSQL()
        Dim qry1 As String
        Dim qry2 As String
     
        qry1 = "SELECT [Architectures-besoins].Architecture, [Materiel pour architecture].ID_materiel, [Materiel pour architecture].Pondération, Materiel.Materiel"
    FROM Materiel INNER JOIN ([Architectures-besoins] INNER JOIN [Materiel pour architecture] ON [Architectures-besoins].Architecture = [Materiel pour architecture].Architecture) ON Materiel.ID = [Materiel pour architecture].ID_materiel
    WHERE ((([Architectures-besoins].Besoin)="Automatic filling of the application"))"
     
        qry2 = "SELECT [Pour un besoin donné quel matériel est nécessaire].Pondération, [Pour un besoin donné quel matériel est nécessaire].Architecture, [Pour un besoin donné quel matériel est nécessaire].ID_materiel, [Pour un besoin donné quel matériel est nécessaire].Materiel"
    FROM [Pour un besoin donné quel matériel est nécessaire]
    WHERE ((([Pour un besoin donné quel matériel est nécessaire].Pondération)=DMax("Pondération","Pour un besoin donné quel matériel est nécessaire")))"
     
     
    DoComd.RunSQL qry1
    DoComd.RunSQL qry2
     
    End Sub
    Par contre j'ai une erreur de compilation due à une erreur de syntaxe.
    Sachant qu'en plus la première requête sera une requête paramétrée à terme.

    EDIT: A priori on ne peut pas exécuter une requête de sélection avec cette commande. Si je souhaite conserver cette solution il faudrait que je trouve une autre commande qui permet d’exécuter ce type de requête.

Discussions similaires

  1. [MySQL] impossible d'executer mes deux updates a la suite
    Par budylove dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 03/05/2006, 14h49
  2. [MySQL] Afficher deux requêtes en deux colonnes
    Par SnickeursMan dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 21/11/2005, 11h19
  3. Mixer deux requêtes
    Par WriteLN dans le forum Requêtes
    Réponses: 3
    Dernier message: 14/11/2005, 09h34
  4. Afficher le ratio du résultat de deux requêtes
    Par decour dans le forum Access
    Réponses: 25
    Dernier message: 07/11/2005, 19h54
  5. Temps d'execution d'une requête
    Par Maglight dans le forum Bases de données
    Réponses: 3
    Dernier message: 27/01/2005, 08h38

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