J'utilise la requête enregistrée dont le texte est ci-dessous depuis un
module VBA : tout va bien, je récupère l'info voulue.
J'exécute directement cette requête : idem
Je l'enregistre sous un autre nom et l'exécute : idem
Par contre si je copie le code SQL dans une nouvelle requête et l'exécute,
j'obtiens le message "Expression de jointure non supportée"
Si je fais la moindre modification en mode SQL sur la requête (même
simplement ajouter un espace) : même message
Quelqu'un a-t'il une idée sur le pourquoi du comment cela se fait-il?
Merci d'avance
Gilbert
SELECT [Tbl Identité].Genre, [Tbl Identité].Nom, [Tbl Identité].Prénom, [Tbl
Identité].Adresse, [Tbl Identité].Adresse1, [Tbl Identité].CodePostal, [Tbl
Ville].Nomville, [Tbl Utilisateurs].NomContact, [Tbl
Utilisateurs].PrénomContact, [Tbl Contact].Datecontact, [Tbl Mode de
contact].Modecontact, [Tbl Contact].Duréecontact, [Tbl Nature
demande].Naturedemande, [Tbl Contact].Proposition1, [Tbl
Contact].Proposition2, [Tbl Contact].Proposition3, [Tbl
Contact].Prochaincontact, [Tbl Contact].DateRappel, [Tbl
Contact].Commentaire, Tbl_Prestations.Prestation, Coordonnées.Nom_Structure,
[Coordonnées].[Adresse1] & ' ' & [Coordonnées].[Adresse2] AS
AdresseStructure, Coordonnées.Code_Postal AS CPStructure, [Tbl
Ville_1].Nomville AS VilleStructure,
Format([Téléphone],"@@\.@@\.@@\.@@\.@@") AS TelStructure,
Format([Coordonnées].[Fax],"@@\.@@\.@@\.@@\.@@") AS FaxStructure,
Coordonnées.Email AS EmailStructure
FROM [Tbl Ville] AS [Tbl Ville_1] INNER JOIN Coordonnées ON [Tbl
Ville_1].Numville = Coordonnées.Numville, [Tbl Nature demande] INNER JOIN
([Tbl Mode de contact] INNER JOIN (([Tbl Ville] INNER JOIN [Tbl Identité] ON
[Tbl Ville].Numville = [Tbl Identité].Numville) INNER JOIN (Tbl_Prestations
RIGHT JOIN (Tbl_InfosFinancement RIGHT JOIN ([Tbl Contact] INNER JOIN [Tbl
Utilisateurs] ON [Tbl Contact].CodeUtilisateur = [Tbl
Utilisateurs].CodeUtilisateur) ON Tbl_InfosFinancement.Numligne = [Tbl
Contact].PrestationContact) ON Tbl_Prestations.RefPrestation =
Tbl_InfosFinancement.Prestation) ON [Tbl Identité].Numidentite = [Tbl
Contact].Numidentite) ON [Tbl Mode de contact].Nummodecontact = [Tbl
Contact].Nummodecontact) ON [Tbl Nature demande].Numnaturedemande = [Tbl
Contact].Numnaturedemande
WHERE ((([Tbl Identité].Numidentite)=ValeurControle("[Formulaires]![Frm
Fiche d'accueil]![Numidentite]")) AND (([Tbl
Contact].Numcontact)=ValeurControle("[Formulaires]![Frm Fiche
d'accueil]![Sous-formulaire Contacts].[Form]![Numcontact]")));
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gilbert
Pour info, le problème semble résolu de la façon suivante:
Une première requête qui sélectionne tous les enregistrements des tables jointes par des RIGHT JOIN
SELECT [Tbl Contact].*, Tbl_InfosFinancement.*, Tbl_Prestations.* FROM Tbl_Prestations RIGHT JOIN (Tbl_InfosFinancement RIGHT JOIN [Tbl Contact] ON Tbl_InfosFinancement.Numligne = [Tbl Contact].PrestationContact) ON Tbl_Prestations.RefPrestation = Tbl_InfosFinancement.Prestation;
Une deuxième requête qui utilise la requête ci-dessus à la place des 3 tables concernées, et qui reprend tous les champs du début.
Gilbert
"Gilbert" a écrit dans le message de news:%
Bonjour,
J'utilise la requête enregistrée dont le texte est ci-dessous depuis un module VBA : tout va bien, je récupère l'info voulue. J'exécute directement cette requête : idem Je l'enregistre sous un autre nom et l'exécute : idem Par contre si je copie le code SQL dans une nouvelle requête et l'exécute, j'obtiens le message "Expression de jointure non supportée" Si je fais la moindre modification en mode SQL sur la requête (même simplement ajouter un espace) : même message
Quelqu'un a-t'il une idée sur le pourquoi du comment cela se fait-il?
RIGHT JOIN (Tbl_InfosFinancement RIGHT JOIN ([Tbl Contact] INNER JOIN [Tbl Utilisateurs] ON [Tbl Contact].CodeUtilisateur = [Tbl Utilisateurs].CodeUtilisateur) ON Tbl_InfosFinancement.Numligne = [Tbl Contact].PrestationContact) ON Tbl_Prestations.RefPrestation > Tbl_InfosFinancement.Prestation) ON [Tbl Identité].Numidentite = [Tbl Contact].Numidentite) ON [Tbl Mode de contact].Nummodecontact = [Tbl Contact].Nummodecontact) ON [Tbl Nature demande].Numnaturedemande = [Tbl Contact].Numnaturedemande WHERE ((([Tbl Identité].Numidentite)=ValeurControle("[Formulaires]![Frm Fiche d'accueil]![Numidentite]")) AND (([Tbl Contact].Numcontact)=ValeurControle("[Formulaires]![Frm Fiche d'accueil]![Sous-formulaire Contacts].[Form]![Numcontact]")));
Pour info, le problème semble résolu de la façon suivante:
Une première requête qui sélectionne tous les enregistrements des tables
jointes par des RIGHT JOIN
SELECT [Tbl Contact].*, Tbl_InfosFinancement.*, Tbl_Prestations.*
FROM Tbl_Prestations RIGHT JOIN (Tbl_InfosFinancement RIGHT JOIN [Tbl
Contact] ON Tbl_InfosFinancement.Numligne = [Tbl Contact].PrestationContact)
ON Tbl_Prestations.RefPrestation = Tbl_InfosFinancement.Prestation;
Une deuxième requête qui utilise la requête ci-dessus à la place des 3
tables concernées, et qui reprend tous les champs du début.
Gilbert
"Gilbert" <ZZZZgilbertvie@tiscali.fr> a écrit dans le message de
news:%23Wt7kuFkGHA.836@TK2MSFTNGP02.phx.gbl...
Bonjour,
J'utilise la requête enregistrée dont le texte est ci-dessous depuis un
module VBA : tout va bien, je récupère l'info voulue.
J'exécute directement cette requête : idem
Je l'enregistre sous un autre nom et l'exécute : idem
Par contre si je copie le code SQL dans une nouvelle requête et l'exécute,
j'obtiens le message "Expression de jointure non supportée"
Si je fais la moindre modification en mode SQL sur la requête (même
simplement ajouter un espace) : même message
Quelqu'un a-t'il une idée sur le pourquoi du comment cela se fait-il?
Pour info, le problème semble résolu de la façon suivante:
Une première requête qui sélectionne tous les enregistrements des tables jointes par des RIGHT JOIN
SELECT [Tbl Contact].*, Tbl_InfosFinancement.*, Tbl_Prestations.* FROM Tbl_Prestations RIGHT JOIN (Tbl_InfosFinancement RIGHT JOIN [Tbl Contact] ON Tbl_InfosFinancement.Numligne = [Tbl Contact].PrestationContact) ON Tbl_Prestations.RefPrestation = Tbl_InfosFinancement.Prestation;
Une deuxième requête qui utilise la requête ci-dessus à la place des 3 tables concernées, et qui reprend tous les champs du début.
Gilbert
"Gilbert" a écrit dans le message de news:%
Bonjour,
J'utilise la requête enregistrée dont le texte est ci-dessous depuis un module VBA : tout va bien, je récupère l'info voulue. J'exécute directement cette requête : idem Je l'enregistre sous un autre nom et l'exécute : idem Par contre si je copie le code SQL dans une nouvelle requête et l'exécute, j'obtiens le message "Expression de jointure non supportée" Si je fais la moindre modification en mode SQL sur la requête (même simplement ajouter un espace) : même message
Quelqu'un a-t'il une idée sur le pourquoi du comment cela se fait-il?