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 :

Ouvrir etat pour une semaine donnee a partir d'une date entree dans formulaire


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Points : 9
    Points
    9
    Par défaut Ouvrir etat pour une semaine donnee a partir d'une date entree dans formulaire
    Salut a tous

    J'ai un petit problème: j'ai un état où des transactions sont affichées que j’ai regroupé par numéro semaine dans ma requête. J’ai créé un formulaire où l’utilisateur rendre n’importe quel jour (sous le format :MM/JJ-AAAA) et ça doit ouvrir l’état pour la semaine contenant ce jour. Mais mon code VBA pour faire ne marche par vraiment :

    Dim stDocName As String
    Dim semaine As String
    semaine = DatePart(ww, Me!date_entree)

    stDocName = "transaction_semaine"
    DoCmd.OpenReport stDocName, acPreview, ,_
    "[semaine] =" & "'" & semaine & "'"

    Je dois m’y prendre mal quelque part car ça m’affiche « Invalid procedure call or argument ».

    De plus j’aimerais que dans mon état ça pour afficher la date du premier jour (lundi) et du dernier jour (vendredi) de la semaine pour laquelle on imprime l’etat. Est-ce possible ?

    Merci d'avance de votre aide

  2. #2
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 273
    Points : 258
    Points
    258
    Par défaut
    Est-ce que tu as essaye de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim stDocName As String
    Dim semaine As Integer
     
    semaine = DatePart("ww", Me!date_entree)
    MsgBox semaine
     
    stDocName = "transaction_semaine"
    DoCmd.OpenReport stDocName, acPreview, , "[semaine] =" & semaine
    pour voir si deja il arrive bien a prendre le numero de semaine? essaye de le mettre en Integer (entier) plutot qu'en String deja

    Sinon est-ce que tu as une date sur l'etat pour pouvoir mettre la condition sur le vendredi precedent et le lundi suivant? et le champ [semaine] de l'etat est bien present? Si tu as une date sur l'etat tu peux essayer ca:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim stDocName As String
    Dim semaine As Integer
     
    semaine = DatePart("ww", Me!date_entree)
     
    stDocName = "transaction_semaine"
    DoCmd.OpenReport stDocName, acPreview, , "[semaine] =" & semaine & " OR ([semaine]=" & semaine-1 & " AND Weekday([DateEtat])=vbFriday) OR ([semaine]=" & semaine+1 & " AND Weekday([DateEtat])=vbMonday)"

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Merci catoucat, ca marche bien quand je declare "semaine" comme un interger.
    Concernant ma 2e question, oui le champ "semaine" est bien present mais c'est un entier (numero de la semaine), car je fais le regroupemt par numero de semaine dans ma requete. donc j'ai ajoute 2 text box a mon etat et j'aimerais creer un code vba qui mettrais la date du debut(lundi) et fin(vendredi) de semaine concernee dans ces 2 text box. Je m'explique:

    par ex si l'utisateur rentre dans le formulaire la date de n'importe quelle jour de la semaine qu'il veut, disons il rentre la date de mercredi passe (donc 10/18/2006) j'aimerais que dans l'etat, ca m'affiche:
    text_box1= 10/16/2006 et textbox2 =10/23/2006. Est ce faisable?
    Ou bien est ce que c'est plus facile en prenant dimanche et samedi comme debut et fin de semaine?

    Merci

  4. #4
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 273
    Points : 258
    Points
    258
    Par défaut
    Ahhhhhhh pardon desolee j'avais mal compris la question pour le vendredi et le lundi!

    Dans ton etat tu peux mettre 2 champs et calculer avec VBA les dates du lundi et du vendredi. Dans la FAQ il y a une fonction qui calcule le premier jour de la semaine http://access.developpez.com/faq/?pa...DAtPremJourSem, tu n'as plus qu'a la modifier un petit peu en supposant que DateEtat est une date sur l'Etat, Lundi est le champ du lundi sur l'etat et Vendredi le champ du vendredi sur l'etat:

    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
    Private Sub Report_Open() 
     
        Dim d As Date
        Dim numS As Integer
        Dim annee As Integer
        Dim numSemaine As Byte
     
        annee=Year(dateEtat)
        numSemaine = DatePart("ww",dateEtat)
     
        ' premier jour de l'année
        d = DateSerial(annee, 1, 1)
     
        ' numéro de la semaine du 1er janvier
        numS = DatePart("ww", d, vbMonday, vbFirstFourDays)
     
        ' si le 1er janvier fait partie de la dernière semaine de l'année précédente
        ' alors passe à la semaine suivante (la première de la nouvelle année)
        If numS <> 1 Then d = DateAdd("d", 7, d)
     
        ' calcule le premier jour de la première semaine de l'année
        d = DateAdd("d", 1 - Weekday(d, vbMonday), d)
     
        ' ajoute (numSemaine-1) semaines
        Lundi.Value = DateAdd("ww", numSemaine - 1, d)
        Vendredi.Value = DateAdd("d",5,Lundi)
     
    End Sub

  5. #5
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Je vais essayer ca...

    Un grand merci pour ton aide catoucat

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 25/06/2014, 17h06
  2. [URL] problème pour créer un url a partir d'une adresse relative
    Par luckyvae dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 04/10/2007, 12h37
  3. Réponses: 4
    Dernier message: 28/02/2007, 16h24
  4. Réponses: 1
    Dernier message: 25/09/2006, 16h00
  5. [D7] trouver un jour a partir d'une semaine et date
    Par raoulmania dans le forum Langage
    Réponses: 4
    Dernier message: 01/12/2005, 12h43

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