Bonjour,
Je dois créer une requête qui provient de 2 autres requêtes, j'aimerais
savoir si possible qu'elle est la syntaxe pour créer mes requêtes
directement dans VB, j'utilise la méthode DAO, Voici les trois requêtes:
Première requête
---------------------
SELECT [Table ventes].*, [Table expcons].Shipper, [Table
expcons].AdresseShip, [Table expcons].VilleShip, [Table
expcons].ProvinceShip, [Table expcons].PaysShip, [Table expcons].CodeShip,
[Table expcons].ContactShip, [Table expcons].TelShip, [Table
expcons].Consignataire, [Table expcons].AdresseCons, [Table
expcons].VilleCons, [Table expcons].ProvinceCons, [Table
[Table expcons].CodePostCons, [Table expcons].ContactCons, [Table
expcons].TelCons, [Table clients].NomCli, [Table transpo].Nom,
TableAssureur.NomAssureur
FROM ((([Table ventes] LEFT JOIN [Table expcons] ON [Table
= [Table expcons].NumVente) INNER JOIN [Table clients] ON [Table
ventes].NumClient = [Table clients].Numéro) INNER JOIN [Table transpo] ON
[Table ventes].NumTransporteur = [Table transpo].Numéro) LEFT JOIN
TableAssureur ON [Table ventes].NumAssureur = TableAssureur.Numero
WHERE ((([Table ventes].Date) Between #4/1/2004# And #11/2/2004#) AND
(([Table ventes].Termine)=True) AND (([Table ventes].NoVente)<>26544));
Deuxième requête
-----------------------
SELECT [Table ventes].NoVente, [Table ventes].Termine
FROM [Table ventes]
WHERE ((([Table ventes].Termine)úlse));
Dernière requête (les données dont j'ai besoin proviennent de cette
--------------------------------------------------------------------------
-----
SELECT Premiere.*, Deuxieme.NoVente
FROM Premiere LEFT JOIN Deuxieme ON Premiere.NoVente = Deuxieme.NoVente
WHERE (((Deuxieme.NoVente) Is Null));
Merci d'avance,
Sophie
Bonjour,
Je dois créer une requête qui provient de 2 autres requêtes, j'aimerais
savoir si possible qu'elle est la syntaxe pour créer mes requêtes
directement dans VB, j'utilise la méthode DAO, Voici les trois requêtes:
Première requête
---------------------
SELECT [Table ventes].*, [Table expcons].Shipper, [Table
expcons].AdresseShip, [Table expcons].VilleShip, [Table
expcons].ProvinceShip, [Table expcons].PaysShip, [Table expcons].CodeShip,
[Table expcons].ContactShip, [Table expcons].TelShip, [Table
expcons].Consignataire, [Table expcons].AdresseCons, [Table
expcons].VilleCons, [Table expcons].ProvinceCons, [Table
[Table expcons].CodePostCons, [Table expcons].ContactCons, [Table
expcons].TelCons, [Table clients].NomCli, [Table transpo].Nom,
TableAssureur.NomAssureur
FROM ((([Table ventes] LEFT JOIN [Table expcons] ON [Table
= [Table expcons].NumVente) INNER JOIN [Table clients] ON [Table
ventes].NumClient = [Table clients].Numéro) INNER JOIN [Table transpo] ON
[Table ventes].NumTransporteur = [Table transpo].Numéro) LEFT JOIN
TableAssureur ON [Table ventes].NumAssureur = TableAssureur.Numero
WHERE ((([Table ventes].Date) Between #4/1/2004# And #11/2/2004#) AND
(([Table ventes].Termine)=True) AND (([Table ventes].NoVente)<>26544));
Deuxième requête
-----------------------
SELECT [Table ventes].NoVente, [Table ventes].Termine
FROM [Table ventes]
WHERE ((([Table ventes].Termine)úlse));
Dernière requête (les données dont j'ai besoin proviennent de cette
--------------------------------------------------------------------------
-----
SELECT Premiere.*, Deuxieme.NoVente
FROM Premiere LEFT JOIN Deuxieme ON Premiere.NoVente = Deuxieme.NoVente
WHERE (((Deuxieme.NoVente) Is Null));
Merci d'avance,
Sophie
Bonjour,
Je dois créer une requête qui provient de 2 autres requêtes, j'aimerais
savoir si possible qu'elle est la syntaxe pour créer mes requêtes
directement dans VB, j'utilise la méthode DAO, Voici les trois requêtes:
Première requête
---------------------
SELECT [Table ventes].*, [Table expcons].Shipper, [Table
expcons].AdresseShip, [Table expcons].VilleShip, [Table
expcons].ProvinceShip, [Table expcons].PaysShip, [Table expcons].CodeShip,
[Table expcons].ContactShip, [Table expcons].TelShip, [Table
expcons].Consignataire, [Table expcons].AdresseCons, [Table
expcons].VilleCons, [Table expcons].ProvinceCons, [Table
[Table expcons].CodePostCons, [Table expcons].ContactCons, [Table
expcons].TelCons, [Table clients].NomCli, [Table transpo].Nom,
TableAssureur.NomAssureur
FROM ((([Table ventes] LEFT JOIN [Table expcons] ON [Table
= [Table expcons].NumVente) INNER JOIN [Table clients] ON [Table
ventes].NumClient = [Table clients].Numéro) INNER JOIN [Table transpo] ON
[Table ventes].NumTransporteur = [Table transpo].Numéro) LEFT JOIN
TableAssureur ON [Table ventes].NumAssureur = TableAssureur.Numero
WHERE ((([Table ventes].Date) Between #4/1/2004# And #11/2/2004#) AND
(([Table ventes].Termine)=True) AND (([Table ventes].NoVente)<>26544));
Deuxième requête
-----------------------
SELECT [Table ventes].NoVente, [Table ventes].Termine
FROM [Table ventes]
WHERE ((([Table ventes].Termine)úlse));
Dernière requête (les données dont j'ai besoin proviennent de cette
--------------------------------------------------------------------------
-----
SELECT Premiere.*, Deuxieme.NoVente
FROM Premiere LEFT JOIN Deuxieme ON Premiere.NoVente = Deuxieme.NoVente
WHERE (((Deuxieme.NoVente) Is Null));
Merci d'avance,
Sophie
Salut Sophie!
essai ceci :
SELECT
Premiere.*,
Deuxieme.NoVente
FROM
(
SELECT
[Table ventes].*,
[Table expcons].Shipper,
[Table expcons].AdresseShip,
[Table expcons].VilleShip,
[Table expcons].ProvinceShip,
[Table expcons].PaysShip,
[Table expcons].CodeShip,
[Table expcons].ContactShip,
[Table expcons].TelShip,
[Table expcons].Consignataire,
[Table expcons].AdresseCons,
[Table expcons].VilleCons,
[Table expcons].ProvinceCons,
[Table expcons].PaysCons,
[Table expcons].CodePostCons,
[Table expcons].ContactCons,
[Table expcons].TelCons,
[Table clients].NomCli,
[Table transpo].Nom,
TableAssureur.NomAssureur
FROM
[Table ventes] LEFT JOIN
[Table expcons] ON [Table ventes].NumVente = [Table
expcons].NumVente INNER JOIN
[Table clients] ON [Table ventes].NumClient = [Table
clients].Numéro INNER JOIN
[Table transpo] ON [Table ventes].NumTransporteur = [Table
transpo].Numéro LEFT JOIN
TableAssureur ON [Table ventes].NumAssureur > TableAssureur.Numero
WHERE
[Table ventes].Date Between #4/1/2004# And #11/2/2004# AND
[Table ventes].Termine = True AND
[Table ventes].NoVente<>26544
) Premiere LEFT JOIN
(
SELECT
[Table ventes].NoVente,
[Table ventes].Termine
FROM
[Table ventes]
WHERE
[Table ventes].Termine = False
) Deuxieme ON Premiere.NoVente = Deuxieme.NoVente
WHERE
Deuxieme.NoVente Is Null
tu peux utilisé une sous-requête dans la clause FROM en l'entourant de
parethèse et en donnant un nom au sous-ensemble, soit Premiere et Deuxieme
dans ce cas-ci...
--
Cordialement
Yanick Lefebvre
MVP pour Visual Basic
"Sophie" a écrit dans le message de
news:%
> Bonjour,
>
> Je dois créer une requête qui provient de 2 autres requêtes, j'aimerais
> savoir si possible qu'elle est la syntaxe pour créer mes requêtes
> directement dans VB, j'utilise la méthode DAO, Voici les trois requêtes:
>
> Première requête
> ---------------------
> SELECT [Table ventes].*, [Table expcons].Shipper, [Table
> expcons].AdresseShip, [Table expcons].VilleShip, [Table
> expcons].ProvinceShip, [Table expcons].PaysShip, [Table
> [Table expcons].ContactShip, [Table expcons].TelShip, [Table
> expcons].Consignataire, [Table expcons].AdresseCons, [Table
> expcons].VilleCons, [Table expcons].ProvinceCons, [Table
expcons].PaysCons,
> [Table expcons].CodePostCons, [Table expcons].ContactCons, [Table
> expcons].TelCons, [Table clients].NomCli, [Table transpo].Nom,
> TableAssureur.NomAssureur
> FROM ((([Table ventes] LEFT JOIN [Table expcons] ON [Table
ventes].NumVente
> = [Table expcons].NumVente) INNER JOIN [Table clients] ON [Table
> ventes].NumClient = [Table clients].Numéro) INNER JOIN [Table transpo]
> [Table ventes].NumTransporteur = [Table transpo].Numéro) LEFT JOIN
> TableAssureur ON [Table ventes].NumAssureur = TableAssureur.Numero
> WHERE ((([Table ventes].Date) Between #4/1/2004# And #11/2/2004#) AND
> (([Table ventes].Termine)=True) AND (([Table ventes].NoVente)<>26544));
>
> Deuxième requête
> -----------------------
> SELECT [Table ventes].NoVente, [Table ventes].Termine
> FROM [Table ventes]
> WHERE ((([Table ventes].Termine)úlse));
>
> Dernière requête (les données dont j'ai besoin proviennent de cette
requête)
--------------------------------------------------------------------------
--
> -----
> SELECT Premiere.*, Deuxieme.NoVente
> FROM Premiere LEFT JOIN Deuxieme ON Premiere.NoVente = Deuxieme.NoVente
> WHERE (((Deuxieme.NoVente) Is Null));
>
> Merci d'avance,
>
> Sophie
>
>
>
>
Salut Sophie!
essai ceci :
SELECT
Premiere.*,
Deuxieme.NoVente
FROM
(
SELECT
[Table ventes].*,
[Table expcons].Shipper,
[Table expcons].AdresseShip,
[Table expcons].VilleShip,
[Table expcons].ProvinceShip,
[Table expcons].PaysShip,
[Table expcons].CodeShip,
[Table expcons].ContactShip,
[Table expcons].TelShip,
[Table expcons].Consignataire,
[Table expcons].AdresseCons,
[Table expcons].VilleCons,
[Table expcons].ProvinceCons,
[Table expcons].PaysCons,
[Table expcons].CodePostCons,
[Table expcons].ContactCons,
[Table expcons].TelCons,
[Table clients].NomCli,
[Table transpo].Nom,
TableAssureur.NomAssureur
FROM
[Table ventes] LEFT JOIN
[Table expcons] ON [Table ventes].NumVente = [Table
expcons].NumVente INNER JOIN
[Table clients] ON [Table ventes].NumClient = [Table
clients].Numéro INNER JOIN
[Table transpo] ON [Table ventes].NumTransporteur = [Table
transpo].Numéro LEFT JOIN
TableAssureur ON [Table ventes].NumAssureur > TableAssureur.Numero
WHERE
[Table ventes].Date Between #4/1/2004# And #11/2/2004# AND
[Table ventes].Termine = True AND
[Table ventes].NoVente<>26544
) Premiere LEFT JOIN
(
SELECT
[Table ventes].NoVente,
[Table ventes].Termine
FROM
[Table ventes]
WHERE
[Table ventes].Termine = False
) Deuxieme ON Premiere.NoVente = Deuxieme.NoVente
WHERE
Deuxieme.NoVente Is Null
tu peux utilisé une sous-requête dans la clause FROM en l'entourant de
parethèse et en donnant un nom au sous-ensemble, soit Premiere et Deuxieme
dans ce cas-ci...
--
Cordialement
Yanick Lefebvre
MVP pour Visual Basic
"Sophie" <jonseb70@hotmail.com> a écrit dans le message de
news:%23tpiN86wEHA.2192@TK2MSFTNGP14.phx.gbl...
> Bonjour,
>
> Je dois créer une requête qui provient de 2 autres requêtes, j'aimerais
> savoir si possible qu'elle est la syntaxe pour créer mes requêtes
> directement dans VB, j'utilise la méthode DAO, Voici les trois requêtes:
>
> Première requête
> ---------------------
> SELECT [Table ventes].*, [Table expcons].Shipper, [Table
> expcons].AdresseShip, [Table expcons].VilleShip, [Table
> expcons].ProvinceShip, [Table expcons].PaysShip, [Table
> [Table expcons].ContactShip, [Table expcons].TelShip, [Table
> expcons].Consignataire, [Table expcons].AdresseCons, [Table
> expcons].VilleCons, [Table expcons].ProvinceCons, [Table
expcons].PaysCons,
> [Table expcons].CodePostCons, [Table expcons].ContactCons, [Table
> expcons].TelCons, [Table clients].NomCli, [Table transpo].Nom,
> TableAssureur.NomAssureur
> FROM ((([Table ventes] LEFT JOIN [Table expcons] ON [Table
ventes].NumVente
> = [Table expcons].NumVente) INNER JOIN [Table clients] ON [Table
> ventes].NumClient = [Table clients].Numéro) INNER JOIN [Table transpo]
> [Table ventes].NumTransporteur = [Table transpo].Numéro) LEFT JOIN
> TableAssureur ON [Table ventes].NumAssureur = TableAssureur.Numero
> WHERE ((([Table ventes].Date) Between #4/1/2004# And #11/2/2004#) AND
> (([Table ventes].Termine)=True) AND (([Table ventes].NoVente)<>26544));
>
> Deuxième requête
> -----------------------
> SELECT [Table ventes].NoVente, [Table ventes].Termine
> FROM [Table ventes]
> WHERE ((([Table ventes].Termine)úlse));
>
> Dernière requête (les données dont j'ai besoin proviennent de cette
requête)
--------------------------------------------------------------------------
--
> -----
> SELECT Premiere.*, Deuxieme.NoVente
> FROM Premiere LEFT JOIN Deuxieme ON Premiere.NoVente = Deuxieme.NoVente
> WHERE (((Deuxieme.NoVente) Is Null));
>
> Merci d'avance,
>
> Sophie
>
>
>
>
Salut Sophie!
essai ceci :
SELECT
Premiere.*,
Deuxieme.NoVente
FROM
(
SELECT
[Table ventes].*,
[Table expcons].Shipper,
[Table expcons].AdresseShip,
[Table expcons].VilleShip,
[Table expcons].ProvinceShip,
[Table expcons].PaysShip,
[Table expcons].CodeShip,
[Table expcons].ContactShip,
[Table expcons].TelShip,
[Table expcons].Consignataire,
[Table expcons].AdresseCons,
[Table expcons].VilleCons,
[Table expcons].ProvinceCons,
[Table expcons].PaysCons,
[Table expcons].CodePostCons,
[Table expcons].ContactCons,
[Table expcons].TelCons,
[Table clients].NomCli,
[Table transpo].Nom,
TableAssureur.NomAssureur
FROM
[Table ventes] LEFT JOIN
[Table expcons] ON [Table ventes].NumVente = [Table
expcons].NumVente INNER JOIN
[Table clients] ON [Table ventes].NumClient = [Table
clients].Numéro INNER JOIN
[Table transpo] ON [Table ventes].NumTransporteur = [Table
transpo].Numéro LEFT JOIN
TableAssureur ON [Table ventes].NumAssureur > TableAssureur.Numero
WHERE
[Table ventes].Date Between #4/1/2004# And #11/2/2004# AND
[Table ventes].Termine = True AND
[Table ventes].NoVente<>26544
) Premiere LEFT JOIN
(
SELECT
[Table ventes].NoVente,
[Table ventes].Termine
FROM
[Table ventes]
WHERE
[Table ventes].Termine = False
) Deuxieme ON Premiere.NoVente = Deuxieme.NoVente
WHERE
Deuxieme.NoVente Is Null
tu peux utilisé une sous-requête dans la clause FROM en l'entourant de
parethèse et en donnant un nom au sous-ensemble, soit Premiere et Deuxieme
dans ce cas-ci...
--
Cordialement
Yanick Lefebvre
MVP pour Visual Basic
"Sophie" a écrit dans le message de
news:%
> Bonjour,
>
> Je dois créer une requête qui provient de 2 autres requêtes, j'aimerais
> savoir si possible qu'elle est la syntaxe pour créer mes requêtes
> directement dans VB, j'utilise la méthode DAO, Voici les trois requêtes:
>
> Première requête
> ---------------------
> SELECT [Table ventes].*, [Table expcons].Shipper, [Table
> expcons].AdresseShip, [Table expcons].VilleShip, [Table
> expcons].ProvinceShip, [Table expcons].PaysShip, [Table
> [Table expcons].ContactShip, [Table expcons].TelShip, [Table
> expcons].Consignataire, [Table expcons].AdresseCons, [Table
> expcons].VilleCons, [Table expcons].ProvinceCons, [Table
expcons].PaysCons,
> [Table expcons].CodePostCons, [Table expcons].ContactCons, [Table
> expcons].TelCons, [Table clients].NomCli, [Table transpo].Nom,
> TableAssureur.NomAssureur
> FROM ((([Table ventes] LEFT JOIN [Table expcons] ON [Table
ventes].NumVente
> = [Table expcons].NumVente) INNER JOIN [Table clients] ON [Table
> ventes].NumClient = [Table clients].Numéro) INNER JOIN [Table transpo]
> [Table ventes].NumTransporteur = [Table transpo].Numéro) LEFT JOIN
> TableAssureur ON [Table ventes].NumAssureur = TableAssureur.Numero
> WHERE ((([Table ventes].Date) Between #4/1/2004# And #11/2/2004#) AND
> (([Table ventes].Termine)=True) AND (([Table ventes].NoVente)<>26544));
>
> Deuxième requête
> -----------------------
> SELECT [Table ventes].NoVente, [Table ventes].Termine
> FROM [Table ventes]
> WHERE ((([Table ventes].Termine)úlse));
>
> Dernière requête (les données dont j'ai besoin proviennent de cette
requête)
--------------------------------------------------------------------------
--
> -----
> SELECT Premiere.*, Deuxieme.NoVente
> FROM Premiere LEFT JOIN Deuxieme ON Premiere.NoVente = Deuxieme.NoVente
> WHERE (((Deuxieme.NoVente) Is Null));
>
> Merci d'avance,
>
> Sophie
>
>
>
>
Salut Sophie!
essai ceci :
SELECT
Premiere.*,
Deuxieme.NoVente
FROM
(
SELECT
[Table ventes].*,
[Table expcons].Shipper,
[Table expcons].AdresseShip,
[Table expcons].VilleShip,
[Table expcons].ProvinceShip,
[Table expcons].PaysShip,
[Table expcons].CodeShip,
[Table expcons].ContactShip,
[Table expcons].TelShip,
[Table expcons].Consignataire,
[Table expcons].AdresseCons,
[Table expcons].VilleCons,
[Table expcons].ProvinceCons,
[Table expcons].PaysCons,
[Table expcons].CodePostCons,
[Table expcons].ContactCons,
[Table expcons].TelCons,
[Table clients].NomCli,
[Table transpo].Nom,
TableAssureur.NomAssureur
FROM
[Table ventes] LEFT JOIN
[Table expcons] ON [Table ventes].NumVente = [Table
expcons].NumVente INNER JOIN
[Table clients] ON [Table ventes].NumClient = [Table
clients].Numéro INNER JOIN
[Table transpo] ON [Table ventes].NumTransporteur = [Table
transpo].Numéro LEFT JOIN
TableAssureur ON [Table ventes].NumAssureur > TableAssureur.Numero
WHERE
[Table ventes].Date Between #4/1/2004# And #11/2/2004# AND
[Table ventes].Termine = True AND
[Table ventes].NoVente<>26544
) Premiere LEFT JOIN
(
SELECT
[Table ventes].NoVente,
[Table ventes].Termine
FROM
[Table ventes]
WHERE
[Table ventes].Termine = False
) Deuxieme ON Premiere.NoVente = Deuxieme.NoVente
WHERE
Deuxieme.NoVente Is Null
tu peux utilisé une sous-requête dans la clause FROM en l'entourant de
parethèse et en donnant un nom au sous-ensemble, soit Premiere et Deuxieme
dans ce cas-ci...
--
Cordialement
Yanick Lefebvre
MVP pour Visual Basic
"Sophie" a écrit dans le message de
news:%
> Bonjour,
>
> Je dois créer une requête qui provient de 2 autres requêtes, j'aimerais
> savoir si possible qu'elle est la syntaxe pour créer mes requêtes
> directement dans VB, j'utilise la méthode DAO, Voici les trois requêtes:
>
> Première requête
> ---------------------
> SELECT [Table ventes].*, [Table expcons].Shipper, [Table
> expcons].AdresseShip, [Table expcons].VilleShip, [Table
> expcons].ProvinceShip, [Table expcons].PaysShip, [Table
> [Table expcons].ContactShip, [Table expcons].TelShip, [Table
> expcons].Consignataire, [Table expcons].AdresseCons, [Table
> expcons].VilleCons, [Table expcons].ProvinceCons, [Table
expcons].PaysCons,
> [Table expcons].CodePostCons, [Table expcons].ContactCons, [Table
> expcons].TelCons, [Table clients].NomCli, [Table transpo].Nom,
> TableAssureur.NomAssureur
> FROM ((([Table ventes] LEFT JOIN [Table expcons] ON [Table
ventes].NumVente
> = [Table expcons].NumVente) INNER JOIN [Table clients] ON [Table
> ventes].NumClient = [Table clients].Numéro) INNER JOIN [Table transpo]
> [Table ventes].NumTransporteur = [Table transpo].Numéro) LEFT JOIN
> TableAssureur ON [Table ventes].NumAssureur = TableAssureur.Numero
> WHERE ((([Table ventes].Date) Between #4/1/2004# And #11/2/2004#) AND
> (([Table ventes].Termine)=True) AND (([Table ventes].NoVente)<>26544));
>
> Deuxième requête
> -----------------------
> SELECT [Table ventes].NoVente, [Table ventes].Termine
> FROM [Table ventes]
> WHERE ((([Table ventes].Termine)úlse));
>
> Dernière requête (les données dont j'ai besoin proviennent de cette
requête)
--------------------------------------------------------------------------
--
> -----
> SELECT Premiere.*, Deuxieme.NoVente
> FROM Premiere LEFT JOIN Deuxieme ON Premiere.NoVente = Deuxieme.NoVente
> WHERE (((Deuxieme.NoVente) Is Null));
>
> Merci d'avance,
>
> Sophie
>
>
>
>
Salut Sophie!
essai ceci :
SELECT
Premiere.*,
Deuxieme.NoVente
FROM
(
SELECT
[Table ventes].*,
[Table expcons].Shipper,
[Table expcons].AdresseShip,
[Table expcons].VilleShip,
[Table expcons].ProvinceShip,
[Table expcons].PaysShip,
[Table expcons].CodeShip,
[Table expcons].ContactShip,
[Table expcons].TelShip,
[Table expcons].Consignataire,
[Table expcons].AdresseCons,
[Table expcons].VilleCons,
[Table expcons].ProvinceCons,
[Table expcons].PaysCons,
[Table expcons].CodePostCons,
[Table expcons].ContactCons,
[Table expcons].TelCons,
[Table clients].NomCli,
[Table transpo].Nom,
TableAssureur.NomAssureur
FROM
[Table ventes] LEFT JOIN
[Table expcons] ON [Table ventes].NumVente = [Table
expcons].NumVente INNER JOIN
[Table clients] ON [Table ventes].NumClient = [Table
clients].Numéro INNER JOIN
[Table transpo] ON [Table ventes].NumTransporteur = [Table
transpo].Numéro LEFT JOIN
TableAssureur ON [Table ventes].NumAssureur > TableAssureur.Numero
WHERE
[Table ventes].Date Between #4/1/2004# And #11/2/2004# AND
[Table ventes].Termine = True AND
[Table ventes].NoVente<>26544
) Premiere LEFT JOIN
(
SELECT
[Table ventes].NoVente,
[Table ventes].Termine
FROM
[Table ventes]
WHERE
[Table ventes].Termine = False
) Deuxieme ON Premiere.NoVente = Deuxieme.NoVente
WHERE
Deuxieme.NoVente Is Null
tu peux utilisé une sous-requête dans la clause FROM en l'entourant de
parethèse et en donnant un nom au sous-ensemble, soit Premiere et Deuxieme
dans ce cas-ci...
--
Cordialement
Yanick Lefebvre
MVP pour Visual Basic
"Sophie" <jonseb70@hotmail.com> a écrit dans le message de
news:%23tpiN86wEHA.2192@TK2MSFTNGP14.phx.gbl...
> Bonjour,
>
> Je dois créer une requête qui provient de 2 autres requêtes, j'aimerais
> savoir si possible qu'elle est la syntaxe pour créer mes requêtes
> directement dans VB, j'utilise la méthode DAO, Voici les trois requêtes:
>
> Première requête
> ---------------------
> SELECT [Table ventes].*, [Table expcons].Shipper, [Table
> expcons].AdresseShip, [Table expcons].VilleShip, [Table
> expcons].ProvinceShip, [Table expcons].PaysShip, [Table
> [Table expcons].ContactShip, [Table expcons].TelShip, [Table
> expcons].Consignataire, [Table expcons].AdresseCons, [Table
> expcons].VilleCons, [Table expcons].ProvinceCons, [Table
expcons].PaysCons,
> [Table expcons].CodePostCons, [Table expcons].ContactCons, [Table
> expcons].TelCons, [Table clients].NomCli, [Table transpo].Nom,
> TableAssureur.NomAssureur
> FROM ((([Table ventes] LEFT JOIN [Table expcons] ON [Table
ventes].NumVente
> = [Table expcons].NumVente) INNER JOIN [Table clients] ON [Table
> ventes].NumClient = [Table clients].Numéro) INNER JOIN [Table transpo]
> [Table ventes].NumTransporteur = [Table transpo].Numéro) LEFT JOIN
> TableAssureur ON [Table ventes].NumAssureur = TableAssureur.Numero
> WHERE ((([Table ventes].Date) Between #4/1/2004# And #11/2/2004#) AND
> (([Table ventes].Termine)=True) AND (([Table ventes].NoVente)<>26544));
>
> Deuxième requête
> -----------------------
> SELECT [Table ventes].NoVente, [Table ventes].Termine
> FROM [Table ventes]
> WHERE ((([Table ventes].Termine)úlse));
>
> Dernière requête (les données dont j'ai besoin proviennent de cette
requête)
--------------------------------------------------------------------------
--
> -----
> SELECT Premiere.*, Deuxieme.NoVente
> FROM Premiere LEFT JOIN Deuxieme ON Premiere.NoVente = Deuxieme.NoVente
> WHERE (((Deuxieme.NoVente) Is Null));
>
> Merci d'avance,
>
> Sophie
>
>
>
>
Salut Sophie!
essai ceci :
SELECT
Premiere.*,
Deuxieme.NoVente
FROM
(
SELECT
[Table ventes].*,
[Table expcons].Shipper,
[Table expcons].AdresseShip,
[Table expcons].VilleShip,
[Table expcons].ProvinceShip,
[Table expcons].PaysShip,
[Table expcons].CodeShip,
[Table expcons].ContactShip,
[Table expcons].TelShip,
[Table expcons].Consignataire,
[Table expcons].AdresseCons,
[Table expcons].VilleCons,
[Table expcons].ProvinceCons,
[Table expcons].PaysCons,
[Table expcons].CodePostCons,
[Table expcons].ContactCons,
[Table expcons].TelCons,
[Table clients].NomCli,
[Table transpo].Nom,
TableAssureur.NomAssureur
FROM
[Table ventes] LEFT JOIN
[Table expcons] ON [Table ventes].NumVente = [Table
expcons].NumVente INNER JOIN
[Table clients] ON [Table ventes].NumClient = [Table
clients].Numéro INNER JOIN
[Table transpo] ON [Table ventes].NumTransporteur = [Table
transpo].Numéro LEFT JOIN
TableAssureur ON [Table ventes].NumAssureur > TableAssureur.Numero
WHERE
[Table ventes].Date Between #4/1/2004# And #11/2/2004# AND
[Table ventes].Termine = True AND
[Table ventes].NoVente<>26544
) Premiere LEFT JOIN
(
SELECT
[Table ventes].NoVente,
[Table ventes].Termine
FROM
[Table ventes]
WHERE
[Table ventes].Termine = False
) Deuxieme ON Premiere.NoVente = Deuxieme.NoVente
WHERE
Deuxieme.NoVente Is Null
tu peux utilisé une sous-requête dans la clause FROM en l'entourant de
parethèse et en donnant un nom au sous-ensemble, soit Premiere et Deuxieme
dans ce cas-ci...
--
Cordialement
Yanick Lefebvre
MVP pour Visual Basic
"Sophie" a écrit dans le message de
news:%
> Bonjour,
>
> Je dois créer une requête qui provient de 2 autres requêtes, j'aimerais
> savoir si possible qu'elle est la syntaxe pour créer mes requêtes
> directement dans VB, j'utilise la méthode DAO, Voici les trois requêtes:
>
> Première requête
> ---------------------
> SELECT [Table ventes].*, [Table expcons].Shipper, [Table
> expcons].AdresseShip, [Table expcons].VilleShip, [Table
> expcons].ProvinceShip, [Table expcons].PaysShip, [Table
> [Table expcons].ContactShip, [Table expcons].TelShip, [Table
> expcons].Consignataire, [Table expcons].AdresseCons, [Table
> expcons].VilleCons, [Table expcons].ProvinceCons, [Table
expcons].PaysCons,
> [Table expcons].CodePostCons, [Table expcons].ContactCons, [Table
> expcons].TelCons, [Table clients].NomCli, [Table transpo].Nom,
> TableAssureur.NomAssureur
> FROM ((([Table ventes] LEFT JOIN [Table expcons] ON [Table
ventes].NumVente
> = [Table expcons].NumVente) INNER JOIN [Table clients] ON [Table
> ventes].NumClient = [Table clients].Numéro) INNER JOIN [Table transpo]
> [Table ventes].NumTransporteur = [Table transpo].Numéro) LEFT JOIN
> TableAssureur ON [Table ventes].NumAssureur = TableAssureur.Numero
> WHERE ((([Table ventes].Date) Between #4/1/2004# And #11/2/2004#) AND
> (([Table ventes].Termine)=True) AND (([Table ventes].NoVente)<>26544));
>
> Deuxième requête
> -----------------------
> SELECT [Table ventes].NoVente, [Table ventes].Termine
> FROM [Table ventes]
> WHERE ((([Table ventes].Termine)úlse));
>
> Dernière requête (les données dont j'ai besoin proviennent de cette
requête)
--------------------------------------------------------------------------
--
> -----
> SELECT Premiere.*, Deuxieme.NoVente
> FROM Premiere LEFT JOIN Deuxieme ON Premiere.NoVente = Deuxieme.NoVente
> WHERE (((Deuxieme.NoVente) Is Null));
>
> Merci d'avance,
>
> Sophie
>
>
>
>