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 :

[VBA] Requête + date pour travailler avec des recordsets


Sujet :

Requêtes et SQL.

  1. #1
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut [VBA] Requête + date pour travailler avec des recordsets
    Bonjour ...

    J'ai créer un recordset pour parcourir une table ... voici la requête que j'ai faite pour cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    str_Journal = ("SELECT * FROM TB_LOCALE_journal_poids_lingot WHERE (NumLingot LIKE '" & var_NumLingot & _
    "') AND (CDate(Int([date_termine])) Like '" & da_DateFormulaire & "');")
    Ma requête est fonctionnelle jusqu'au AND ... je l'ai testée et pas de soucis ... mais lorsque je rajoute le reste j'ai une erreur qui me dit :

    Erreur d'exécution '3061':
    Trop peu de paramètres. 1 attendu
    Juste une précision :

    Mon champ : date_termine est de type DATE dans ma table.
    Ma variable : da_DateFormulaire est de type DATE dans mon code.

    Savez-vous pourquoi j'ai cette erreur ???

    Si vous avez une petite idée, elle sera la bienvenue ... merci de votre aide ... et à tout bientôt ...

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 079
    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 079
    Points : 24 721
    Points
    24 721
    Par défaut
    Bonjour,

    Je te suggère de revoir les opérateurs que tu utilise notamment le Like que tu a l'air d'employer à toutes les sauces.

    Le LIKE est reservé à des champs de type texte.

    Cordialement,

  3. #3
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut
    Merci pour ta réponse ... je viens de m'appercevoir d'une erreur que j'avais faite ... je n'ai pas copier le bout de code que je voulais ...

    Voici ce que je voulais vous montrer ... :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    str_ReqLingot = ("SELECT * FROM TB_LINGOTS WHERE (lingot_termine = True) AND (CDate(Int([date_termine])) = '" & str_DateDuFormulaire & "');")
    Avec mes excuses ....

    Et voici mon erreur :

    Erreur d'exécution '94'
    Utilisation incorrecte de Null ... ...
    Voici encore quelque précision :

    Le contenu de ma variable str_DateDuFormulaire est fait comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    da_DateFormulaire = Me.ch_inde_DateJournalLingot
    str_DateDuFormulaire = Replace(da_DateFormulaire, ".", "/")
    str_Jour = Left(str_DateDuFormulaire, 2)
    str_Annee = Right(str_DateDuFormulaire, 4)
    str_Mois = Mid(str_DateDuFormulaire, 4, 2)
    str_DateDuFormulaire = "#" & str_Jour & "/" & str_Mois & "/" & str_Annee & "#"
    Je ne comprends pas car lorsque j'exécute mon code, ma variable n'est pas NULL ... si vous avez une idée, elle sera la bienvenue ... merci de votre aide ... et à tout bientôt ...

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Bonjours,
    Attention au format des dates, sous Access c'est un format anglais, soit : Mois/Jour/Année

  5. #5
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 179
    Points : 217
    Points
    217
    Par défaut
    Salut,

    et pourquoi pas :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    AND [date_termine] = #" & format(str_DateDuFormulaire,"MM/DD/YY") & "#);")

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 079
    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 079
    Points : 24 721
    Points
    24 721
    Par défaut
    +1 pour lucky01 et on ne le répétera jamais assez !

    Pour Snoop :

    Soit on utilise les # et alors on compare des dates.
    soit on utilise les ' (cotes) et alors on compare du texte.

    mais mélanger les 2 ne sert strictement à rien !!!

    Soit on compare du Numérique (la date c'est du double) c'est encore la meilleure solution pour pas se tromper.

    Cordialement,

  7. #7
    Membre expérimenté
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Points : 1 664
    Points
    1 664
    Par défaut
    Salut snoopy69,

    Au lieu d'écrire écris J'émet un réserve pour la suite qui compare une date en utilisant des fonctions de texte! Tu pourrais faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    '...
    AND [date_termine] = #" & da_DateFormulaire & "#" 'Non?
    '...
    A+

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

Discussions similaires

  1. Recherche de la doc. pour travailler avec des BDD
    Par rambc dans le forum Général Python
    Réponses: 5
    Dernier message: 18/03/2010, 20h28
  2. Le meilleur IDE pour travailler avec des agents ?
    Par aleanlastar dans le forum EDI et Outils pour Java
    Réponses: 2
    Dernier message: 13/03/2009, 19h07
  3. Réponses: 2
    Dernier message: 14/03/2008, 10h57
  4. travailler avec des dates
    Par kain31 dans le forum C++
    Réponses: 2
    Dernier message: 11/04/2007, 18h24
  5. Réponses: 3
    Dernier message: 15/02/2007, 10h54

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