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

Access Discussion :

Type de données incompatible dans l'expression du critère


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2015
    Messages : 25
    Points : 28
    Points
    28
    Par défaut Type de données incompatible dans l'expression du critère
    Bonjour,

    J'ai deux requêtes: Requête1 (ID/DATE) et RequêteA (ID/DATE1/MaxDATE) où [MaxDATE] est un champ calculé qui consiste à prendre la date la plus récente d'une autre table.

    Je souhaite obtenir quelque chose qui me donne les ID de la Requête 1 dont la DATE se situe entre les dates DATE1 et MaxDATE de la RequêteA.

    J'essaie donc d'effectuer la manip' suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT [Requête1].ID, [Requête1].DATE
    FROM [Requête1] INNER JOIN [RequêteA] ON [Requête1].ID = [RequêteA].ID
    WHERE ((([Requête1].DATE) Between [RequêteA].[DATE1] And [RequêteA].[MaxDATE]));

    Mais le message d'erreur "Type de données incompatible dans l'expression du critère" s'affiche. Il s'agit donc d'une erreur dans la clause WHERE mais je ne vois pas ce que c'est, est-ce du au champ calculé MaxDATE?

    Sinon auriez-vous une autre solution?

    Merci!

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Les paramètres dates doivent être utilisés entre croisillons '#', comme les textes entre ' ou guillemets.
    Et selon que tu sois dans SQL ou VBA, il faut de préférence utiliser le format US, ce qui donnerait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT [Requête1].ID, [Requête1].DATE
    FROM [Requête1] INNER JOIN [RequêteA] ON [Requête1].ID = [RequêteA].ID
    WHERE ((([Requête1].DATE) Between # Format([RequêteA].[DATE1];'aaaa/mm/jj') # And # Format([RequêteA].[MaxDATE];'aaaa/mm/jj')));
    Cordialement,

    PS : Il faut mettre les codes dans les balises pour que cela soit lisible : Tu le sélectionnes et tu cliques sur le #
    Euh, J'espère que les noms de champs que tu donnes sont des exemples parce que le mot "DATE" est un mot réservé, cela peut te réserver des surprises.
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

Discussions similaires

  1. Requête: type de donnée incompatible dans l'expression du critère
    Par abambad dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 31/10/2007, 15h48
  2. Réponses: 5
    Dernier message: 31/08/2007, 13h01
  3. Réponses: 8
    Dernier message: 20/06/2007, 14h38
  4. Réponses: 7
    Dernier message: 22/08/2006, 17h10
  5. Réponses: 3
    Dernier message: 22/05/2006, 19h23

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