Aide / Requête sur Access

Olivier -  
zenon Messages postés 729 Statut Membre -
Bonjour ,
J'ai créé une table dans laquelle est situé 3 champs :

Ref Min Ref Max Marque
A000 A999 X
K000 K999 X
CG CGZZ Y
ETC ...

J'ai isolé les ventes d'un client :
Ref Qte
A02 10
A03 80
CG 10
J'aimerai sortir un tableau qui me donne comme résultat final :

X 90%
Y 10%

Problème :
Lorsque j'insère la table des marques dans ma requête les ligne d'enregistrement sont répliqués par le nombre de ligne se situant dans la table des marques.
De plus lorsque j'essaye cette formule : VraiFaux([Ventes]!Ref> ou = [Table des Marques]!RefMin et < ou = [Table des Marques]!RefMax;[Table des Marques]!Marques;"Divers")
Access ne veux pas me la prendre...
Je vous remercie par avance de l'aide que vous pouvez m'apporter.
Cordialement
Olivier

8 réponses

Thibal_jam Messages postés 50 Statut Membre 3
 
salut

De plus lorsque j'essaye cette formule : VraiFaux([Ventes]!Ref> ou = [Table des Marques]!RefMin et < ou = [Table des Marques]!RefMax;[Table des Marques]!Marques;"Divers")

elle est sensé faire koi ta requete par ce que la elle veut pas dire grand chose

thibal
0
olivier
 
En faite ma requête sonde les reférence par Exemple A02
Recherche dans quelle tanche elle se trouve entre A000 et A999
Et me renvoit la marque X. Si elle ne trouve pas de valeur pour une nouvelle marque par exemple la formule me renvoit "Divers"
Olivier
0
olivier
 
Est-ce assez claire ?
Olivier
0
zenon Messages postés 729 Statut Membre 180
 
Je ne pense pas que ça puisse marcher.
Si je comprends bien, tu as encodé, par marque, la référence "minimale" et la référence "maximale" mais dans l'exemple que tu donnes, ces références comportent à la fois des caractères numériques et alphanumériques. Les paramètres "<", ">" ou "= " ne pourront pas fonctionner.

En revanche, si certaine partie du code permet d'identifier la marque, tu pourrais l'extraire pour en permettre l'identification en utilisant des alias dans ton critère de recherche.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
olivier
 
En faite toutes les réf qui commence par A et K font partis de la marque X
Il faudrait que je fasse : VraiFaux(Gauche([Ventes]!Ref;1)="A";"X";VraiFaux(Gauche([Ventes]!Ref;2)="K";X ETC...
Cela fonctionnerait il ? Y a t'il plus simple en donnant des intervals? entre A et AZZ par ex ?
Merci par Avance.
Olivier
0
zenon Messages postés 729 Statut Membre 180
 
Je ne pense pas que la formule "VraiFaux" puisse fonctionner dans une requête.

Essaie le code suivant pour commencer:

SELECT Ventes.ref, *
FROM Ventes
WHERE (((Ventes.ref) Like "A*")) OR(((Ventes.ref) Like "K*")) ;

Si les caractères ne se situent pas au début de la chaîne, on peut utiliser le nombre voulu de "?" pour les localiser (c'est plus simple que la fonction Left). N'oublie pas d'ajouter"*" sinon la recherche est "exacte".
0
Olivier
 
Bonjour,
La formule avec VraiFaux et Gauche Fonctionne;
Cependant j'ai 13 Marques.
Mon Champ dans lequel est exécuté la formule ne peux pas dépacer 2048 caractères. Est-il possible d'étendre cette limite ?
Faut il que je créer plusieur champs et qu'un seul me récupère les donnés des autres ?

De plus je ne fais pas qu'isoler lest ventes d'une seule marque, je viens rajouter un champs intitulé marque de façon ensuite à sortir les ventes de tel ou tel client pour connaître la marque qu'il plébicite.

Voici le début de ma formule (Celle-ci ne représente que 3 marques):
Marque: VraiFaux(Gauche([dbo_F_DOCLIGNE]![AR_Ref];2)="CG";"B&C";VraiFaux(Gauche([dbo_F_DOCLIGNE]![AR_Ref];2)="BG";"BAGBASE";VraiFaux(Gauche([dbo_F_DOCLIGNE]![AR_Ref];3)="KIT";"Kustom Kit";"Divers")))

Cordialement

Olivier

PS : si je remplace Vraifauxpar IIF Access me le remplace ensuite par VraiFaux!!!
0
zenon Messages postés 729 Statut Membre 180
 
Excuse-moi, je suis "coincé"...
Je ne comprends pas comment tu procèdes.
Les seules utilisations que je connaisse à VraiFaux se situent dans un contrôle de formulaire ou d'état. Je ne vois pas comment l'appliquer dans une requête.

Dans la mesure où personne ne semble pouvoir t'aider, tu pourrais peut-être me donner quelques précisions supplémentaires?
0