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

ASP Discussion :

Query sur une date dont le champ est text ( access ) en asp


Sujet :

ASP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Points : 26
    Points
    26
    Par défaut Query sur une date dont le champ est text ( access ) en asp
    Bonjour les people !!

    Comment allez vous en cet automne pluvieux ??

    Ptite question : J'aimerais faire une requete sur une date dans ma page asp, le problème est que le champs date dans ma table access est de type Text et que j'ai un peu de mal a faire un tri ascendant et une selection sur une année bien précise !!!

    J'ai du mettre mon champs date en type text car l'insert et l'update via asp ne fonctionne pas sinon .... quelqu'un a t il une idée sur le comment faire un tri sur mon champs date de format ( JJ/MM/AAAA ) ???

    Par exemple classé par année ??

    Merchiii

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Tu peux déjà transformer ton champ texte en format date

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MaDate = format(LaDate("dd/mm/yyyy")
    Ensuite, tu peux utiliser les fonctions suivantes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Annee = Year(MaDate)
    Mois = Month(MaDate)
    Jour = Day(MaDate)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Points : 26
    Points
    26
    Par défaut
    en asp ca ce traduit comment ??

    le truc c'est que j'aimerais faire un select * from matable where ...ORDER BY date ..mais il me classe mes date selon les jours croissant !! et non les année ??

  4. #4
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Et avec un ORDER BY Year(MaDate) ?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Points : 26
    Points
    26
    Par défaut
    Merci Year(date) fonctionne mais j'ai un message d'erreur : type mismatch dans ma requete sql ??

    ( Mon champs date dans ma table access est de type " text " )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    Annee = Request.form("annee")
    Annee = cint(Annee)
     
    Fonctionselect = Trim(Request ("Choix"))
     
     
     
    DIM oRS
    Set oRS = Server.CreateObject("ADODB.RecordSet")
    oRS.Open "SELECT tblPers.IDMatricule, tblPers.NOM, tblPers.Prenom, tblPers.Departement, tblEncodage.IDFormation, tblEncodage.Date, tblFormation.Formation FROM tblFormation INNER JOIN (tblPers INNER JOIN tblEncodage ON tblPers.IDMatricule = tblEncodage.IDMatricule) ON tblFormation.IDFormation = tblEncodage.IDFormation WHERE tblpers.Sortie is Null AND [Formation] LIKE '" &Fonctionselect & "' AND Year([Date])= "&Annee ,Connexion
    %>

  6. #6
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Change cette partie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ..... AND cStr(Year([Date]))= .....

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Points : 26
    Points
    26
    Par défaut
    Invalid use of Null



  8. #8
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Trois choses :

    1 Tu as un champ nommé Date => ce ne serait pas un mot réservé ?

    2 Si ton champ Date est de type texte, il manque des quotes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    AND Year([Date])= '" & Annee & "'"
    3 Que te donne ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    txtSQL = "SELECT tblPers.IDMatricule, tblPers.NOM, tblPers.Prenom, tblPers.Departement, tblEncodage.IDFormation, tblEncodage.Date, tblFormation.Formation FROM tblFormation INNER JOIN (tblPers INNER JOIN tblEncodage ON tblPers.IDMatricule = tblEncodage.IDMatricule) ON tblFormation.IDFormation = tblEncodage.IDFormation WHERE tblpers.Sortie is Null AND [Formation] LIKE '" &Fonctionselect & "' AND Year([Date])= '" & Annee & "'"
     
    Response.Write txtSQL
    A+

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Points : 26
    Points
    26
    Par défaut
    Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
    [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
    /BDF/index.asp, line 67




    J'ai changé le nom de mon champs date en ddate mais rien ne fait...marche po

  10. #10
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,
    Il existe aussi la fonction CDATE() qui converti une chaine en date si elle est bien formée.
    http://www.w3schools.com/Vbscript/func_cdate.asp

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Points : 26
    Points
    26
    Par défaut
    Je comprends pas je fais bien pourtant :

    Année = Request.form("2000")

    Année = Cstr(Annee)

    RequeteSQL=".......WHERE Year([Date])='"&Annee&"'"


  12. #12
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Essaie

    Citation Envoyé par hysteresis
    Année = Request.form("2000")

    Année = Cstr(Annee)

    RequeteSQL=".......WHERE Right(MaDate, 4) ='"&Annee&"'"

  13. #13
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    C'est normal l'accent, parcequ'il vaut mieux éviter, hein?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Année = Request.form("2000")
    Une valeur de ton formulaire porte le nom "2000"??
    "Winter is coming" (ma nouvelle page d'accueil)

Discussions similaires

  1. [AC-2003] Ajout d'enregistrements dans une table dont un champ est le résultat d'une requête
    Par ostrich95 dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 08/03/2014, 09h09
  2. [XL-2010] Mettre une date lorsque un champs est modifié
    Par patch2007 dans le forum Excel
    Réponses: 6
    Dernier message: 27/02/2012, 17h25
  3. Requete SQL sur une table dont le nom est dans une autre table
    Par orangepresse dans le forum Langage SQL
    Réponses: 3
    Dernier message: 29/09/2007, 13h32
  4. Réponses: 6
    Dernier message: 08/02/2007, 14h41
  5. Réponses: 4
    Dernier message: 27/12/2006, 21h53

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