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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Problème INNER JOIN VB

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème INNER JOIN VB

n°1359713
Bennyb666
http://www.bc-elec.com
Posté le 04-05-2006 à 15:26:52  profilanswer
 

Bonjour à tous.
 
J'ai deux tables, une des produits, et une des ventes.
 
Dans la table des ventes, on encode les refs de produit.  je veux à présent crééer une requête qui selectionnera les references de la table des ventes et ressortira les noms des produits.
 
S'il n'y avait qu'un intitulé par produit ce serait simple.
SELECT testtable.nom
FROM testtable INNER JOIN testvente ON testtable.ref = testvente.refproduitcommande;
 
 
Mais j'ai trois champs de refs de produits vendus dans ma table de vente.  Comment faire dans ce cas?
 
merci

mood
Publicité
Posté le 04-05-2006 à 15:26:52  profilanswer
 

n°1359732
tegu
Posté le 04-05-2006 à 15:49:47  profilanswer
 

Je serais tenté de dire : tu ne fais pas.
Une base de données créée comme tu le laisses entendre n'est pas aux normes et ne mérite pas d'exister ! :p
 
Ensuite, et pour éviter toute ambiguité auprès des débutants passant lire ce sujet, « INNER JOIN » et « VB » n'ont rien à voir l'un avec l'autre.
Soit tu dis que tu bosses sous Access (VBA), soit c'est du VB5/6 avec une base de données Access/SQL/Oracle/MySQL/...
Mais VB n'intègre aucunement du SQL, il faut une base de données liée.
 
Ceci dit, je vais essayer de te dépanner quand même. La requête suivante devrait te donner une piste.

SELECT testtable.lib, testtable_1.lib, testtable_2.lib
FROM ((testvente INNER JOIN testtable ON testvente.ref1 = testtable.ref) INNER JOIN testtable AS testtable_1 ON testvente.ref2 = testtable_1.ref) INNER JOIN testtable AS testtable_2 ON testvente.ref3 = testtable_2.ref;


Le principe est de lier 3x la même table sous des noms (alias) différents pour lire les libellés des 3 ref de tes ventes.


Message édité par tegu le 04-05-2006 à 15:51:42
n°1359940
Bennyb666
http://www.bc-elec.com
Posté le 04-05-2006 à 18:59:27  profilanswer
 

ok ca marche.
 
Le problème est autre maintenant :d
 
Je rajoute cette fonction sur une BD existante.  Donc il y a déjà des enregistrements.
 
Pour les nouveaux enregistrements, il suffira d'encoder les références et la dénomination produit adéquate sera imprimée par le formulaire.  Par contre,  plus moyen de séléctionner les anciennes factures vu qu'aucune référence n'a jamais été encodée (mais plûtot le nom entier du produit).
 
Y a pas moyen de faire un truc du style:
 
Si reference non trouvée dans la table produit, alors imprimer le nom entier déjà encodé. Sinon, imprimer la dénomation relative à la référence de la table produits..
 
Compliqué je sais :d

n°1359992
erwan83
Du Shift DEL tu te méfieras !
Posté le 04-05-2006 à 20:13:04  profilanswer
 

Essaye ça :
les # correspondent à des relations que tu crées depuis la fenetre "relations"
coté # c'est une relation 1, de l'autre coté, c'est une relation "à plusieurs"
Avant de chercher des résultats, les tables TbProd, TbPrix et TbCategorie doivent être remplies mais tu pourras modifier leurs valeurs par la suite (gros avantage)
Tu peux evidemment inserer un client dans ta table TbClients pour tester la requête expliquée ci-après.
 
 
TbClients :
Index_nom_Client ==>AutoNumber  + clé primaire
Nom_Client ==> Text (Dupont, Marcel...)
Index_code_Produit ==> Numérique + # depuis TbProd / Code_Produit
 
TbProd :  
Index_nom_Produit ==>AutoNumber  + clé primaire
Index_prix_Produit ==> Numérique + # depuis TbPrix
Nom_Produit ==> Text (exemple chips allégées paquet 250 gr, cigarettes Marlbarré par 20,...)
Code_Produit ==> Text (exemple 0a0d01, 02z1d5, 51q4c2...)
Index_categorie_Produit ==> Numérique + # depuis TbCategorie / Index_categorie_Produit
 
TbPrix :
Index_Prix_Produit ==>AutoNumber  + clé primaire
Prix_Produit ==> Numérique monnaie (15€,...)
 
TbCategorie :
Index_categorie_Produit ==>AutoNumber  + clé primaire
Type_catégorie ==> Text (exemple alimentaire, vetements, alcools...)
 
=========================================================
 
RqMASTER
Index_Master ==>AutoNumber  + clé primaire
Nom_Client ==>
Code_Produit ==>
Nom_Produit ==>
Type_catégorie ==>
Prix_Produit ==>
 
Cette table est une requête dans laquelle tu incorpores les champs correspondants (listés ci-dessus) à partir de chacune de tes tables.
Attention, avant d'affecter un produit à un client, il faut être sur que les catégories, codes prix et autres existent.
 
Voila. j'espère que ca t'aura aidé un peu...
 


---------------
http://www.ypikay.com

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Problème INNER JOIN VB

 

Sujets relatifs
Problème d' exec et scripts shellprobleme de feuille résolu
[Python][Qt]Problème d'affichage de tabsprobleme affichage png
Probleme dans un formulaireprobleme de Range
problème avec animation flashprobleme structure chaine de caracteres
[OpenGl] Problème actualisation du tampon de profondeurProblème de récupération de variable
Plus de sujets relatifs à : Problème INNER JOIN VB


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