Lier 2 champs de type différent pour une requete

Fermé
Charie21 Messages postés 2 Date d'inscription jeudi 6 juin 2013 Statut Membre Dernière intervention 7 juin 2013 - 6 juin 2013 à 18:27
Charie21 Messages postés 2 Date d'inscription jeudi 6 juin 2013 Statut Membre Dernière intervention 7 juin 2013 - 7 juin 2013 à 00:59
Bonjour,

C'est la première fois que je poste un message car d'habitude grâce au travail de tout le monde, j'arrive toujours à trouver une solution.

Problème:
J'utilise un logiciel commercial qui a sa BDD sous access que je ne peux absolument pas modifier.
J'ai une table Ligne Bon de Livraison et une table Historique lot et j'ai besoin d'obtenir les informations suivantes : je veux savoir pour chaque article du BL quel est le numéro de lot.
Le numéro de lot se trouve dans la table Historique lot et les autres infos dans ligneBL.

Le problème c'est que le champ qui relie ces deux table est dans la table Ligne BL numérique et dans l'autre table c'est un champ texte donc incohérence de type. On m'a montré qu'on pouvait résoudre ce problème grâce à Cstr mais j'ai écrasé la BDD test donc je n'arrive pas à le refaire.

Voici la requete :
SELECT LigneBonLivraison.[Piece], LigneBonLivraison.[DatePiece], LigneBonLivraison.[Ligne], LigneBonLivraison.[Article], LigneBonLivraison.[Designation], LigneBonLivraison.[Quantite], LigneBonLivraison.[Unite], LigneBonLivraison.[MontantLigne], LigneBonLivraison.[MontantTva], HistoriqueLot.Lot
FROM LigneBonLivraison INNER JOIN HistoriqueLot ON LigneBonLivraison.Piece = HistoriqueLot.ReferencePiece;

Le champ de liaison est Piece (numérique) et ReferencePiece(texte).

Merci pour votre aide,

Marie

3 réponses

Utilisateur anonyme
6 juin 2013 à 20:59
Bonsoir

Puisque tu connais la fonction, où est le problème ?
Si tu veux que la comparaison de ton ON soit cohérente, convertit le champ numérique en texte pour le comparer avec l'autre (l'inverse aurait été possible aussi) :

...  INNER JOIN HistoriqueLot ON Cstr(LigneBonLivraison.Piece) = HistoriqueLot.ReferencePiece; 


Remarque : on l'est pas limité à l'égalité stricte de 2 champs dans un ON : n'importe quelle comparaison même compliquée peut convenir.
1