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 sur variables date avec # [AC-2007]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 78
    Par défaut Requete SQL sur variables date avec #
    Bonjour à tous,

    Je souhaite faire un recherche dans un table dont les occurences sont comprises entre deux dates (format date dans ma table)

    J'ai donc le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql = "SELECT [Date de stock],[Désignation pièce],[Référence pièce],[Stock actuel],Catégorie,Opérateur,Commentaires FROM Table_Stocks WHERE [Date de stock] BETWEEN '" & Me.txt_Date_Debut.Value & "' And '" & Me.txt_Date_Fin.Value & "' "
    Et comme c'est des dates je dois mettre des # à mes variables date début et fin pour que ma requête SQL les prennent en compte. Le problème, c'est que n'étant pas d'un niveau foudroyant en VBA, je se sais pas ou placer les # sur mes variables.
    J'ai tout essayé, sans succès...
    IL faut dire que les " et ' me deroutent un peu...

    Si une âme charitable passe par là

    Merci....

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    salut,
    essaye ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BETWEEN "" & Me.txt_Date_Debut.Value & "# And #" & Me.txt_Date_Fin.Value & "# "
    Attention, le format des dates est pris ici au format MM/JJ/AAAA. Si ce n'est pas ainsi qu'elles sont entrées dans ton formulaire il faut faire une manipulation intermédiaire.
    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 :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

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

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    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 confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 78
    Par défaut
    Bonsoir,

    Sur tes conseils, j'ai codé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    DateFormateeDebut = Format(Me.txt_Date_Debut.Value, "mm/dd/yyyy")
    DateFormateeDebut2 = "" & "#" & DateFormateeDebut & "#" & ""
    DateFormateeFin = Format(Me.txt_Date_Fin.Value, "mm/dd/yyyy")
    DateFormateeFin2 = "" & "#" & DateFormateeFin & "#" & ""
    MsgBox "" & DateFormateeDebut2 & "" ' Histoire de vérifier: la date retournée est bien #10/26/2009#
    MsgBox "" & DateFormateeFin2 & ""
     
    sql = "SELECT [Date de stock],[Désignation pièce],[Référence pièce],[Stock actuel],Catégorie,Opérateur,Commentaires FROM Table_Stocks WHERE [Date de stock] BETWEEN 'DateFormateeDebut2' AND 'DateFormateeFin2' "
    list_Recherche_Avancee.RowSource = sql
    Malheureusement, nada. Ma liste reste et demeure vide malgré une foultide d'enregistrements...

    Là je sèche...

    Merci pour ton aide.

    Bonne nuit (après 14 heures de dev, Dodo !)

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 127
    Par défaut
    Bonsoir,

    JP avait oublié un # mais tu l'as bien vu, par contre il y a un blême dams la dernière ligne car elle n'utilise pas tes variables !!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql = "SELECT [Date de stock],[Désignation pièce],[Référence pièce],[Stock actuel],Catégorie,Opérateur,Commentaires FROM Table_Stocks WHERE [Date de stock] BETWEEN " & DateFormateeDebut2 & " AND " & DateFormateeFin2
    Pour info j'utilise les dates au format français placées entre ' et ça marche aussi très bien (enfin au moins avec un windows français )

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 78
    Par défaut
    Merci beaucoup Nico cela fonctionne à merveille

    Citation Envoyé par nico84 Voir le message
    Bonsoir,
    Pour info j'utilise les dates au format français placées entre ' et ça marche aussi très bien (enfin au moins avec un windows français )
    C'est bien ce que j'avais fait ! (Avec Win Vista pro 100 % pur french ) et pourtant ce ne fonctionnait pas. Il est clair que le formatage de date alourdit le code. J'aime pas trop, mais je verrais cela + tard. J'en suis à 50 % de dev de l'appli et à au mini 40 heures de dev encore. Donc au taf !!!

    Merci à tous et bonne journée

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

Discussions similaires

  1. requete sql sur une date
    Par Invité1 dans le forum Bases de données
    Réponses: 4
    Dernier message: 28/03/2010, 14h30
  2. requete sql sur des dates
    Par dcaille dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/10/2009, 10h00
  3. requete sql sur des dates
    Par dcaille dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/10/2009, 16h52
  4. Réponses: 10
    Dernier message: 11/08/2009, 14h43
  5. clause sql sur champ Date avec masque de saisie
    Par TOMSEC dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 05/04/2007, 12h20

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