Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/10/2011, 12h47   #1
Candidat au titre de Membre du Club
 
Homme Louic
Étudiant
Inscription : juillet 2011
Messages : 38
Détails du profil
Informations personnelles :
Nom : Homme Louic
Âge : 20
Localisation : Indonésie

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2011
Messages : 38
Points : 10
Points : 10
Envoyer un message via MSN à Alialyn Envoyer un message via Skype™ à Alialyn
Par défaut Limite d'Hperlinks dans une requête?

Bonjour,

J'essaye de construire une requête qui fonctionne bien tant que je n'ajoute pas les lignes faisant référence à des hyperlinks...

Voici ma requête avant que j'ajoute les lignes d'hyperlinks (fonctionnelle donc):
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SELECT DISTINCT Factory.idPrincipal, Factory.FactoryName, Factory.Country, Product.ModelName, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 57 AND ProductBeingProcessed.idProduct=Product.idProduct) AS AKL, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 2 AND ProductBeingProcessed.idProduct=Product.idProduct) AS IPAK, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 4 AND ProductBeingProcessed.idProduct=Product.idProduct) AS EC_Certificate, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 5 AND ProductBeingProcessed.idProduct=Product.idProduct) AS Certificate_of_conformity,
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 9 AND ProductBeingProcessed.idProduct=Product.idProduct) AS Brochure, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 13 AND ProductBeingProcessed.idProduct=Product.idProduct) AS Manual, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 23 AND ProductBeingProcessed.idProduct=Product.idProduct) AS SIUP_or_SIUT, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 24 AND ProductBeingProcessed.idProduct=Product.idProduct) AS TDP, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 25 AND ProductBeingProcessed.idProduct=Product.idProduct) AS Deed_of_establishment, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 31 AND ProductBeingProcessed.idProduct=Product.idProduct) AS Certificate_of_company, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 58 AND ProductBeingProcessed.idProduct=Product.idProduct) AS Company_domicile_letter, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 59 AND ProductBeingProcessed.idProduct=Product.idProduct) AS Group_of_companies, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 60 AND ProductBeingProcessed.idProduct=Product.idProduct) AS Tax_letter, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 61 AND ProductBeingProcessed.idProduct=Product.idProduct) AS Tax_register_number
FROM Factory INNER JOIN Product ON Factory.idFactory = Product.idFactory;
Et voici ma requête après avoir ajouté les hyperlinks:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
SELECT DISTINCT Factory.idPrincipal, Factory.FactoryName, Factory.Country, Product.ModelName, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 57 AND ProductBeingProcessed.idProduct=Product.idProduct) AS AKL, 
(SELECT LinkedFile FROM ProductBeingProcessed WHERE idProductDocumentType = 57 AND ProductBeingProcessed.idProduct=Product.idProduct) AS FileLink0, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 2 AND ProductBeingProcessed.idProduct=Product.idProduct) AS IPAK, 
(SELECT LinkedFile FROM ProductBeingProcessed WHERE idProductDocumentType = 2 AND ProductBeingProcessed.idProduct=Product.idProduct) AS FileLink1, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 4 AND ProductBeingProcessed.idProduct=Product.idProduct) AS EC_Certificate, 
(SELECT LinkedFile FROM ProductBeingProcessed WHERE idProductDocumentType = 4 AND ProductBeingProcessed.idProduct=Product.idProduct) AS FileLink2, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 5 AND ProductBeingProcessed.idProduct=Product.idProduct) AS Certificate_of_conformity, 
(SELECT LinkedFile FROM ProductBeingProcessed WHERE idProductDocumentType = 5 AND ProductBeingProcessed.idProduct=Product.idProduct) AS FileLink3, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 9 AND ProductBeingProcessed.idProduct=Product.idProduct) AS Brochure, 
(SELECT LinkedFile FROM ProductBeingProcessed WHERE idProductDocumentType = 9 AND ProductBeingProcessed.idProduct=Product.idProduct) AS FileLink4, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 13 AND ProductBeingProcessed.idProduct=Product.idProduct) AS Manual, 
(SELECT LinkedFile FROM ProductBeingProcessed WHERE idProductDocumentType = 13 AND ProductBeingProcessed.idProduct=Product.idProduct) AS FileLink5, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 23 AND ProductBeingProcessed.idProduct=Product.idProduct) AS SIUP_or_SIUT, 
(SELECT LinkedFile FROM ProductBeingProcessed WHERE idProductDocumentType = 23 AND ProductBeingProcessed.idProduct=Product.idProduct) AS FileLink6, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 24 AND ProductBeingProcessed.idProduct=Product.idProduct) AS TDP, 
(SELECT LinkedFile FROM ProductBeingProcessed WHERE idProductDocumentType = 24 AND ProductBeingProcessed.idProduct=Product.idProduct) AS FileLink7, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 25 AND ProductBeingProcessed.idProduct=Product.idProduct) AS Deed_of_establishment, 
(SELECT LinkedFile FROM ProductBeingProcessed WHERE idProductDocumentType = 25 AND ProductBeingProcessed.idProduct=Product.idProduct) AS FileLink8, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 31 AND ProductBeingProcessed.idProduct=Product.idProduct) AS Certificate_of_company, 
(SELECT LinkedFile FROM ProductBeingProcessed WHERE idProductDocumentType = 31 AND ProductBeingProcessed.idProduct=Product.idProduct) AS FileLink9, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 58 AND ProductBeingProcessed.idProduct=Product.idProduct) AS Company_domicile_letter, 
(SELECT LinkedFile FROM ProductBeingProcessed WHERE idProductDocumentType = 58 AND ProductBeingProcessed.idProduct=Product.idProduct) AS FileLink10, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 59 AND ProductBeingProcessed.idProduct=Product.idProduct) AS Group_of_companies, 
(SELECT LinkedFile FROM ProductBeingProcessed WHERE idProductDocumentType = 59 AND ProductBeingProcessed.idProduct=Product.idProduct) AS FileLink11, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 60 AND ProductBeingProcessed.idProduct=Product.idProduct) AS Tax_letter, 
(SELECT LinkedFile FROM ProductBeingProcessed WHERE idProductDocumentType = 60 AND ProductBeingProcessed.idProduct=Product.idProduct) AS FileLink12, 
(SELECT ValidDate FROM ProductBeingProcessed WHERE idProductDocumentType = 61 AND ProductBeingProcessed.idProduct=Product.idProduct) AS Tax_register_number, 
(SELECT LinkedFile FROM ProductBeingProcessed WHERE idProductDocumentType = 61 AND ProductBeingProcessed.idProduct=Product.idProduct) AS FileLink13, 
FROM Factory INNER JOIN Product ON Factory.idFactory = Product.idFactory;
A l'exécution j'ai l'erreur suivant qui s'affiche:
Dans l'instruction SELECT, un mot réservé ou un argument est mal orthographié ou absent, ou la ponctuation est incorrecte.

