IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Limite d'Hperlinks dans une requête? [AC-2010]


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Indonésie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 38
    Points : 19
    Points
    19
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    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 : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    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+

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Indonésie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 38
    Points : 19
    Points
    19
    Par défaut
    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.

  4. #4
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    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 : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    (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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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+

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Indonésie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 38
    Points : 19
    Points
    19
    Par défaut
    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.

  6. #6
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    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 : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Limiter un nombre d’enregistrements dans une requête
    Par nomade333 dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 16/11/2009, 12h59
  2. Limit dans une requête
    Par yamatoshi dans le forum Requêtes
    Réponses: 1
    Dernier message: 04/02/2009, 14h25
  3. Problème de double limite dans une requête mysql
    Par bbbbruno dans le forum Requêtes
    Réponses: 1
    Dernier message: 15/01/2009, 19h21
  4. limitation de caractére dans une requête SQL sous Acces
    Par amka dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 18/08/2006, 15h15
  5. Réponses: 4
    Dernier message: 16/02/2006, 16h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo