Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1700 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [ACCESS]Difficulté d'execution d'une requete SQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ACCESS]Difficulté d'execution d'une requete SQL

n°1849693
moustic74
Posté le 11-02-2009 à 10:22:19  profilanswer
 

Bonjour à tous,
 
Je vous expose mon souci...Je dois créer un publipostage, en récupérant les nom, prenom, entreprise,adresse,cp,bp et ville de chaque client que l'on souhaite contacter...
 
J'ai une table T_employés qui contient NOM,PRENOM,ENTREPRISE.
J'ai une table T_sociétés qui contient ENTREPRISE,ADRESSE,CP,BP,VILLE
 
Il faut savoir qu'une société peut avoir plusieurs adresses(siège social,usines,etc...)
 
J'ai une relation entre T_employés.[ENTREPRISE] et T_sociétés.[ENTREPRISE]
 
Ma requete est actuellement la suivante:

Code :
  1. SELECT DISTINCT T_employés.[NOM SOCIETE], T_employés.NOM, T_employés.PRENOM, T_sociétés.ADRESSE
  2. FROM T_sociétés RIGHT JOIN T_employés ON T_sociétés.[NOM SOCIETE] = T_employés.[NOM SOCIETE]
  3. WHERE (([ENVOI SOMMAIRE LES ENSEIGNES]=-1));


 
 
Le souci, c'est que pour chaque client,on me renvoit plusieurs lignes avec nom, prenom, entreprise,adresse,cp,bp et ville où chaque ligne est une adresse différente de l'entreprise.
 
J'ai besoin d'envoyer 656 courriers, et chaque personne est affectée à une entreprise particulière.
J'ai donc besoin de sélectionner l'adresse exacte de chaque personne, et pas chaque adresse de l'entreprise.
Actuellement, il me renvoit 964 résultats, alors qu'il m'en faut 656....J'ai donc 964-656= 308 lignes à corriger.
 
Comment faire pour que le pc me renvoie les bonnes adresses?
 
Je désespere, j'ai essayé les GROUP BY, les DISTINCT, les INNER JOIN, LEFT JOIN, etc etc....
 
 
Aidez-moi s'il vous plait :)
 
Merci beaucoup à vous tous

mood
Publicité
Posté le 11-02-2009 à 10:22:19  profilanswer
 

n°1849696
aspirateur
Posté le 11-02-2009 à 10:31:35  profilanswer
 

Tu as des clés primaires sur tes tables? Peux tu nous dire quels sont les champs de tes deux tables.
 
Si c'est ce que tu as marqué, il n'y a pas d'identifiant unique permettant de relier les deux tables donc tu vas avoir des utilisateurs qui vont avoir plusieurs sociétés...

n°1849699
moustic74
Posté le 11-02-2009 à 10:40:33  profilanswer
 

J'ai des clés primaires qui ont été mises automatiquement par access...
Je sais pas si je suis clair, je débute sur access...
Ma BDD access provient d'un fichier excel que j'ai coupé en 2:
Une partie Entreprise, et une partie employés.
 
J'ai noté dans mon premier post les champs de mes tables ( ceux qui nous intéressent-les autres concernent les relances commerciales)
 
Actuellement, chaque employé est affecté à une entreprise, il n'y a pas de soucis la dessus, mais si je cherche à récupérer l'adresse de l'entreprise, il va me sortir TOUTES les adresses....ce qui me gène un peu...
 
 
Merci à toi "aspirateur" de m'apporter un coup de main :)

n°1849704
aspirateur
Posté le 11-02-2009 à 10:50:26  profilanswer
 

Je vais essayer de t'expliquer l'importance des clefs primaires.

 

Prenons un exemple simple.

 

Voila un fichier excel simple que nous allons scinder en deux (comme tu l'as fait  ;) )

 

Nom         prenom      entreprise         adr                    ville
Dupont      Pierre         duchemol        rue des fleurs    paris
Durand      jacques      duchemol        rue des fleurs    paris
Coste      Laurent        duchemol        ave belle            Lyon

 


Si je veux faire 2 tables voici comment elle seront:

 

Employe(id , nom, prenom, id_ent) <--- id sera la clef primaire (n°auto de accès)
Entreprise(id_ent, adr , ville) <-- id_ent sera la clef primaire (n°auto de accès)

 

tu remarques que dans "Employe" il y a aussi 'id_ent'. Voilà les 2 tables de notre exemple:

 

EMPLOYE
Nom         prenom      id_ent
Dupont      Pierre         1
Durand      jacques      1
Coste      Laurent        2

 


ENTREPRISE:
id_ent     entreprise         adr                 ville
1               duchemol        rue des fleurs    paris
2              duchemol        ave belle            Lyon

 


C'est plus clair pour toi?


Message édité par aspirateur le 11-02-2009 à 10:50:51
n°1849707
moustic74
Posté le 11-02-2009 à 10:54:47  profilanswer
 

Ah d'accord mais moi j'ai Numéro comme clé primaire pour T_entreprise, et Numéro comme clé primaire pour T_employés
 
Il faut que je mette Numéro_Entreprise dans T_employés en fait?
 
Je comprends vite mais faut m'expliquer longtemps...

n°1849712
aspirateur
Posté le 11-02-2009 à 11:01:53  profilanswer
 

Oui mais il te faut un numéro unique par entreprise, dans ta table entreprise tu ne doit pas avoir 2 lignes identiques.

n°1849717
moustic74
Posté le 11-02-2009 à 11:09:49  profilanswer
 

Oula d'accord....En gros, je repars à 0 :)
Mon patron va être ravi :)
Je te tiendrais au courant de l'avancement :)
J'ai pas mal de choses à faire en urgence, donc si jamais,je reviendrais sur ce sujet plus tard...
 
Merci en tout cas!!!Super sympa et réponse ultra rapide :)

n°1849732
aspirateur
Posté le 11-02-2009 à 11:23:04  profilanswer
 

Si tu repars de ton fichier excell ca devrait pas poser de soucis si tu sais manipuler les filtres.
 
Bon courage ;)

n°1849743
moustic74
Posté le 11-02-2009 à 11:33:49  profilanswer
 

oui mais va falloir se retaper toutes les requetes et tous les formulaires, ca va etre la lutte....
Bref, je verrais bien !!
Merci ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [ACCESS]Difficulté d'execution d'une requete SQL

 

Sujets relatifs
[SQL] Trier par ordre croissant après une valeurErreur d'importation de fichier excel dans une nouvelle base access.
Importer des données de plusieurs fichiers EXCEL vers ACCESS[RESOLU] [PHP/MYSQL] Problème d'exécution de requete imbriqué
optim requete[MySQL] Requête un peu spéciale...
Pbm pour desactiver molette souris access 2003 avec dllnombre d'occurrences de champs sur requete croisée
Visio 2007 et SQL Server 
Plus de sujets relatifs à : [ACCESS]Difficulté d'execution d'une requete SQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR