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 :

Requêtes et variables [AC-2013]


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Homme Profil pro
    Entrepreneur
    Inscrit en
    Février 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Entrepreneur
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Février 2013
    Messages : 18
    Points : 16
    Points
    16
    Par défaut Requêtes et variables
    Bonsoir,

    Mon souci est le suivant :
    J'ai une table intitulée Tab_FooFraL1 qui répertorie toutes les équipes de Ligue 1 du Championnat de foot français. J'ai trois champs dans une autre table Tab_Resultats qui sont [Ref_Sport],[Ref_Pays] et [Ref_Competition].
    Dans un enregistrement de la table Tab_Resultats, j'ai [Ref_Sport]="Foo", [Ref_Pays]="Fra" et [Ref_Competition]="L1". Ces trois données sont de type Texte court.
    Ma question : Avec une requête qui utilise le mot clé SELECT est-ce-que SELECT Tab_FooFraL1 est équivalent à SELECT "Tab_" & [Ref_Sport] & [Ref_Pays] & [Ref_Competition].?
    Ou encore comment puis-je, dans une feuille de données (et non pas dans un formulaire) créer une liste déroulante en fonction d'un champs de cette feuille?
    D'avance merci de l'attention que vous porterez à ce problème.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 371
    Points : 23 845
    Points
    23 845
    Par défaut
    Bonjour.

    Dans du SQL pur tu ne peux pas calculer le nom d'un champ. On réserve cela généralement au VBA et on appelle cela, habituellement, du SQL dynamique.

    Si tu veux quand même faire ce que tu décris en SQL, tu peux contourner le problème en utilisant Dfirst() mais nom du champ résultat sera fixe.

    Ceci dit il me semble y semble avoir une problème de structure pour tes données. Tu ne devrais pas avoir une table par sport, pays et compétition. Habituellement on a la structure suivante :

    tblresultat
    ClefResultat
    CodeSport
    CodePays
    NumCompetition
    Resultat
    Autres champs reliés au résultat (ex : DateResultat)

    quand on veux voir par exemple les résultats de la France en foot pour la 2ième compétition on écrit un truc du genre :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select tblResultat.* from tblresultat where CodeSport="FOOT" and CodePays="FR" and NumCompetition=2

    On a donc une seule table et autant de requêtes que nécessaire. Et on peut utiliser des paramètres à la place de "FOOT" et "FR" et de 2 pour ne pas avoir à créer une requête par pays, sport et compétition.

    A+

  3. #3
    Membre à l'essai
    Homme Profil pro
    Entrepreneur
    Inscrit en
    Février 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Entrepreneur
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Février 2013
    Messages : 18
    Points : 16
    Points
    16
    Par défaut
    Bonjour marot_r,

    Et merci de votre réponse. quand vous mettez :
    select tblResultat.* from tblresultat where CodeSport="FOOT" and CodePays="FR" and NumCompetition=2,
    mon souhait était en fait que lors de la saisie par exemple du mot "FOOT" dans la colonne CodeSport et de "2" dans la colonne des NumCompetition dans un enregistrement, une liste déroulante concernant les équipes de football de ligue 2 me soit proposée. Autant je sais que l'on peut le faire dans un formulaire autant j'aimerais pouvoir le faire dans une feuille de données et cela sans passer par VBA.

    Merci quand même de bien avoir voulu me donner une piste de travail.

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 371
    Points : 23 845
    Points
    23 845
    Par défaut
    Bonjour

    Je ne suis pas certain de ce que tu classes dans "Feuille de données".

    Est-ce une table affichée sans passer par un formulaire ?
    Est-ce une requête affichée sans passer par un formulaire ?

    Si oui, il n'existe pas de moyen à part les filtres pour sélectionner des enregistrements directement.

    Pour un plus grand contrôle sur l'interface, on passe généralement par un formulaire qui peut être éventuellement en mode "Feuille de données".

    A+

  5. #5
    Membre à l'essai
    Homme Profil pro
    Entrepreneur
    Inscrit en
    Février 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Entrepreneur
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Février 2013
    Messages : 18
    Points : 16
    Points
    16
    Par défaut
    Bonsoir,

    Merci de votre réponse.

    Je "m'auto-forme" à Access après avoir exploré Excel et VBA. Mon changement vient du fait que j'avais l'impression de recréer des outils "Bases de données" avec Excel et donc ai préféré quitter le confort de ce que je connais bien Pour le programme Access. J'en suis pour l'instant à explorer les tables et les requêtes et attaquerais bientôt les formulaires et états. Si effectivement via un formulaire, que l'on peut présenter comme une feuille de données j'obtiens ce que je souhaite, alors je considère cette discussion comme résolue.

    Merci pour tout.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ajouter le résultat d une requête à la variable d une table
    Par Claire07 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 19/06/2006, 15h03
  2. Etat basé sur requête à champs variables
    Par hmonnet dans le forum Access
    Réponses: 2
    Dernier message: 10/11/2005, 09h19
  3. affecter le résultat d'une requête à une variable
    Par zut94 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 06/10/2005, 18h21
  4. Requête avec variable incrémentée sur changement de clé.
    Par souellet dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/09/2005, 23h47
  5. Affecter résultat SQL d'une requête à une variable
    Par bozolozo dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 02/01/2005, 18h37

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