Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1634 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°1464516
bouboute_2​4
Posté le 25-10-2006 à 05:22:52  profilanswer
 

Salut a tous :hello:  
 
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 :jap:  

mood
Publicité
Posté le 25-10-2006 à 05:22:52  profilanswer
 

n°1464518
seniorpapo​u
Posté le 25-10-2006 à 07:23:56  profilanswer
 

Bonjour,
si les lignes sont exactement celles que tu as dans ton code, mets un espace entre la ,   et le  _   , ou plus simple : mets tout sur une ligne. Si c'est une refrappe, essayes plutôt des copier/coller cela évite les erreus de transcription.
 
mettre "ww" dans le datepart :  interval = expression CHAINE
 
 
pour l'affichage: regarder si l'utilisation de:
dada=cdate( Me!date_entree)   'si nécessaire
 wd = Weekday(Dada, 3)
    MsgBox (Dada - wd) & " " &  (Dada - wd + 4)
 
est correcte (tester sur les cas "limite" )
Cordialement


Message édité par seniorpapou le 25-10-2006 à 09:00:12
n°1464540
bouboute_2​4
Posté le 25-10-2006 à 09:07:32  profilanswer
 

ca marche bien avec le datepart(), merci seniorpapou.
Au fait concernant ma 2e question, ce que je cherche a faire, c'est a partir d'une date rentree dans un formulaire, j'aimerais pourvoir afficher dans 2 text box dans un etat, la date du debut(lundi) et fin(vendredi) de semaine dans la laquelle la date est comprise. 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

n°1464572
seniorpapo​u
Posté le 25-10-2006 à 09:54:31  profilanswer
 

bonjour,
à tester en mettant la bonne variable date
 
pour le lundi:
=CDate("18/10/2006" )-JourSem(CDate("18/10/2006" ))+2
 
pour le vendredi
=CDate("18/10/2006" )-JourSem(CDate("18/10/2006" ))+6
il y a surement un autre moyen mais je ne trouve pas
Cordialement
 
Hs: pour mon information tu n'as pas dit à Beegee sur la section sgbd si sa solution fonctionnait au sujet des GOOD ....


Message édité par seniorpapou le 25-10-2006 à 09:59:25
n°1467159
bouboute_2​4
Posté le 30-10-2006 à 02:29:17  profilanswer
 

Salut seniorpapou,
 
Desolees de te repondre aussi tard, mais je viens tout juste d'essayer la requete de Beegee et ca marche tres bien
 
cordialement,
 
P.S: pour resoudre mon probleme de date. j'ai fait comme suit:
 
pour avoir le lundi, j'ai une fonction qui me revoie le lundi:
 
Public Function PremierJourSemaine(ByVal numSemaine As Byte, ByVal annee As Integer) As Date
 
    Dim d As Date
    Dim numS As Integer
   
    ' 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
    PremierJourSemaine = DateAdd("ww", numSemaine - 1, d)
    Me!date1 = PremierJourSemaine
End Function
 
et le vendredi m'est donne avec le code suivant:
 
Public Function DernierJourSemaine(ByVal numSemaine As Byte, ByVal annee As Integer) As Date
 
    Dim d As Date
    Dim numS As Integer
   
    ' 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", 5 - Weekday(d, vbMonday), d)
           
    ' ajoute (numSemaine-1) semaines
    DernierJourSemaine = DateAdd("ww", numSemaine - 1, d)
    Me!date2 = DernierJourSemaine
End Function


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

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

 

Sujets relatifs
graphique à partir de donnée XML openlazlopetit programme de classement automatique suivant donnée
ASP.net afficher une page web à partir d'un boutonOuvir etat pour un mois donne a partir d'un formulaire
Visual Studio : Placer un outil dans le FORM[PHP] exportation d'une base de donnée
c#]Afficher une interface webservices dans une formliste déroulante à partir d'une bd... vide
Plus de sujets relatifs à : Ouvrir etat pour une semaine donnee a partir d'une date entree form


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR