Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/07/2011, 20h53   #1
Invité de passage
 
Inscription : mai 2010
Messages : 23
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 23
Points : 4
Points : 4
Par défaut Formulaire sur requête triée par date

bonjour,

je viens vous voir car j'ai un petit souci.

J'ai créé un formulaire issu d'une requête qui est elle-même triée par date.

En fait, ma requête me donne les enregistrements dont j'ai besoin entre deux dates que je précise à l'ouverture de la requête.

Du coup, quand j'ouvre mon formulaire celui-ci me demande la date de début et la date de fin comme si j'ouvrais la requête.

Le problème est que dans mon formulaire je souhaiterais évoluer d'un enregistrement à l'autre ce qui reviendrait à me déplacer dans ma requête d'une ligne à l'autre.

Mon problème est que lorsque je clique sur mon bouton "enregistrement suivant", il me demande à chaque fois de réécrire la date de début et la date de fin. Par contre, une fois ces données indiquées, je me retrouve bien avec le bon enregistrement.

Ma question est la suivante : comment faire pour éviter de devoir redonner à chaque fois les dates de début et de fin sachant que j'ai 150 enregistrements minimum ?

Je vous remercie par avance de l'aide que vous allez pouvoir m'apporter.

Papychang
papychang est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 21h11   #2
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 470
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 470
Points : 7 552
Points : 7 552
Il suffit de les indiquer une seule fois :o) mais au bon endroit.

La solution la plus simple est de faire un formulaire de paramétrage qui contiendra tes 2 dates puis de les exploiter.

Tu peux le faire :
Lors de l'instruction DoCmd.OpenForm en précisant le paramêter "ClauseWhere". De mémoire c'est le 3ième.

Ex de clauseWhere :
Code :
"[TaDate] between" &  format(me.[DateDebut] ,"yyyy-mm-dd") & " and " & format(me.[DateFin] ,"yyyy-mm-dd")
c'est ma solution favorite car elle offre une grande souplesse d'utilisation.

Dans la requête qui allimente ton fromulaire. Là encore tu vas mettre comme critère de [TaDate]

Code sql :
BETWEEN  format([forms]![NomTonFormParam]![DateDebut] ;"yyyy-mm-dd") & " and " & format([forms]![NomTonFormParam]![DateFin] ;"yyyy-mm-dd")

Note que dans cette solution, [NomTonFormParam] peut être ton formulaire courant d'affichage. Il faut simplement demander un Me.Requery lorsqu'une des dates est mise à jour pour rafraichir l'affichage.

Enfin tu peux changer le filtre du formulaire en modifiant la propriété Fliter et FilterOn du formulaire d'affichage. Là encore tu peux utiliser le formualire courant ou un externe.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 21h59   #3
Invité de passage
 
Inscription : mai 2010
Messages : 23
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 23
Points : 4
Points : 4
Bonsoir,

merci pour cette réponse rapide mais je n'ai pas tout compris comment faire et où insérer le code.

pouvez vous me donner des explications en plus ?

Merci

Citation:
Envoyé par marot_r Voir le message
La solution la plus simple est de faire un formulaire de paramétrage qui contiendra tes 2 dates puis de les exploiter.
ça c'est bon, j'ai fais un formulaire avec deux champs de date à renseigner

Citation:
Envoyé par marot_r Voir le message
Tu peux le faire :
Lors de l'instruction DoCmd.OpenForm en précisant le paramêter "ClauseWhere". De mémoire c'est le 3ième.

Ex de clauseWhere :
Code :
"[TaDate] between" &  format(me.[DateDebut] ,"yyyy-mm-dd") & " and " & format(me.[DateFin] ,"yyyy-mm-dd")
ce code, je le mets où ? je fais comment ?

Citation:
Envoyé par marot_r Voir le message
Dans la requête qui allimente ton fromulaire. Là encore tu vas mettre comme critère de [TaDate]

