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 :

fermeture intempestive d'access sur une requete


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 262
    Points : 121
    Points
    121
    Par défaut fermeture intempestive d'access sur une requete
    Bonjour,

    j'utilise des liaisons vers des tables SL server et j'essaye de faire une requete simple qui échoue systématiquement vers la fermeture d'access.

    Le probleme vient d'une jointure complexe que je souhaite mettre en place :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT [dbo_OPERATIONS$Customer].No_, [dbo_OPERATIONS$Customer].Name, [dbo_OPERATIONS$Customer].[Global Dimension 1 Code] AS [cat clt CLIENT], [dbo_OPERATIONS$Default Dimension].[Dimension Value Code] AS [cat clt STD]
    FROM [dbo_OPERATIONS$Customer] LEFT JOIN [dbo_OPERATIONS$Default Dimension] ON  ( [dbo_OPERATIONS$Customer].No_ =   [dbo_OPERATIONS$Default Dimension].No_ and [dbo_OPERATIONS$Default Dimension].[Dimension Code] = 'TYPECLIENTS CATEGOR.')
    Je souhaite faire une liaison entre customer et Defaut Dimension sur les champs No uniquement si le champs Dimension code = type client.

    En mode création , je ne peux pas le faire mais je pense qu'en mode SqL il ne devrait pas y avoir de probleme. Suis je obligé de faire une requete secondaire qui trie d'abord la table Default Dimension en fonction de mon critère ou alors ai je un probleme sur ma syntaxe ???

    Merci de votre aide.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2009
    Messages : 98
    Points : 115
    Points
    115
    Par défaut
    Bonjour,
    MSJet supporte tres mal les liaisons avec des constantes
    Citation Envoyé par gui-llaume Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT [dbo_OPERATIONS$Customer].No_, [dbo_OPERATIONS$Customer].Name, [dbo_OPERATIONS$Customer].[Global Dimension 1 Code] AS [cat clt CLIENT], [dbo_OPERATIONS$Default Dimension].[Dimension Value Code] AS [cat clt STD]
    FROM [dbo_OPERATIONS$Customer] LEFT JOIN [dbo_OPERATIONS$Default Dimension] ON  ( [dbo_OPERATIONS$Customer].No_ =   [dbo_OPERATIONS$Default Dimension].No_ and [dbo_OPERATIONS$Default Dimension].[Dimension Code] = 'TYPECLIENTS CATEGOR.')
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT [dbo_OPERATIONS$Customer].No_, [dbo_OPERATIONS$Customer].Name, [dbo_OPERATIONS$Customer].[Global Dimension 1 Code] AS [cat clt CLIENT], [dbo_OPERATIONS$Default Dimension].[Dimension Value Code] AS [cat clt STD]
    FROM [dbo_OPERATIONS$Customer] LEFT JOIN [dbo_OPERATIONS$Default Dimension] ON  ( [dbo_OPERATIONS$Customer].No_ =   [dbo_OPERATIONS$Default Dimension].No_  WHERE [dbo_OPERATIONS$Default Dimension].[Dimension Code] = 'TYPECLIENTS CATEGOR.')

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 262
    Points : 121
    Points
    121
    Par défaut
    A priori ca ne fonctionne pas, car access me rend erreur de syntaxe (opérateur absent).

    Je précise que si cette clause where doit etre dans la jointure pour que celle ci reste externe ...

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2009
    Messages : 98
    Points : 115
    Points
    115
    Par défaut
    Citation Envoyé par gui-llaume Voir le message
    A priori ca ne fonctionne pas, car access me rend erreur de syntaxe (opérateur absent).
    J'ai peut etre fait une erreur quelquepart dans la modification de la requete
    Citation Envoyé par gui-llaume Voir le message
    Je précise que si cette clause where doit etre dans la jointure pour que celle ci reste externe ...
    Excuse moi, mais je n'ai rien compris a ta phrase.

    Question: [Dimension Code] est-il du type string?
    Question: Est-ce que par hazard, tu n'aurais pas fait une erreur dans ta requete au depart? En effet, j'avais remarque que tu avais une requete avec une jointure sur une constante and [dbo_OPERATIONS$Default Dimension].[Dimension Code] = 'TYPECLIENTS CATEGOR.' mais je viens de constater qu'il y a un . à la fin de CATEGOR Cela laisserait sous entendre qu'il s'agit d'un qualificateur. Il devrait y avoir quelquechose derriere.... qu'il n'y a pas. Cela expliquerait pourquoi Access a mis des guillemets. Cela transforme la jointure en une jointure sur constante qu'Access n'aime pas trop.

Discussions similaires

  1. Fermeture du fichier Access sur ouverture requete
    Par jj4822 dans le forum Access
    Réponses: 8
    Dernier message: 05/06/2009, 21h50
  2. Besoin d'aide sur une requete ACCESS
    Par Themis69 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 07/01/2008, 01h02
  3. [VB2003][ACCESS] Question sur une requete
    Par Kanie dans le forum Langage SQL
    Réponses: 3
    Dernier message: 30/03/2006, 17h25
  4. Aide sur une requete de sélection
    Par stephdiplo150 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 16/01/2004, 10h40
  5. []débogage sur une requête dasn visual basic
    Par mcay dans le forum VB 6 et antérieur
    Réponses: 19
    Dernier message: 24/09/2003, 09h59

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