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

IHM Discussion :

faire un formulaire de choix par date


Sujet :

IHM

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Points : 56
    Points
    56
    Par défaut faire un formulaire de choix par date
    Bonjour tout le monde !
    je galère un peu dans du vba surement très simple pour certains...
    en quelques mots
    j'ai 6 listes déroulantes, les 3 premières selectionnent le jour, le mois et l'année de depart et les 3 suivantes permettent de selectionner la fin

    dans la requete sur laquelle je veux faire mon formulaire de filtre, j'ai un chanp date_suiv (date du debut), et un champ datefinR (date de fin)

    donc je veux que mon sous-formulaire me ressorte tous les enregistrements situés entre la date de début, et la date de fin selectionnée...

    J'ai mis ce code sur un bouton "valider" , mais il me donne toujours une erreur 424, "objet requis" ... quelqu'un peut-il me dire ou le bat blesse (car il blesse beaucoup là )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Private Sub valid_Click()
     
    Dim sql As String
    Dim A As String
    Dim B As String
    Dim C As String
    Dim D As String
    Dim E As String
    Dim F As String
    Dim datedeb As String
    Dim datefin As String
     
    A = jourdebut_liste.Value
    B = moisdebut_liste.Value
    C = anneedebut_liste.Value
     
    D = jourfin_liste.Value
    E = moisfin_liste.Value
    F = anneefin_liste.Value
     
    datedeb = "A" & "/" & "B" & "/" & "C"
    datefin = "D" & "/" & "E" & "/" & "F"
     
    sql = "SELECT RECAP_CA.*, RECAP_CA.date_suiv, RECAP_CA.datefinR"
    sql = sql & " FROM RECAP_CA WHERE (((RECAP_CA.date_suiv)= " & datedeb & ") AND ((RECAP_CA.datefinR)= " & datefin & "));"
     
     
    A_form_total.A_RECAP_CA2_sous_formulaire.Form.RecordSource = sql
    End Sub

    merci de votre aide !

  2. #2
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,

    Je trouve ta solution un peu compliquée......

    Sur ton formulaire deux champs pour la date de début et la date de fin.(Format = Date)
    Un bouton pour lancer une requête avec la clause Between avec tes 2 champs.

    Fais quelques recherches dans les anciens posts, car c'est un sujet relativement courant....Bonne lecture...
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Points : 56
    Points
    56
    Par défaut
    je sais que c'est un peu compliqué... mais on me demande d'avoir des listes déroulante pour selectionner le jour, le mois, etc...
    c'est pour ça que je ne m'en sors pas...
    j'avoue que j'ai dejà cherché partout, mais suis pas assez douée pour adapter le vba des autres à mon probleme précis...
    tant pis pour moi, je trouverai bien un peu d'aide ailleurs.

    merci d'avoir répondu, FreeAccess!!

  4. #4
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Points : 56
    Points
    56
    Par défaut
    bon, mon bout de code allégé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Private Sub valid_Click()
     
    Dim sql As String
    Dim datedeb As Date
    Dim datefi As Date
     
     
    datedeb = jourdebut_liste.Value & "/" & moisdebut_liste.Value & "/" & anneedebut_liste.Value
    datefi = jourfin_liste.Value & "/" & moisfin_liste.Value & "/" & anneefin_liste.Value
     
    sql = "SELECT RECAP_CA.*, RECAP_CA.date_suiv, RECAP_CA.datefinR "
    sql = sql & "FROM RECAP_CA"
    sql = sql & "WHERE (((RECAP_CA.date_suiv)= #" & datedeb & "#) AND ((RECAP_CA.datefinR)= #" & datefi & "#));"
     
    MsgBox "affaires entre " & datedeb & "  et  " & datefi
     
    Forms.A_form_total.A_RECAP_CA2_sous_formulaire.Form.RecordSource = sql
     
    End Sub
    ça marche jusquà la msgbox, mais ensuite, le probleme vient du recordsource...
    j'ai essayé toutes les syntaxe possibles, y compris celle de la FAQ :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms![NomFormulaire]![NomSousFormulaire].Form.RecordSource = "SELECT ...."
    mais rien n'y fait, soit il ne trouve pas l'objet (424) soit, si je met des crochets, il me dit qu'il ne reconnait pas le champ. c'est désespérant...
    any idea, somebody ?

  5. #5
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Re,
    et comme cela....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms![NomFormulaire]![NomSousFormulaire].Form.RecordSource = sql
    [EDIT]..Petite erreur de syntaxe...
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  6. #6
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Points : 56
    Points
    56
    Par défaut
    je viens d'essayer ce que tu suggères :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms![A_form_total]![A_RECAP_CA2_sous_formulaire].RecordSource = sql
    ça me donne ce message :
    erreur d'execution 2465,
    "ne trouve pas le champ 'A_RECAP_CA2_sous_formulaire' auquel il est fait référence dans votre expression"...

  7. #7
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Points : 56
    Points
    56
    Par défaut
    meme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms![A_form_total]![A_RECAP_CA2_sous_formulaire].Form.RecordSource = sql
    ne fonctionne pas

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/07/2014, 15h39
  2. filtrer résultat formulaire de recherche par date
    Par vilwix dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 25/01/2013, 18h51
  3. faire un filtrage par date sur base de donnee "delphi
    Par medsoft dans le forum Bases de données
    Réponses: 7
    Dernier message: 04/02/2006, 17h03
  4. formulaire de consultation par choix de listbox
    Par questions dans le forum Access
    Réponses: 1
    Dernier message: 31/01/2006, 11h03
  5. [Formulaire] filtrer liste par choix dans autre liste
    Par vatounet dans le forum Access
    Réponses: 4
    Dernier message: 05/10/2005, 15h57

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