Quand je clique sur "Ok" j'ai le dernier "FROM" surligné. Je ne vois pas mon erreur et je me demandais donc si il y à une limite au nombre d'hyperlinks utilisables dans une même requête.

Si quelqu'un vois une erreur ou voit le problème et pouvais m'aider je lui en serait reconnaissant.

Merci d'avance.

Louic
Alialyn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2011, 20h05   #2
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonjour,

Concernant l'erreur «Dans l'instruction SELECT, un mot réservé ou un argument est mal orthographié ou absent, ou la ponctuation est incorrecte.»
il y a une virgule en trop avant le dernier FROM.
C'est à dire après FileLink13.

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 03h56   #3
Candidat au titre de Membre du Club
 
Homme Louic
Étudiant
Inscription : juillet 2011
Messages : 38
Détails du profil
Informations personnelles :
Nom : Homme Louic
Âge : 20
Localisation : Indonésie

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2011
Messages : 38
Points : 10
Points : 10
Envoyer un message via MSN à Alialyn Envoyer un message via Skype™ à Alialyn
Bonjour,

Merci beaucoup pour ta réponse, je n'avais en effet pas fait attention à la virgule...

Après rectification donc j'ai une autre erreur qui apparaît:

"Champ Mémo, OLE ou Hyperlink Objet incorrect dans la sous-requête <nom>."

Voilà ce que dit l'aide à ce sujet:

"Une sous-requête ne peut pas renvoyer des données de type Mémo ou Objet OLE et ne peut pas être comparée à des données de ces types dans une expression."

Dois-je comprendre qu'il est impossible donc de créer une requête avec des Hyperlinks?

Si oui sauriez vous s'il est possible de contourner le problème? Et si non comment faire fonctionner la requête?

Merci par avance.
Alialyn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 19h48   #4
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonjour,

Les champs "Lien hypertexte" sont du même type que les champs "Mémo".
Je m'en suis aperçu en vérifiant la propriété Type d'un champ "Lien hypertexte" dans un recordset DAO.

Le message d'erreur concernant les champs "Mémo" s'applique donc aussi aux champs "Lien hypertexte".
Ce que dit le message c'est qu'on ne peut pas sélectionner ce type de champs dans une sous requête.

L'alternative serait d'utiliser DLookup.
Par exemple
Code sql :
(SELECT LinkedFile FROM ProductBeingProcessed WHERE idProductDocumentType = 57 AND ProductBeingProcessed.idProduct=Product.idProduct) AS FileLink0
deviendrait (en supposant Product.idProduct de type nombre entier)
Code sql :
DLookup("LinkedFile", "ProductBeingProcessed", "idProductDocumentType = 57 And idProduct = " & Product.idProduct) AS FileLink0
Par contre je ne suis pas certain que la valeur renvoyée par DLookup soit interprétée comme un lien hypertexte.

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2011, 09h41   #5
Candidat au titre de Membre du Club
 
Homme Louic
Étudiant
Inscription : juillet 2011
Messages : 38
Détails du profil
Informations personnelles :
Nom : Homme Louic
Âge : 20
Localisation : Indonésie

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2011
Messages : 38
Points : 10
Points : 10
Envoyer un message via MSN à Alialyn Envoyer un message via Skype™ à Alialyn
Bonjour,

Le champ apparait en effet dans la table avec le nom du lien seulement comme tu supposais la propriété d'hyperlink ne fonctionne plus. Tant pis!

En tout cas merci pour tes réponses.
Alialyn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2011, 19h32   #6
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonjour,

J'ai essayé en mettant les sous-requêtes dans le FROM et je récupère bien mon lien hypertexte.

Ça donnerai quelque chose comme ça :
Code :
1
2
3
4
5
6
7
8
9
10
SELECT DISTINCT Factory.idPrincipal, Factory.FactoryName, Factory.Country, Product.ModelName,
                Q57.AKL, Q57.FileLink0, Q2.IPAK, Q2.FileLink1
FROM ((Factory 
  INNER JOIN Product
            ON Factory.idFactory = Product.idFactory)
  LEFT JOIN (SELECT SQ57.ValidDate As AKL, SQ57.LinkedFile As FileLink0 FROM ProductBeingProcessed As SQ57 WHERE SQ57.idProductDocumentType = 57) As Q57
            ON Q57.idProduct = Product.idProduct)
  LEFT JOIN (SELECT SQ2.ValidDate As IPAK, SQ2.LinkedFile As FileLink1 FROM ProductBeingProcessed As SQ2 SQ2.idProductDocumentType = 2) As Q2
            ON Q2.idProduct = Product.idProduct
;
A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h22.


 
 
 
 
Partenaires

Hébergement Web