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

VBA Access Discussion :

requete sql avec condition de dates [AC-2010]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2013
    Messages : 25
    Points : 24
    Points
    24
    Par défaut requete sql avec condition de dates
    bonjour,

    voila les requêtes que j'essaie de faire dans un module vba access, avec des formules, mais ce sont les résultats du debug.print que je vous présente

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select* from PersonnelAbsence where ID_employe=2

    celle-là fonctionne normalement

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select* from PersonnelAbsence where ID_employe=2 and where datedebut Between #05/01/2014# and #10/01/2014#

    erreur 3075 opérateur absent

    et enfin
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select* from PersonnelAbsence where PersonnelAbsence.datedebut Between #05/01/2014# and #10/01/2014#
    celle-ci fonctionne mais le record.count est à 0 alors que des enregistrements existent.

    je ne vois pas quels opérateurs sont absents dans la 2ème requête, et pour quoi la 3ème ne me renvoie pas d'enregistrement

    merci pour votre aide

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    Fais attention au format des dates, je crois qu'access et VBA ne les interprètent pas de la même manière.

    Ainsi si dans ta requête tu indiques #05/01/2014#, 05 étant le jour et 01 le mois (dd/mm/yyyy), vba peut interpéter ça différemment et comprendre : 01 pour le jour et 05 pour le mois (mm/dd/yyyy).

    C'est une piste (pour ta 3ème requête), mais je ne suis sur de rien, même si je sais que j'ai été confronté au même problème.

    Pour le résoudre, lorsque tu codes en VBA et que tu écris tes requête sous vba, modifie le format de ta date en yyyy/mm/dd avec la fonction Format :

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim uneDate as Date
     
    uneDate = 05/01/2014
    'requête d'exemple
    req = "SELECT* FROM PersonnelAbsence WHERE ID_employe=2 AND WHERE datedebut = #" & Format(uneDate, "yyyy/mm/dd") & "#"
    Bon courage.

  3. #3
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Salut,

    Les formats des dates en VBA est MM/DD/YYYY.

    @+.

  4. #4
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    Gerard.chery

    Afin que la deuxième requête fonctionne sans erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT PersonnelAbsence.ID_employe, PersonnelAbsence.datedebut
    FROM PersonnelAbsence
    WHERE (((PersonnelAbsence.ID_employe)=2) AND ((PersonnelAbsence.datedebut) between #05/01/2014# and #10/01/2014#));
    Pour le reste :

    1. A la lecture de ta requête tu cherches des enregistrements dont la date est comprise entre le 1er mai 2014 et le 1er octobre. Est ce vraiment ce que tu souhaites car la recherche d'enregistrements entre le 5 janvier et le 10 janvier doit s"écrire de la manière suivante : (format américain mois/jour/année).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT PersonnelAbsence.ID_employe, PersonnelAbsence.datedebut
    FROM PersonnelAbsence
    WHERE (((PersonnelAbsence.ID_employe)=2) AND ((PersonnelAbsence.datedebut) between #01/05/2014# and #01/10/2014#));
    2. Pense à vérifier si les champs null ne perturbent pas dans requête.

    Dans ce cas rajouter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT PersonnelAbsence.ID_employe, PersonnelAbsence.datedebut
    FROM PersonnelAbsence
    WHERE (((PersonnelAbsence.ID_employe)=2) AND ((PersonnelAbsence.datedebut) Between #5/1/2014# And #01/10/2014#) AND ((PersonnelAbsence.datedebut) Is Not Null));
    Bon courage

    JimBolion

  5. #5
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    A tous,

    Je crois que nous étions 3 à répondre à la même question

    JimBoLion

  6. #6
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Citation Envoyé par jimbolion Voir le message
    Je crois que nous étions 3 à répondre à la même question
    Il aura peut-être la réponse parmi dans les trois...

    @+.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2013
    Messages : 25
    Points : 24
    Points
    24
    Par défaut
    merci je vais essayer et vous tenir au courant

  8. #8
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    zoom61,

    Pour dire la même chose ce qui au moins est rassurant...

    JimBoLion

  9. #9
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2013
    Messages : 25
    Points : 24
    Points
    24
    Par défaut
    merci, c'était bien un problème de formatage de date et un problème de parenthèses.
    J'ai du mal à passer de vb6 à vba

    merci encore à tous

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

Discussions similaires

  1. [MySQL] Requete SQL avec 2 tables et condition de date+somme
    Par lounou dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 15/11/2012, 17h43
  2. [AC-2007] Requete SQL avec condition
    Par makiavel974 dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 21/06/2012, 10h11
  3. Requete mysql avec condition de date
    Par AurelienNF dans le forum Langage
    Réponses: 9
    Dernier message: 11/11/2010, 13h02
  4. [Access] requete sql avec condition sur date
    Par qeja dans le forum Langage SQL
    Réponses: 4
    Dernier message: 25/03/2006, 23h54
  5. Probleme de requete SQL avec un champs date
    Par ju360modena dans le forum ASP
    Réponses: 5
    Dernier message: 16/06/2005, 11h18

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