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 :

impossible de trouver l'erreur dans cette requete


Sujet :

Requêtes et SQL.

  1. #1
    Débutant Avatar de laurent.w
    Inscrit en
    Décembre 2006
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 201
    Points : 70
    Points
    70
    Par défaut impossible de trouver l'erreur dans cette requete
    bonjour j'ai cette requete:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQL = "INSERT INTO schSearchResults SELECT TOP 300 f.*, t.IncidentTypeLabel, s.IncidentStatusLabel, c.CounterpartyLabel FROM dtaFiles f, sysIncidentTypes t, sysIncidentStatus s, dtaStatus g, sysCounterparty c WHERE g.FileId = f.FileId AND c.CounterpartyRef = f.CounterpartyRef AND g.StatusId = (SELECT MAX(StatusId) FROM dtaStatus WHERE FileId = f.FileId) AND g.IncidentStatusId = s.IncidentStatusId AND f.IncidentTypeId = t.IncidentTypeId AND " & strSQL_Where
    à chaque fois que j'utilise le formulaire de recherche, access me dit que j'ai des champs inconnu comme detection id hors comme vous pouvez le voir il n'ya pas ce champ dans la requete (par contre il est present dans la table dtafiles). aussi j'ai rajouté ce champs après avoir fait la requete.
    et maintenant j'ai une erreur je vois pas d'ou çà vient.

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Bonjour,

    Quand je lis la syntaxe de la clause FROM, je suis perplexe...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    FROM dtaFiles f, sysIncidentTypes t, sysIncidentStatus s, dtaStatus g, sysCounterparty c
    Tu devrais utiliser le mot-clé AS.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    FROM dtaFiles AS f, sysIncidentTypes AS t, sysIncidentStatus AS s, dtaStatus AS g, sysCounterparty AS c
    Par ailleurs, la lecture de la clause WHERE montre que tu veux effectuer de nombreuses jointures entre les tables.
    Pour plus d'efficacité, il existe une syntaxe spécifique aux jointures.
    Dans le cas présent il s'agit d'équi-jointures spécifiées au moyen de INNER JOIN.

    Sur access.developpez.com, Il y a un tutoriel sur les jointures.
    http://access.developpez.com/cours/#initiation

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 364
    Points : 253
    Points
    253
    Par défaut
    As tu exécuté tes requêtes séparement, pour voir si elle renvoie bien quelque chose

  4. #4
    Débutant Avatar de laurent.w
    Inscrit en
    Décembre 2006
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 201
    Points : 70
    Points
    70
    Par défaut
    oui elle renvoie bien quelque chose. je pense avoir trouvé mon erreur.
    j'ai ajouté des champs dans la table etudié et le code sql trouve des champs incoherents . la solution est de supprimer le lien entre la table de la base A et la table e la base B; le pb je sais pas comment faire (je sais bien lier mais delier how do I do?)

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 364
    Points : 253
    Points
    253
    Par défaut
    A quel niveau veut tu supprimer le lien.
    Si c'est dans la requête, tu as juste à cliquer sur le lien et appuyer sur Suppr sur ton clavier.

    Si c'est le lien entre les tables, tu vas dans le menu Outils puis Relations.
    Après tu choisis la relation que tu veux supprimer et tu appuies sur Suppr sur ton clavier.

  6. #6
    Débutant Avatar de laurent.w
    Inscrit en
    Décembre 2006
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 201
    Points : 70
    Points
    70
    Par défaut
    c'est le lien entre deux tables de deux bases differnetes, la reponse est delete
    au fait la requete etait bonne juste une modif de table à effectuer
    merci

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 26/11/2014, 17h41
  2. [AC-2007] erreur impossible d'utiliser la fonction dans cette expression
    Par tibofo dans le forum VBA Access
    Réponses: 2
    Dernier message: 05/06/2010, 09h27
  3. [MySQL] erreur dans cette requete?
    Par sybil dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/04/2009, 08h52
  4. impossible de trouver l'erreur dans cette requete
    Par laurent.w dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/01/2007, 10h38
  5. erreur dans ma requete
    Par isa21493 dans le forum ASP
    Réponses: 2
    Dernier message: 02/09/2005, 11h11

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