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 :

requête SQL et Access


Sujet :

Requêtes et SQL.

  1. #1
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut requête SQL et Access
    J'aimerais savoir s'il vou plait comment access compare les dates.

    je m'explique :
    supposons que j'ai des dates d'emboche dans une table employe dans ma base de donnee access : exemple DateArr=17/09/1983.

    si je fait cette requette: Select * from Employe where DateArr>#01/01/1983#
    je voudrais savoir a partir de ma requette command access va t'il faire les comparaison.
    Car lorsque je fait cette requette, elle ne marche pas comme je veut (enfin pas toujours).
    Parfois j'ai l'impresionn qu'il compare suivant l'annee, souvent c'est suivant le jour.
    Bref il ne me renvoit pas le resultat voulu. Alors j'aimerais savoir comment il les fait,
    ces comparaison.

    PS j'utilise VB et ACCESS 2003.
    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

  2. #2
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Salut,

    Cette demande est à faire sur le forum Access, demande à un modé de déplacer ton post

    J'imagine que la solution a un rapport avec le format de ta date, mais je ne travaille pas sous Access ...
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  3. #3
    Membre éclairé Avatar de Le Pharaon
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 880
    Points : 742
    Points
    742
    Par défaut
    Tu dois sûrement avoir un problème lié au format de la date. Tu peux vérifier tes paramètres régionaux
    Essaye ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .... WHERE DateArr > #Format('01/07/1983', "dd/mm/yyyy") # ....
    Scuse me while I kiss the sky ! Jimi Hendrix

  4. #4
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    bujuman j'ai deja essaye la solution que tu me propose. mais sans succes.

    En plus lorsque je l'ecrit comme ca il me renvoit l'erreur suivante :
    Citation Envoyé par VB
    Erreur d'exécution '-2147217904(80040e10)

    [Microsoft][Pilote ODBC Microsoft Access] trop peu de paramètres. 1 attendu.
    Donc je n'avance pas trop.
    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

  5. #5
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Les seules choses à savoir :

    Une date est en fait le nombre de jour écoulé depuis le 30/12/1899

    Une date s'encadre avec des #

    C'est le format US qui est utilisé : mm/dd/yyyy


    Voilà

  6. #6
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    Citation Envoyé par Tofalu
    C'est le format US qui est utilisé : mm/dd/yyyy
    excuse moi, donc si je comprend bien dans ma requette je doit faire

    ....... # Format(date, "mm/dd/yyyy)#

    bon mais je ne sais pas mais je croit que j'aurais un Probleme car dans ma BD, la date est de type "date abrégé" et est donc de la forme "dd/mm/yyy", n'y aura t'il donc pas de probleme dans la recherche ???
    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

  7. #7
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Citation Envoyé par sovo
    Citation Envoyé par Tofalu
    C'est le format US qui est utilisé : mm/dd/yyyy
    excuse moi, donc si je comprend bien dans ma requette je doit faire

    ....... # Format(date, "mm/dd/yyyy)#

    bon mais je ne sais pas mais je croit que j'aurais un Probleme car dans ma BD, la date est de type "date abrégé" et est donc de la forme "dd/mm/yyy", n'y aura t'il donc pas de probleme dans la recherche ???
    Hello,

    non car là tu parles de format et non de type.
    L'implémentation SQL d'Access nécessite que la chaîne SQL ait un format de date US entre ##.
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  8. #8
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    Citation Envoyé par cafeine
    L'implémentation SQL d'Access nécessite que la chaîne SQL ait un format de date US entre ##
    Alors la je ne comprend plus rien. Bon je vais essaye de vous expliquer plus clairement mon probleme.

    J'ai un formulaire (en VB) qui envoi la date (le format est dd/mm/yyyy) a un champs d'une de mes tables (format dd/mm/yyyy). Apres avoir enregistrer je doit faire une requette qui me donne tous les entregistrement entre 2 dates, voila la requette que j'ai ecrite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     SQL=" select * from emprunt where datemp  between #" & format(date1,  "dd/mm/yyyy") & " # and  #" & format(date2, "dd/mm/yyyy") & "#"
    mais il me donne un resultat qui ne respecte pas cette requette, alors commant doit je ecrire ma equette ??
    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

  9. #9
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 39
    Points : 33
    Points
    33
    Par défaut
    Pour moi, ça c'est suffisant, et ça marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
    FROM emprunt
    WHERE ((emprunt.datemp) Between [date1] And [date2]);
    A toi d'adapter les [date1] et 2 en fonction de l'endroit où tu récupère tes infos.

    Alain

  10. #10
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    OK je vais jetter un coup l'essayer et vous donnerais le resultat.
    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

  11. #11
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    finalement ca marche . Merci a tous et ârticumierement a Tofalu car c'est sa proposition qui marche :
    Citation Envoyé par Tofalu
    C'est le format US qui est utilisé : mm/dd/yyyy


    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

  12. #12
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 39
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par sovo
    finalement ca marche . Merci a tous et ârticumierement a Tofalu car c'est sa proposition qui marche :
    Citation Envoyé par Tofalu
    C'est le format US qui est utilisé : mm/dd/yyyy


    Personnellement, je n'emploie pas le format US, et je n'ai jamais eu de souci particulier. Pourtout j'utilise les dates dans mes tables, mes requêtes, mon code VBA. : : :

    Alain

  13. #13
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    Citation Envoyé par smiky77
    Pourtout j'utilise les dates dans mes tables, mes requêtes, mon code VBA
    tu dids bien VBA, moi je suis en VB6.
    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

  14. #14
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Citation Envoyé par smicky77
    Personnellement, je n'emploie pas le format US, et je n'ai jamais eu de souci particulier. Pourtout j'utilise les dates dans mes tables, mes requêtes, mon code VBA. : : :

    Alain
    c'est parce qu'a priori tu ne passes pas par le mode SQL, mais par le QBE, et là Access fait la conversion.
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  15. #15
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 39
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par sovo
    tu dids bien VBA, moi je suis en VB6.
    Oui, je ne parlais pas de VB6 mais VBA

    Citation Envoyé par cafeine
    c'est parce qu'a priori tu ne passes pas par le mode SQL, mais par le QBE, et là Access fait la conversion.
    QBE : Qu'est-ce que c'est que ça

    Et merci pour ces éclaircissements, je commençais à me poser des questions sur ma façon de faire. Quoique je m'en pose tout de même souvent

    Alain[/quote]

  16. #16
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2002
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Octobre 2002
    Messages : 14
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par smicky77 Voir le message
    Personnellement, je n'emploie pas le format US, et je n'ai jamais eu de souci particulier. Pourtout j'utilise les dates dans mes tables, mes requêtes, mon code VBA. : : :

    Alain
    C'est normal si tu utilise des dates où il n'y a pas de conflit mois/jour (#31/12/2016#) ou si le jour et le mois sont le même numéro (#01/01/2016#).

    Dans le 1er cas, c'est une aberration de Microsoft que d’interpréter automatiquement en #12/31/2016# plutôt que de rejeter la requête avec un message d'erreur.
    Dans le 2ème, on ne se rend tout simplement pas compte que l'on est en MM/JJ/AAAA.

  17. #17
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour,
    Vu sa dernière date d'activité (11 novembre 2005) je doute que smicky77 te réponde.

    En ce qui concerne ce problème il faut tout simplement utiliser le type de stockage natif des dates. Ainsi on a plus à se poser de question.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

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

Discussions similaires

  1. Problème requêtes SQL sur Access 2007
    Par Moroccan dans le forum VB.NET
    Réponses: 2
    Dernier message: 07/02/2007, 13h29
  2. Requête SQL sur Access
    Par LadyArwen dans le forum VBScript
    Réponses: 3
    Dernier message: 18/10/2006, 15h00
  3. Sous-requêtes SQL pour ACCESS
    Par bastoon dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 28/08/2006, 21h41
  4. requête sql sous access
    Par jadey dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 04/08/2006, 21h20
  5. Requêtes SQL pour access
    Par cciocc dans le forum Langage SQL
    Réponses: 5
    Dernier message: 25/04/2005, 08h45

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