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 :

Message "incohérence de type dans une expression" (problème SQL dynamique/Access2003)


Sujet :

Requêtes et SQL.

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 481
    Points : 165
    Points
    165
    Par défaut Message "incohérence de type dans une expression" (problème SQL dynamique/Access2003)
    Bonjour,

    Voici une expression SQL que je génère dynamiquement dans mon code VBA/Access2003.

    Il me donne comme message "incohérence de type dans une expression".

    Pourriez vous me dire d'où ça vient ?

    Par avance merci.

    Marco.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    SELECT Incident.NumIncident AS Expr1
    FROM ((Region INNER JOIN Ville ON Region.NomRegion = Ville.Region) INNER JOIN Site ON Ville.Ville = Site.Ville) INNER JOIN ([Select Incident.NumIncident,2 As Position From Incident Union Select TOP 1 '',0 From Incident Union 
    Select TOP 2 '-Tous-',1 From Incident]. AS [%$##@_Alias] INNER JOIN Incident ON [%$##@_Alias].NumIncident = Incident.NumIncident) ON Site.Site = Incident.NumSite
    WHERE ((([Region].[Region]) Like "*"))
    ORDER BY [%$##@_Alias].Position;

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 481
    Points : 165
    Points
    165
    Par défaut
    Apparemment l'aide VBA/Access, me renvoie à l'explication suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Incohérence de type dans une expression JOIN. (Erreur 3615)
    
    Une expression JOIN tente de joindre deux tables par des champs dont les types de données sont incompatibles. Cette erreur se produira si, par exemple, vous tentez de réaliser la jointure d'un champ de typeMemo avec un champ de typeText.
    J'avoue que ça ne m'avance pas beaucoups en fait.

    Si jamais celà inspire quelqu'un ?

    Par avance merci.

    Marco.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 168
    Points : 196
    Points
    196
    Par défaut
    Peut etre que tu as des champs de jointure qui sont de type different, tu ne peut pas comparer un emtier avec une chaine de caractere par exemple...
    Voilou++
    Sur terre il y a 10 types de personnes, celles qui comprennent le binaire et les autres...

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 481
    Points : 165
    Points
    165
    Par défaut
    Initialement, ma requète était la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
     
    SELECT Incident.NumIncident
    FROM [Select Incident.NumIncident,2 As Position From Incident Union 
    Select TOP 1 "",0 From Incident Union 
    Select TOP 2 "-Tous-",1 From Incident]. AS [%$##@_Alias]
    ORDER BY Position;
    Elle me permet de récupérer le contenu d'une colonne d'une table (table incidents : les numéros d'incidents) et de rajouter au début une ligne vide et la chaine de caractère "-Tous-") de manière à alimenter une comboBox.

    A partir de cette combo je construit une requète dynamique.

    A présent ce que je veux c'est n'avoir dans ma combo, (en fonction de l'appartenance d'un utilisateur à une région) que les numéros d'incidents qui se sont produits dans la région de mon utilisateur. D'ou la présence de mes 2 jointures.

    Mais c'est là le problème, car les jointures ne fonctionnent pas (à cause des lignes inséréées au début dans ma requète).

    J'espère que ma question est plus claire comme ça sur ce que je souhaite obtenir.

    Par avance merci.

    Marco.

Discussions similaires

  1. [AC-2007] en impression pdf, erreur 3615 incohérence de type dans une expression
    Par tibofo dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/10/2010, 17h20
  2. [AC-2007] Incohérence de type dans une expression
    Par DidoFido dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 04/12/2009, 14h21
  3. [AC-2003] Incohérence de type dans une expression
    Par KANIN dans le forum IHM
    Réponses: 2
    Dernier message: 05/11/2009, 10h15
  4. [AC-2007] Incohérence de type dans une expression
    Par stygmats dans le forum IHM
    Réponses: 6
    Dernier message: 06/09/2009, 18h38
  5. Incohérence de type dans une expression
    Par souketou dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 29/04/2009, 16h27

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