Il n'y a plus d'erreur de compil mais la condition fonctionne apparemment. Je referai des tests demain pour vérifier.
Excusez du bruit.
Gundt
Eric
Bonsoir,
[Factureindividuelle] appartenant à la table Services, il te faut faire une jointure supplémentaire car ce champ est absent des tables BL & [LIGNES CDES].
La clause FROM pourrait ressembler à quelque chose comme: (Adapter le nom de la table et du champ commun)
FROM (BL INNER JOIN [LIGNES CDES] ON BL.[N°Cde] = [LIGNES CDES].[N°Cde]) INNER JOIN SERVICES ON SERVICES.ChampCommun = BL(ou [LIGNES CDES]).ChampCommun
Pour le WHERE: WHERE BL.[N°BL]=[Forms]![BL malades]![N°BL] AND [SERVICES].[Factureindividuelle]=Yes;
Là encore, je serai enclin à sortir le [Forms]![BL malades]![N°BL] de la chaine SQL. " WHERE BL.[N°BL]=" & [Forms]![BL malades]![N°BL] & " AND [SERVICES].[Factureindividuelle]=Yes;"
Bonsoir à tous,
J'avais une requête qui fonctionnait bien. Mais je voudrais y ajouter une condition supplémentaire avec Access 97.
sql2 = "INSERT INTO [LIGNES BL TEMP] ( [N°BL_temp] ) SELECT [LIGNES CDES].*, BL.[N°BL] " _ & " FROM BL INNER JOIN [LIGNES CDES] ON BL.[N°Cde] = [LIGNES CDES].[N°Cde] " _ & " WHERE (((BL.[N°BL])=[Forms]![BL malades]![N°BL]));"
Je voudrais ajouter la condition suivante : AND ([SERVICES].[Factureindividuelle]=Yes)
[Factureindividuelle] : champ de table SERVICES
alors je l'ai écrite comme ceci à partir du where
& " WHERE (((BL.[N°BL])=[Forms]![BL malades]![N°BL]) AND ([SERVICES].[Factureindividuelle]=Yes));
Mais il me dit qu'il y a une erreur de syntaxe après le where.
Merci d'avance.
Gundt
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonsoir,
[Factureindividuelle] appartenant à la table Services, il te faut faire
une jointure supplémentaire car ce champ est absent des tables BL &
[LIGNES CDES].
La clause FROM pourrait ressembler à quelque chose comme:
(Adapter le nom de la table et du champ commun)
FROM (BL INNER JOIN [LIGNES CDES]
ON BL.[N°Cde] = [LIGNES CDES].[N°Cde])
INNER JOIN SERVICES ON
SERVICES.ChampCommun = BL(ou [LIGNES CDES]).ChampCommun
Pour le WHERE:
WHERE BL.[N°BL]=[Forms]![BL malades]![N°BL]
AND [SERVICES].[Factureindividuelle]=Yes;
Là encore, je serai enclin à sortir le [Forms]![BL malades]![N°BL] de la
chaine SQL.
" WHERE BL.[N°BL]=" & [Forms]![BL malades]![N°BL] & " AND
[SERVICES].[Factureindividuelle]=Yes;"
Bonsoir à tous,
J'avais une requête qui fonctionnait bien. Mais je voudrais y ajouter
une condition supplémentaire avec Access 97.
sql2 = "INSERT INTO [LIGNES BL TEMP] ( [N°BL_temp] ) SELECT [LIGNES
CDES].*, BL.[N°BL] " _
& " FROM BL INNER JOIN [LIGNES CDES] ON BL.[N°Cde] = [LIGNES
CDES].[N°Cde] " _
& " WHERE (((BL.[N°BL])=[Forms]![BL malades]![N°BL]));"
Je voudrais ajouter la condition suivante :
AND ([SERVICES].[Factureindividuelle]=Yes)
[Factureindividuelle] : champ de table SERVICES
alors je l'ai écrite comme ceci à partir du where
& " WHERE (((BL.[N°BL])=[Forms]![BL malades]![N°BL]) AND
([SERVICES].[Factureindividuelle]=Yes));
Mais il me dit qu'il y a une erreur de syntaxe après le where.
Merci d'avance.
Gundt
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
[Factureindividuelle] appartenant à la table Services, il te faut faire une jointure supplémentaire car ce champ est absent des tables BL & [LIGNES CDES].
La clause FROM pourrait ressembler à quelque chose comme: (Adapter le nom de la table et du champ commun)
FROM (BL INNER JOIN [LIGNES CDES] ON BL.[N°Cde] = [LIGNES CDES].[N°Cde]) INNER JOIN SERVICES ON SERVICES.ChampCommun = BL(ou [LIGNES CDES]).ChampCommun
Pour le WHERE: WHERE BL.[N°BL]=[Forms]![BL malades]![N°BL] AND [SERVICES].[Factureindividuelle]=Yes;
Là encore, je serai enclin à sortir le [Forms]![BL malades]![N°BL] de la chaine SQL. " WHERE BL.[N°BL]=" & [Forms]![BL malades]![N°BL] & " AND [SERVICES].[Factureindividuelle]=Yes;"
Bonsoir à tous,
J'avais une requête qui fonctionnait bien. Mais je voudrais y ajouter une condition supplémentaire avec Access 97.
sql2 = "INSERT INTO [LIGNES BL TEMP] ( [N°BL_temp] ) SELECT [LIGNES CDES].*, BL.[N°BL] " _ & " FROM BL INNER JOIN [LIGNES CDES] ON BL.[N°Cde] = [LIGNES CDES].[N°Cde] " _ & " WHERE (((BL.[N°BL])=[Forms]![BL malades]![N°BL]));"
Je voudrais ajouter la condition suivante : AND ([SERVICES].[Factureindividuelle]=Yes)
[Factureindividuelle] : champ de table SERVICES
alors je l'ai écrite comme ceci à partir du where
& " WHERE (((BL.[N°BL])=[Forms]![BL malades]![N°BL]) AND ([SERVICES].[Factureindividuelle]=Yes));
Mais il me dit qu'il y a une erreur de syntaxe après le where.
Merci d'avance.
Gundt
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Gundt
bonjour,
J'ai remodifié et ça marche. J'ai fait comme ceci même si je ne sais pas si c'est la façon la plus élégante : sql3 = "INSERT INTO [BL TEMP] ( NumBL, [N°BL_temp], [N°Cde_temp], DateBL_temp, DateSortie_temp, TypeBL_temp, Facturé_temp, CodeClient )" _ & "SELECT BL.NumBL, BL.[N°BL], BL.[N°Cde], BL.DateBL, BL.DateSortie, BL.TypeBL, BL.Facturé, BL.CodeClien " _ & "FROM SERVICES INNER JOIN (CLIENTS INNER JOIN BL ON CLIENTS.Codeclient = BL.CodeClien) ON SERVICES.Codeservice = CLIENTS.[Code service] " _ & "WHERE (((BL.[N°BL])=[Forms]![BL malades]![N°BL]) AND ((SERVICES.Factureindividuelle)=Yes));"
Bonsoir,
[Factureindividuelle] appartenant à la table Services, il te faut faire une jointure supplémentaire car ce champ est absent des tables BL & [LIGNES CDES]. oui, j'avais ajouté dans la table BL le champ facturé de type O/N mais
je ne l'ai pas renseigné (je ne savais pas faire et j'ai fait autrement). Mais cela aurait été certainement plus propre comme code.
La clause FROM pourrait ressembler à quelque chose comme: (Adapter le nom de la table et du champ commun)
FROM (BL INNER JOIN [LIGNES CDES] ON BL.[N°Cde] = [LIGNES CDES].[N°Cde]) INNER JOIN SERVICES ON SERVICES.ChampCommun = BL(ou [LIGNES CDES]).ChampCommun oui, c'est donc le champ facturé de la table BL.
Quand je coche manuellement le champ Facturé certains enregistrements de la table BL, j'arrive facilement à ajouter dans la table BL TEMP.
Pour le WHERE: WHERE BL.[N°BL]=[Forms]![BL malades]![N°BL] AND [SERVICES].[Factureindividuelle]=Yes;
Là encore, je serai enclin à sortir le [Forms]![BL malades]![N°BL] de la chaine SQL. " WHERE BL.[N°BL]=" & [Forms]![BL malades]![N°BL] & " AND [SERVICES].[Factureindividuelle]=Yes;" Je n'ai pas trop compris cette technique que tu m'avais donné comme
solution la semaine dernière et hier : les & que l'on retrouve avant et après le nom d'un ctrl de forms.
Quel avantage à écrire cela de cette façon ?
Un grand merci encore à Eric.
Gundt
bonjour,
J'ai remodifié et ça marche. J'ai fait comme ceci même si je ne sais pas
si c'est la façon la plus élégante :
sql3 = "INSERT INTO [BL TEMP] ( NumBL, [N°BL_temp], [N°Cde_temp],
DateBL_temp, DateSortie_temp, TypeBL_temp, Facturé_temp, CodeClient )" _
& "SELECT BL.NumBL, BL.[N°BL], BL.[N°Cde], BL.DateBL, BL.DateSortie,
BL.TypeBL, BL.Facturé, BL.CodeClien " _
& "FROM SERVICES INNER JOIN (CLIENTS INNER JOIN BL ON CLIENTS.Codeclient
= BL.CodeClien) ON SERVICES.Codeservice = CLIENTS.[Code service] " _
& "WHERE (((BL.[N°BL])=[Forms]![BL malades]![N°BL]) AND
((SERVICES.Factureindividuelle)=Yes));"
Bonsoir,
[Factureindividuelle] appartenant à la table Services, il te faut faire
une jointure supplémentaire car ce champ est absent des tables BL &
[LIGNES CDES].
oui, j'avais ajouté dans la table BL le champ facturé de type O/N mais
je ne l'ai pas renseigné (je ne savais pas faire et j'ai fait autrement).
Mais cela aurait été certainement plus propre comme code.
La clause FROM pourrait ressembler à quelque chose comme:
(Adapter le nom de la table et du champ commun)
FROM (BL INNER JOIN [LIGNES CDES]
ON BL.[N°Cde] = [LIGNES CDES].[N°Cde])
INNER JOIN SERVICES ON
SERVICES.ChampCommun = BL(ou [LIGNES CDES]).ChampCommun
oui, c'est donc le champ facturé de la table BL.
Quand je coche manuellement le champ Facturé certains enregistrements de
la table BL, j'arrive facilement à ajouter dans la table BL TEMP.
Pour le WHERE:
WHERE BL.[N°BL]=[Forms]![BL malades]![N°BL]
AND [SERVICES].[Factureindividuelle]=Yes;
Là encore, je serai enclin à sortir le [Forms]![BL malades]![N°BL] de la
chaine SQL.
" WHERE BL.[N°BL]=" & [Forms]![BL malades]![N°BL] & " AND
[SERVICES].[Factureindividuelle]=Yes;"
Je n'ai pas trop compris cette technique que tu m'avais donné comme
solution la semaine dernière et hier : les & que l'on retrouve avant et
après le nom d'un ctrl de forms.
J'ai remodifié et ça marche. J'ai fait comme ceci même si je ne sais pas si c'est la façon la plus élégante : sql3 = "INSERT INTO [BL TEMP] ( NumBL, [N°BL_temp], [N°Cde_temp], DateBL_temp, DateSortie_temp, TypeBL_temp, Facturé_temp, CodeClient )" _ & "SELECT BL.NumBL, BL.[N°BL], BL.[N°Cde], BL.DateBL, BL.DateSortie, BL.TypeBL, BL.Facturé, BL.CodeClien " _ & "FROM SERVICES INNER JOIN (CLIENTS INNER JOIN BL ON CLIENTS.Codeclient = BL.CodeClien) ON SERVICES.Codeservice = CLIENTS.[Code service] " _ & "WHERE (((BL.[N°BL])=[Forms]![BL malades]![N°BL]) AND ((SERVICES.Factureindividuelle)=Yes));"
Bonsoir,
[Factureindividuelle] appartenant à la table Services, il te faut faire une jointure supplémentaire car ce champ est absent des tables BL & [LIGNES CDES]. oui, j'avais ajouté dans la table BL le champ facturé de type O/N mais
je ne l'ai pas renseigné (je ne savais pas faire et j'ai fait autrement). Mais cela aurait été certainement plus propre comme code.
La clause FROM pourrait ressembler à quelque chose comme: (Adapter le nom de la table et du champ commun)
FROM (BL INNER JOIN [LIGNES CDES] ON BL.[N°Cde] = [LIGNES CDES].[N°Cde]) INNER JOIN SERVICES ON SERVICES.ChampCommun = BL(ou [LIGNES CDES]).ChampCommun oui, c'est donc le champ facturé de la table BL.
Quand je coche manuellement le champ Facturé certains enregistrements de la table BL, j'arrive facilement à ajouter dans la table BL TEMP.
Pour le WHERE: WHERE BL.[N°BL]=[Forms]![BL malades]![N°BL] AND [SERVICES].[Factureindividuelle]=Yes;
Là encore, je serai enclin à sortir le [Forms]![BL malades]![N°BL] de la chaine SQL. " WHERE BL.[N°BL]=" & [Forms]![BL malades]![N°BL] & " AND [SERVICES].[Factureindividuelle]=Yes;" Je n'ai pas trop compris cette technique que tu m'avais donné comme
solution la semaine dernière et hier : les & que l'on retrouve avant et après le nom d'un ctrl de forms.
Quel avantage à écrire cela de cette façon ?
Un grand merci encore à Eric.
Gundt
Eric
Bonjour,
Ne connaisssant pas la structure des tables donc les jointures necessaires, je ne peux juger. Mais si ca marche c'est l'essentiel.
bonjour,
J'ai remodifié et ça marche. J'ai fait comme ceci même si je ne sais pas si c'est la façon la plus élégante : sql3 = "INSERT INTO [BL TEMP] ( NumBL, [N°BL_temp], [N°Cde_temp], DateBL_temp, DateSortie_temp, TypeBL_temp, Facturé_temp, CodeClient )" _ & "SELECT BL.NumBL, BL.[N°BL], BL.[N°Cde], BL.DateBL, BL.DateSortie, BL.TypeBL, BL.Facturé, BL.CodeClien " _ & "FROM SERVICES INNER JOIN (CLIENTS INNER JOIN BL ON CLIENTS.Codeclient = BL.CodeClien) ON SERVICES.Codeservice = CLIENTS.[Code service] " _ & "WHERE (((BL.[N°BL])=[Forms]![BL malades]![N°BL]) AND ((SERVICES.Factureindividuelle)=Yes));"
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
Ne connaisssant pas la structure des tables donc les jointures
necessaires, je ne peux juger. Mais si ca marche c'est l'essentiel.
bonjour,
J'ai remodifié et ça marche. J'ai fait comme ceci même si je ne sais pas
si c'est la façon la plus élégante :
sql3 = "INSERT INTO [BL TEMP] ( NumBL, [N°BL_temp], [N°Cde_temp],
DateBL_temp, DateSortie_temp, TypeBL_temp, Facturé_temp, CodeClient )" _
& "SELECT BL.NumBL, BL.[N°BL], BL.[N°Cde], BL.DateBL, BL.DateSortie,
BL.TypeBL, BL.Facturé, BL.CodeClien " _
& "FROM SERVICES INNER JOIN (CLIENTS INNER JOIN BL ON CLIENTS.Codeclient
= BL.CodeClien) ON SERVICES.Codeservice = CLIENTS.[Code service] " _
& "WHERE (((BL.[N°BL])=[Forms]![BL malades]![N°BL]) AND
((SERVICES.Factureindividuelle)=Yes));"
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Ne connaisssant pas la structure des tables donc les jointures necessaires, je ne peux juger. Mais si ca marche c'est l'essentiel.
bonjour,
J'ai remodifié et ça marche. J'ai fait comme ceci même si je ne sais pas si c'est la façon la plus élégante : sql3 = "INSERT INTO [BL TEMP] ( NumBL, [N°BL_temp], [N°Cde_temp], DateBL_temp, DateSortie_temp, TypeBL_temp, Facturé_temp, CodeClient )" _ & "SELECT BL.NumBL, BL.[N°BL], BL.[N°Cde], BL.DateBL, BL.DateSortie, BL.TypeBL, BL.Facturé, BL.CodeClien " _ & "FROM SERVICES INNER JOIN (CLIENTS INNER JOIN BL ON CLIENTS.Codeclient = BL.CodeClien) ON SERVICES.Codeservice = CLIENTS.[Code service] " _ & "WHERE (((BL.[N°BL])=[Forms]![BL malades]![N°BL]) AND ((SERVICES.Factureindividuelle)=Yes));"
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr