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

Access Discussion :

Format Date dans une requete SQL en VBA [AC-2010]


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    avril 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : avril 2013
    Messages : 25
    Points : 33
    Points
    33
    Par défaut Format Date dans une requete SQL en VBA
    Bonjour à Tous,
    Avant tout merci à ceux qui pourront m'aider :
    J'ai créé une requete SQL en VBA avec un test entre deux dates saisies par l'utilisateur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    'date minimum au bon format
        DateDebFR = Format(Me.DatDeb2, "mm/dd/yy")
        'date max + 1 jour pour le between
        DateFinFR = DateAdd("d", 1, (Format(DateValue(Me.DatFin2))))
        'changement du format
        DateFinFR = Format(DateFinFR, "mm/dd/yy")
     
     
     
        SQLlst = "SELECT T_Factures.*, T_Revendeurs.[Code Rev], T_Revendeurs.[Nom Rev], T_Revendeurs.[CP Mag Rev], T_Départements.[Code Dept], T_Départements.[Libellé Dept], T_Départements.[N° Dept], T_Fabricants.[Code Fab], T_Fabricants.[Nom Fab], T_Agents.[NomPren Agent] "
        SQLlst3 = "FROM T_Départements INNER JOIN (((T_Factures INNER JOIN T_Revendeurs ON T_Factures.[Code Rev Fact] = T_Revendeurs.[Code Rev]) INNER JOIN T_Fabricants ON T_Factures.[Code Fab Fact] = T_Fabricants.[Code Fab]) INNER JOIN T_Agents ON T_Factures.[Code Agent Fact] = T_Agents.[Code Agent]) ON T_Départements.[Code Dept] = T_Revendeurs.[Dept Rev] "
        SQLlst4 = "WHERE ((T_Factures.[Date Fact]) BETWEEN #" & DateDebFR & "# And #" & DateFinFR & "#);"
    Lorsque je saisie une date de début (Me.DatDeb2) avec 01/06/2013 et une date de fin (Me.DatFin2) avec 27/06/2013. CA MARCHE.
    Par contre quand je saisie une date de début (Me.DatDeb2) avec 01/01/2013 et une date de fin (Me.DatFin2) avec 27/06/2013. CA NE MARCHE PLUS.

    et là je sèche completement.
    Merci de votre aide

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Superviseur comptable
    Inscrit en
    janvier 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Superviseur comptable
    Secteur : Finance

    Informations forums :
    Inscription : janvier 2021
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Quand utiliser ' ' et " " en VBA accèss
    Bonjour,

    Dans Access quand et pourquoi utiliser les caractères ' ' et " " ainsi que les & & lorsqu'on ramène une requête SQL en VBA, plus précisément quels sont leurs rôles

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT champ1, champ2 ... FROM table WHERE (champ1 = 'critère1' And champ2 = 'critère2')"
    Merci à tous

  3. #3
    Membre éclairé
    Femme Profil pro
    Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Inscrit en
    août 2017
    Messages
    348
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : août 2017
    Messages : 348
    Points : 878
    Points
    878
    Par défaut
    Citation Envoyé par Ryo07 Voir le message
    Dans Access quand et pourquoi utiliser les caractères ' ' et " " ainsi que les & & lorsqu'on ramène une requête SQL en VBA, plus précisément quels sont leurs rôles
    On utilise " ou ' pour délimiter des chaînes de caractères. On utilise & pour une concaténation.
    Exemple:
    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim varLgDebut As Long
    Dim varLgFin As Long
    Dim varStReq As String
     
    varLgDebut  =0
    varLgFin = 30
    varStReq = "SELECT * FROM table1 WHERE colonne1 = '01' AND colonne2 BETWEEN " & varLgDebut & " AND " & varLgFin & " ;" 
     
    varLgDebut  =10
    varLgFin = 13
    varStReq = "SELECT * FROM table1 WHERE colonne1 = '01' AND colonne2 BETWEEN " & varLgDebut & " AND " & varLgFin & " ;"

    Permet d'intégrer dans varStReq les valeurs prises par varLgDebut et varLgFin au moment où l'on compose la chaîne. Ces variables apparaissent en noir dans la coloration syntaxique. La seconde valeur de varStReq vaudra SELECT * FROM table1 WHERE colonne1 = '01' AND colonne2 BETWEEN 10 AND 13 ; .
    Utiliser ' à l'intérieur des "" permet de délimiter une chaîne de caractère (on compare colonne1 à une String '01', et non à un Nombre 1). On peut utiliser uniquement des ", mais c'est plus délicat, notamment avec des variables au format chaîne de caractère car il faut doubler " pour obtenir un guillemet à l'intérieur de la chaîne :

    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim varStDebut As String
    Dim varStFin As String
    Dim varStReq As String
     
    varLgDebut  ="Etape 1"
    varLgFin = "Etape 2"
    varStReq = "SELECT * FROM table1 WHERE colonne1 = ""01"" AND colonne3 BETWEEN """ & varStDebut & """ AND """ & varStFin & """ ;"
    Ce qui donnera comme contenu de varStReq : SELECT * FROM table1 WHERE colonne1 = "01" AND colonne3 BETWEEN "Etape 1" AND "Etape 2" ;
    Les problèmes sont des opportunités en vêtements de travail. Henry H. Kaiser
    Il n'est pas de problème dont une absence de solution ne finisse par venir à bout. Henri Queuille

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

Discussions similaires

  1. format numerique dans une requete SQL
    Par majothi dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 02/08/2008, 00h36
  2. [MySQL]pb de récupération de dates dans une requête SQL
    Par MisterGé dans le forum Langage SQL
    Réponses: 2
    Dernier message: 30/07/2007, 13h51
  3. Format date dans une requete SQL
    Par noratec dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 10/01/2007, 12h06
  4. [SQL INTERBASE] format de date dans une requete sql
    Par arnolpourri dans le forum InterBase
    Réponses: 5
    Dernier message: 03/07/2006, 11h42
  5. [MySQL] Comparer des info date dans une requete SQL
    Par kaygee dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 06/01/2006, 21h56

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