Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Requete sql en vba

2 réponses
Avatar
Michel Langlais
Bonjour a tous,
Je veux avoir cette instruction sql (tiré de ma source d'un formulaire) en VBA
SELECT Produits.*, [Bordereau Expédié].*, [Bordereau Expédié].[RefBordereau]
FROM Produits INNER JOIN [Bordereau Expédié] ON
[Produits].[RéfNoProduit]=[Bordereau Expédié].[No_Produit_Commande] WHERE
((([Bordereau Expédié].[RefBordereau])>=4 And ([Bordereau
Expédié].[RefBordereau])<=9));

le probleme est que je veux remplacer le 4 par minbordereau et le 9 par
maxbordereau

Mon résultat le plus proche est ""SELECT [Produits].*, [Bordereau Expédié].*
FROM Produits INNER JOIN [Bordereau Expédié] ON
[Produits].[RéfNoProduit]=[Bordereau Expédié].[No_Produit_Commande] WHERE
((RefBordereau >= 3) and (RefBordereau <= 9));"
La source me donne le bon résultat (17 bordereaux), le code me donne 12
bordereaux.
Pourquoi...
Merci

2 réponses

Avatar
pgz
Bonjour.

Ca pourrait être aussi :
SELECT Produits.*, [Bordereau Expédié].*, [Bordereau Expédié].[RefBordereau]
FROM Produits INNER JOIN [Bordereau Expédié] ON
[Produits].[RéfNoProduit]=[Bordereau Expédié].[No_Produit_Commande] WHERE
[Bordereau Expédié].[RefBordereau] between 3 and 9;

et avec des variables :
MaRequête.SQL = "SELECT Produits.*, [Bordereau Expédié].*, [Bordereau
Expédié].[RefBordereau]
FROM Produits INNER JOIN [Bordereau Expédié] ON
[Produits].[RéfNoProduit]=[Bordereau Expédié].[No_Produit_Commande] WHERE
[Bordereau Expédié].[RefBordereau] between " & MinBordereau & " AND " &
MaxBordereau & "; "

Bon courage,

--
pgz
_____________________________

Avatar
Michel Langlais
Bon, merci mais ca donne le même résultat, je suis en train de penser qu'il
doit y avoir une autre erreur que je ne vois pas encore.
Je vais essayé de faire une boucle et de les appeler un par un.



Bonjour.

Ca pourrait être aussi :
SELECT Produits.*, [Bordereau Expédié].*, [Bordereau Expédié].[RefBordereau]
FROM Produits INNER JOIN [Bordereau Expédié] ON
[Produits].[RéfNoProduit]=[Bordereau Expédié].[No_Produit_Commande] WHERE
[Bordereau Expédié].[RefBordereau] between 3 and 9;

et avec des variables :
MaRequête.SQL = "SELECT Produits.*, [Bordereau Expédié].*, [Bordereau
Expédié].[RefBordereau]
FROM Produits INNER JOIN [Bordereau Expédié] ON
[Produits].[RéfNoProduit]=[Bordereau Expédié].[No_Produit_Commande] WHERE
[Bordereau Expédié].[RefBordereau] between " & MinBordereau & " AND " &
MaxBordereau & "; "

Bon courage,

--
pgz
_____________________________