Code sql :
BETWEEN  format([forms]![NomTonFormParam]![DateDebut] ;"yyyy-mm-dd") & " and " & format([forms]![NomTonFormParam]![DateFin] ;"yyyy-mm-dd")
même question que précédemment

Citation:
Envoyé par marot_r Voir le message
Note que dans cette solution, [NomTonFormParam] peut être ton formulaire courant d'affichage. Il faut simplement demander un Me.Requery lorsqu'une des dates est mise à jour pour rafraichir l'affichage.
toujours même question

Citation:
Envoyé par marot_r Voir le message
Enfin tu peux changer le filtre du formulaire en modifiant la propriété Fliter et FilterOn du formulaire d'affichage. Là encore tu peux utiliser le formualire courant ou un externe.
toujours même question

en tout cas, merci beaucoup de votre aide.

papychang
papychang est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 13h29   #4
Invité de passage
 
Inscription : mai 2010
Messages : 23
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 23
Points : 4
Points : 4
Bonjour

comme je n'ai pas bien compris les consignes de marot_r, je me permets de mettre en pj mon fichier test.

vous pourrez constater que lorsque j'ouvre le formulaire facturation, il me demande les date de début et de fin du critère de tri de la requête enfant requête.

comment faire pour que lorsque je clique sur la flèche "enregistrement suivant" mon formulaire n'ai pas à me demander une fois de plus les dates qui m'intéresse ?

Merci beaucoup de votre aide et désoler d'être pénible avec ma demande.

avec la pj c'est mieux
Fichiers attachés
Type de fichier : zip bd-test.zip (82,4 Ko, 0 affichages)
papychang est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 15h02   #5
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 470
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 470
Points : 7 552
Points : 7 552
OK pour le formulaire.

Comment ouvres-tu le rapport avec du VBA ou vace un macro ?

Pour le reste de tes questions, il me semble que j'ai donné toutes indications nécessaires pour les utiliser. Pourrais-tu préciser ce qui te pose un problème car je ne vois pas quoi ajouter pour t'aider.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 15h43   #6
Invité de passage
 
Inscription : mai 2010
Messages : 23
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 23
Points : 4
Points : 4
Citation:
Envoyé par marot_r Voir le message
Comment ouvres-tu le rapport avec du VBA ou vace un macro ?
j'ouvre mon formulaire directement dans le volet de navigation mais je mettrait un menu général plus tard
papychang est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 18h56   #7
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 470
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 470
Points : 7 552
Points : 7 552
OK, alors pour le moment il faudrait mettre les critères dans la source de données.

Un truc qui devrait ressembler à

Code sql :
SELECT [TaTable].* FROM [TaTable] WHERE [TaTable].[tonChampDate] BETWEEN  format([forms]![NomTonFormParam]![DateDebut] ;"yyyy-mm-dd") & " and " & format([forms]![NomTonFormParam]![DateFin] ;"yyyy-mm-dd")

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 11h06   #8
Invité de passage
 
Inscription : mai 2010
Messages : 23
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 23
Points : 4
Points : 4
Citation:
Envoyé par marot_r Voir le message
OK, alors pour le moment il faudrait mettre les critères dans la source de données.

Un truc qui devrait ressembler à

Code sql :
SELECT [TaTable].* FROM [TaTable] WHERE [TaTable].[tonChampDate] BETWEEN  format([forms]![NomTonFormParam]![DateDebut] ;"yyyy-mm-dd") & " and " & format([forms]![NomTonFormParam]![DateFin] ;"yyyy-mm-dd")

A+
Excusez moi mais je dois être con car je ne comprend rien.

c'est quoi la source de donéne ?
[TaTable] correspond à quoi ?
[tonChampDate] correspond à quoi ?
[NomTonFormParam] c'est quoi ?

désolé... et merci encore.
papychang est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 16h57   #9
Invité de passage
 
Inscription : mai 2010
Messages : 23
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 23
Points : 4
Points : 4
c'est bon, grâce à votre aide j'ai trouvé !!! tout marche nickel.

merci beaucoup
papychang est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h30.


 
 
 
 
Partenaires

Hébergement Web