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 :

Data type mismatch avec calcul date


Sujet :

Requêtes et SQL.

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    525
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Août 2005
    Messages : 525
    Par défaut Data type mismatch avec calcul date
    Bonjour

    J'essaie de filtrer un calcul de différence de 2 dates/heures. Mais j'ai un "data type mismatch" probablement en relation avec le fait que je veux filtrer un champ date/heure avec une valeur numérique

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT T_intervention.ID_Patient, T_intervention.ID_Intervention, T_intervention.Date_intervention, T_intervention.hsortie, [Date_intervention] & " " & [hsortie] AS Sortie, T_intervention.[Extubation (h) J1], T_intervention.Jour_extub, [Jour_extub] & " " & [Extubation (h) J1] AS Extub, DateDiff("n",[Sortie],[Extub]) AS Delai_extub, ([Date_intervention] & " " & [hsortie])-([Jour_extub] & " " & [Extubation (h) J1]) AS Delai_extub_heure
    FROM T_intervention
    WHERE (((T_intervention.[Extubation (h) J1]) Is Not Null) AND ((([Date_intervention] & " " & [hsortie])-([Jour_extub] & " " & [Extubation (h) J1]))<24));
    Dans cette requete, je recompose en concaténant 2 champs heure et date. Puis je calcule la différence entre les deux. J'obtiens bien la valeur. mais dés que j'essaie dans les critères de n'afficher que la différence inférieure à 24, cela plante.
    Peut-on convertir ce champ ? existe-t-il un autre moyen ?

  2. #2
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    3 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 048
    Par défaut
    Bonjour,
    Au sujet des dates et heures, parcoure déjà la Faq http://access.developpez.com/faq/?page=dates

    Bonne lecture

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    525
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Août 2005
    Messages : 525
    Par défaut
    Merci pour la réponse. il est bien indiqué dans la FAQ comment transformer une date en décimal (avec int()) et vice versa mais bien sûr il est plus simple de demander dans la requete que l'on souhaite ne retenir que les différences d'heures < 24 plutot que d'essayer de trouver la correspondance d'une différence d'un chiffre qui correspondrait à 24.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    'Heures, minutes et secondes seules, SANS la date. Affichage décimal.
    ? now - int(now) 
    0,50459490740468
    Voila la traduction de la date du jour en chiffre. Si je fais la différence entre 2 dates, quel va être le chiffre qui correspond à 24 ?
    Mais peut-être je n'ai pas tout compris à la FAQ. Pouvez-vous m'orienter ?
    Merci encore

  4. #4
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    3 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 048
    Par défaut
    Donc maintenant tu sais qu'une date est typée comme un Double et que la partie entiére est le nombre de jours depuis ....
    Il existe aussi des fonctions DateDiff et autres dont tu peux voir l'aide par F1.

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

Discussions similaires

  1. [AC-2003] Data type mismatch in criteria expression
    Par Marc_27 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 23/10/2009, 15h44
  2. Requête avec Data type mismatch in criteria expression
    Par Atom420 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 01/10/2007, 15h08
  3. Type mismatch avec type personnalisé
    Par hn2k5 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 17/08/2007, 20h46
  4. Data Type Mismatch In Criteria Expression
    Par jam92400 dans le forum Access
    Réponses: 10
    Dernier message: 19/06/2006, 11h22
  5. erreur Data type mismatch in criteria expression
    Par bachilbouzouk dans le forum ASP
    Réponses: 3
    Dernier message: 20/04/2005, 12h48

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