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 :

prendre en compte une date du formulaire dans une requête


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 103
    Points : 40
    Points
    40
    Par défaut prendre en compte une date du formulaire dans une requête
    Bonjour,

    Dans mon formulaire, une text box txt_date est renseignée par un calendrier pop up. Elle contient donc une date. (format short date)

    à côté un bouton cmd_go permet de lancer une requête affichant une liste de résultats dans une liste lst_resultats.

    J'ai inséré dans cette requete une condition sur la date rentrée dans ma txt_box. Mais la liste ne se remplit pas, la requête retourne un rsultata vide.

    Pouvez vous vérifier le code et me dire si il y a une erreur?

    Merci!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub cmd_go_Click()
    Dim SQL1 As String
    Dim DatePresence As String
    DatePresence = "#" & Me.txt_date & "#"
    SQL1 = "SELECT [nom_cdc], [date], [lieu_matin],[action_matin], [lieu_aprem], [action_aprem], [Commentaires] WHERE [date]= DatePresence ORDER BY [date];"
    Me.lst_presence.RowSource = SQL1
    Me.lst_presence.Requery
    End Sub

  2. #2
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Bonjour,

    Lorsque tu as ce genre de problème essaie de faire un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print "SELECT [nom_cdc], [date], [lieu_matin],[action_matin], [lieu_aprem], [action_aprem], [Commentaires] WHERE [date]= DatePresence ORDER BY [date];"
    Ta requête s'inscrit alors dans la fenêtre d'exécution et tu vois de suite que el nom de ta variable apparait dans ton SQL ce qui n'est pas le résultat que tu attends.

    En effet il faut faire une concaténation pour insérer la valeur d'une variable dans une chaîne de caractères grâce au caractère & :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print "SELECT [nom_cdc], [date], [lieu_matin],[action_matin], [lieu_aprem], [action_aprem], [Commentaires] WHERE [date]= " & DatePresence & " ORDER BY [date];"
    En espérant t'aider.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 103
    Points : 40
    Points
    40
    Par défaut
    SUPER!! ça a marché!!

    Maintenant j'ai un autre souci:
    sans requete ma liste affiche

    03/01/2005 blabla
    01/04/2005 blibli
    26/10/2005 bloblo

    Lorsque je rentre comme date 26/10/2005
    la requête affcihe

    26/10/2005 bloblo : ca marche (pensais-je...)

    mais en rentrant comme date 03/01/2005

    la liste n'affiche rien...

    J'ai vu plusieurs fois que la date avait un format spécial (US vs FRance)

    Comment faire sachant que cette date s'écrit automatiquement après avoir cliqué sur un petit calendrier en pop up?

    Merci de votre aide!!!

  4. #4
    Invité
    Invité(e)
    Par défaut
    Salut,

    Je pense que cela vient du format, formate ta date au format US avec la commande format (mm/dd/yyyy)

    Starec

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 103
    Points : 40
    Points
    40
    Par défaut
    Ok, concrètement je mets où et comment le formatdate dans le process sachant que
    1) en cliquant sur ma textbox j'appelle un calendrier
    2) le clic sur le calendrier renseigne ma text box en format jj/mm/aaaa
    3) un clic sur un bouton "go" lance la requete qui comporte la condition "where [date]=date de mon formulaire"
    4) les eventuels resultats de la requête sont affichés dans une liste box

    Merci de votre aide!!

  6. #6
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,
    Je t'invite à consulter mon tuto sur le débogage de requêtes, et notament la partie consacrée au Debug.Print.

    http://cafeine.developpez.com/debugprint/

    Sinon pour rester concrêt, cela semble est le classique cas de date au format US, cas qui est traité dans la FAQ.

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/12/2010, 21h20
  2. formulaire dans une iframe et résultat dans une autre
    Par eckerdecker dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 16/07/2010, 14h11
  3. Réponses: 1
    Dernier message: 12/04/2007, 17h08
  4. inserer une date en ASP dans une base ACCESS
    Par link39001 dans le forum ASP
    Réponses: 7
    Dernier message: 17/05/2006, 13h13
  5. Mettre une date par defaut dans une textBox.
    Par yaumme dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 01/12/2005, 22h39

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