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 :

Date comme critère de requête


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier Avatar de Bragon12
    Inscrit en
    Avril 2008
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 142
    Points : 108
    Points
    108
    Par défaut Date comme critère de requête
    Bonjour,
    Je saisi une date dans un champ de forumlaire et je voudrais que cette date soit un critère d'une requête. Quand dans le champ critère de ma requête j'entre l'expression
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    >[Formulaires]![nom_formulaire]![Nom_du_champ_date]
    cela ne fonctionne pas.
    Dans la foulée... mon but est à terme de rentrer une période comme critère, comment doit être la syntaxe?

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 598
    Points : 34 286
    Points
    34 286
    Par défaut
    Bonjour,
    une date doit suivre un format #MM/dd/YYYY# quand on le fait apparaitre dans une erquête SQL.
    Essaie avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    >CDate([Formulaires]![nom_formulaire]![Nom_du_champ_date])
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre régulier Avatar de Bragon12
    Inscrit en
    Avril 2008
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 142
    Points : 108
    Points
    108
    Par défaut
    J'ai un message d'erreur en retour "Cette expression présente une synthaxe incorrecte ou est trop complexe pour être évaluée..."
    si je sors la valeur de mon champ par une msg box, j'obtient bien une date (format jj/mm/aaaa). Est ce que le problème viendrait de là, et qu'il faille modifier le format de la date?

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 598
    Points : 34 286
    Points
    34 286
    Par défaut
    le format de date est une problématique très courante sur le forum. Plusieurs approches sont possibles :
    - forcer le passage en MM/jj/aaaa
    - passer par un objet calendrier
    - adapter le code SQL...
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre régulier Avatar de Bragon12
    Inscrit en
    Avril 2008
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 142
    Points : 108
    Points
    108
    Par défaut
    qu'est ce qu'un "objet calendrier"?
    Sinon, quelle fonction en VB permet la conversion d'une date dd/mm/yyyy en mm/dd/yyyy (j'ai vu que ca fonctionne aussi sous ce format dans les requêtes...)?
    La solution que j'envisage serais de passer le champ rempli par l'utilisateur dans un second champ invisble pour changer le format qui permeterrai d'executer la requête sans changer la forme de saisie des données

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 598
    Points : 34 286
    Points
    34 286
    Par défaut
    un control calendar est disponible dans la liste des controls pour les formulaires, ca retourne une date.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  7. #7
    Membre régulier Avatar de Bragon12
    Inscrit en
    Avril 2008
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 142
    Points : 108
    Points
    108
    Par défaut
    Je ne trouve pas ce contrôle dans office 2007, j'utilise pour l'instant une zone de texte avec un format date

  8. #8
    Membre régulier Avatar de Bragon12
    Inscrit en
    Avril 2008
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 142
    Points : 108
    Points
    108
    Par défaut
    En utilisant le sujet que tu traitais en parallèle
    http://www.developpez.net/forums/sho...d.php?t=596268
    J'ai trouvé une solution:
    Comme je l'ai dit, j'utilise un champ caché dans mon formulaire pour convertire la donnée dans le bon format.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub champ_date_AfterUpdate()
    Me.nouveau_champ.Format = "MM/dd/yyyy"
    Me.champ_date.Value = Me.nouveau_champ.Value
    End Sub
    Dans la requête, j'utilise comme tu avais proposé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    >CDate([Formulaires]![nom_formulaire]![Nom_du_champ_date])
    Et tout fonctionne!!!
    Merci de ton aide

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

Discussions similaires

  1. [AC-2010] Recordset comme critère de requête
    Par francois-web dans le forum VBA Access
    Réponses: 6
    Dernier message: 16/04/2014, 16h00
  2. Utiliser une sélection multiple comme critère de requête
    Par Sébastien Le Goyet dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 03/04/2007, 14h40
  3. [Requête] Utiliser une date comme critère
    Par guyom_ dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 01/02/2007, 08h58
  4. Requête avec date comme critère de sélection
    Par deep-diver dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 18/09/2006, 11h40
  5. [VB6] Date comme critère dans un datareport
    Par philippef dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 06/04/2006, 13h45

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