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

VB 6 et antérieur Discussion :

[VB6]Between date


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de malhivertman1
    Inscrit en
    Avril 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 337
    Par défaut [VB6]Between date
    Bonjour,

    J'aimerai faire un between entre des dates de format 'MM YYYY' et pour le moment j'ai ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT COUNT(DOS_CODE) nbdossclos FROM dual, dossier  
    WHERE DOS_CLOTURE_DATE between TO_CHAR('01/07/2005', 'MM YYYY') AND TO_CHAR(ADD_MONTHS('01/10/2005', -1), 'MM YYYY') 
    AND TO_CHAR(DOS_CLOTURE_DATE,'MM YYYY') > TO_CHAR(ADD_MONTHS('01/07/2005', -1),'MM YYYY') 
    AND DOS_AGE_CODE ='QS' AND DOS_CIS_ADR_CODE = 'CCCCCCCCCCCCCC1'
    ;
    Mais j'ai l'erreur ORA-01830: données surnuméraires après la conversion correcte d'une chaîne en entrée

    Si qq est deja tombé sur ce probleme, j'accepterai volontier son aide.

    Merci

  2. #2
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Salut!
    Il sert à quoi, le "TO_CHAR" ? Oracle sait bien comparer les dates.
    Et d'ailleurs, ta colonne DOS_CLOTURE_DATE, elle contient des données dans quel format? Parce que si ce sont des dates, et que tu veut les comparer à des caractères...
    En fait, ton problème n'a, je crois, pas grand chose à voir avec VB... A ta place, j'irais voir dans leforum SQL, et je pense qu'un gentil modérateur va t'y envoyer...

  3. #3
    Membre éclairé Avatar de malhivertman1
    Inscrit en
    Avril 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 337
    Par défaut
    le TO_CHAR, c'était pour mettre le format 'MM YYYY'

  4. #4
    Membre éclairé Avatar de malhivertman1
    Inscrit en
    Avril 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 337
    Par défaut
    j'ai essayé avec TO_DATE mais le probleme reste entier

  5. #5
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Le format ne sert à rien dans un comparaison de date. Oracle stocke une date à sa façon, et l'affichage ne joue aucun rôle.
    Je crois que quand tu mets une date dans une requête Oracle, tu dois la mettre entre séparateurs spécifique, mais je ne sais plus ce que c'est. (En access, c'est # #). Je pense vraiment que tu devrais déplacer ta question dans le bon forum.
    Mais tu n'as pas répondu: quel est le type des données dans ta colonne DOS_CLOTURE_DATE ?

  6. #6
    Membre éclairé Avatar de malhivertman1
    Inscrit en
    Avril 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 337
    Par défaut
    Ma colonne DOS_CLOTURE_DATE reçoit des dates mais en fait, au début j'avais mis TO_CHAR(DOS_CLOTURE_DATE, 'MM YYYY'), c'est pour ça.

    Et le faire qu'Oracle compare tout seul ok, mais je ne veut pas qu'il compare du 01 au 01 mais du 01 au 31 de l'autre mois, c'est pour ca que je voulais qu'il compare 'MM YYYY' plutot que 'DD MM YYYY'. Si je laisse tout comme ca avec les jours, ca marche mais ce n'est pas ce que je veux

  7. #7
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Mouais, je comprend à peu près.
    Et en choisissant de mettre 01 ou 31, tu ne t'en sors pas?
    Par exemple, une date entre "07/2005" et "03/2006", c'est bien une date entre "01/07/2006" et "31/03/2006".
    Non?
    Bon, je sais, ce n'est qu'un contournement, mais je n'ai pas Oracle pour tester.
    Sinon, tu as posté ta question sur le forum SQL? (Promis, c'est la dernière fois que je te le dis... ...)

  8. #8
    Membre éclairé Avatar de malhivertman1
    Inscrit en
    Avril 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 337
    Par défaut
    non je n'ai pas encore posé ma question sur sql, je voulais voir si qq savait ici d'abord. Et en fait, je ne peux pas faire between 01 and 31 parce que je prend des dates qui sont dans des champs et qui ne sont pas avec 01 ou 31, c'est genre 07/07/2005 et 12/06/2006 mais il me faut entre 01/07/2005 et 31/06/2006..voila tout

  9. #9
    Membre éclairé Avatar de malhivertman1
    Inscrit en
    Avril 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 337
    Par défaut
    C'est bon, je me suis mis sur le forum SQL et j'attend

Discussions similaires

  1. PB Between date
    Par marcoxx dans le forum SQL
    Réponses: 5
    Dernier message: 12/04/2010, 20h27
  2. [VB6] Soustraction Date & Time + Images dans les menus
    Par Jihnn dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 02/07/2006, 17h10
  3. between date dans requête donne des faux résulats
    Par pschmidtke dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 08/06/2006, 16h43
  4. Between + date
    Par roots_man dans le forum ASP
    Réponses: 9
    Dernier message: 30/03/2006, 14h45
  5. [Oracle] Between date
    Par malhivertman1 dans le forum Langage SQL
    Réponses: 25
    Dernier message: 14/02/2006, 09h22

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