je tente cette question !

Le
natou
Bonjour,
Tous les deux mois j'archive des donnes dans une table
annuelle sur une base d'archive, l'heure actuelle j'ai
l'anne 2003 et un dbut de l'anne 2004, je donne la
possibilit via une requte d'ouvrir l'anne que l'on
dsire pour retrouver des donnes archives, pour l'anne
2003 j'avais construit un formulaire avec moteur de
recherche au lieu d'ouvrir la table ce qui me semblait
plus convivial, mais je dsire garder ce formulaire, suis-
je oblige pour l'anne 2004 et les autres annes
suivantes de construire un formulaire pour chaque ou puis-
je via le vba utiliser un seul formulaire qui ouvrirait
que l'anne que je dsire voir apparatre ????? donc au
dpart un petit formulaire avec la liste droulante des
annes, puis lorsque je clic sur l'anne dsire un seul
et unique formulaire qui servirait pour toutes les annes.
Merci d'clairer ma lanterne
cordialement
NATOU
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Pierre CFI [mvp]
Le #5062881
bonjour
Les données apparaissent dans ce form ?
effectivement une liste déroulante dont la source est une req sur cette table sur le champ année, en regroupement.
puis sur l'évenement afterupdate de cette liste nommée lst_annee
Me.Filter ="[champannée]=" & Me.lst_annee
Me.FilterOn = True

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"natou" Bonjour,
Tous les deux mois j'archive des données dans une table
annuelle sur une base d'archive, à l'heure actuelle j'ai
l'année 2003 et un début de l'année 2004, je donne la
possibilité via une requête d'ouvrir l'année que l'on
désire pour retrouver des données archivées, pour l'année
2003 j'avais construit un formulaire avec moteur de
recherche au lieu d'ouvrir la table ce qui me semblait
plus convivial, mais je désire garder ce formulaire, suis-
je obligée pour l'année 2004 et les autres années
suivantes de construire un formulaire pour chaque ou puis-
je via le vba utiliser un seul formulaire qui ouvrirait
que l'année que je désire voir apparaître ????? donc au
départ un petit formulaire avec la liste déroulante des
années, puis lorsque je clic sur l'année désirée un seul
et unique formulaire qui servirait pour toutes les années.
Merci d'éclairer ma lanterne
cordialement
NATOU
NATOU
Le #5062841
Je suis désolée mais je crois que j'ai mal formulée ma
question en fait quand j'archive dans ma base d'archives
j'ai autant de table qu'il y à d'années, donc une table
2003 et une table 2004, ce que je souhaite c'est via une
liste déroulante que jai construits dans un formulaire,
c'est ouvrir après sélec de l'année un autre formulaire
lié à la table année que je désire, mais ne pas construire
autant de form que de tables annuelles voilà ...
Merci
natou
-----Message d'origine-----
bonjour
Les données apparaissent dans ce form ?
effectivement une liste déroulante dont la source est une
req sur cette table sur le champ année, en regroupement.

puis sur l'évenement afterupdate de cette liste nommée
lst_annee

Me.Filter ="[champannée]=" & Me.lst_annee
Me.FilterOn = True

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"natou" dans le message de news:495201c42c22$ec3a2400

$
Bonjour,
Tous les deux mois j'archive des données dans une table
annuelle sur une base d'archive, à l'heure actuelle j'ai
l'année 2003 et un début de l'année 2004, je donne la
possibilité via une requête d'ouvrir l'année que l'on
désire pour retrouver des données archivées, pour l'année
2003 j'avais construit un formulaire avec moteur de
recherche au lieu d'ouvrir la table ce qui me semblait
plus convivial, mais je désire garder ce formulaire, suis-
je obligée pour l'année 2004 et les autres années
suivantes de construire un formulaire pour chaque ou puis-
je via le vba utiliser un seul formulaire qui ouvrirait
que l'année que je désire voir apparaître ????? donc au
départ un petit formulaire avec la liste déroulante des
années, puis lorsque je clic sur l'année désirée un seul
et unique formulaire qui servirait pour toutes les années.
Merci d'éclairer ma lanterne
cordialement
NATOU


.



Pierre CFI [mvp]
Le #5062811
donc un bouton qui ouvre ton form
tu mets
docmd.OpenForm "nomform",acNormal,,,,,Me.lst_annee 'c'est openargs
dans le form Nomform sur l'événement load
me.RecordSource = "Archive_" & me.openargs
bien sur les tables s'appelleraient archive_2002, archive_2003
sinon
Select case Me.openargs
case 2002
me.RecordSource = "table2002"
case 2003
me.RecordSource = "table2003"
end select
il faut vérifier si l"année est en num ou string


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"NATOU" Je suis désolée mais je crois que j'ai mal formulée ma
question en fait quand j'archive dans ma base d'archives
j'ai autant de table qu'il y à d'années, donc une table
2003 et une table 2004, ce que je souhaite c'est via une
liste déroulante que jai construits dans un formulaire,
c'est ouvrir après sélec de l'année un autre formulaire
lié à la table année que je désire, mais ne pas construire
autant de form que de tables annuelles voilà ...
Merci
natou
-----Message d'origine-----
bonjour
Les données apparaissent dans ce form ?
effectivement une liste déroulante dont la source est une
req sur cette table sur le champ année, en regroupement.

puis sur l'évenement afterupdate de cette liste nommée
lst_annee

Me.Filter ="[champannée]=" & Me.lst_annee
Me.FilterOn = True

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"natou" dans le message de news:495201c42c22$ec3a2400

$
Bonjour,
Tous les deux mois j'archive des données dans une table
annuelle sur une base d'archive, à l'heure actuelle j'ai
l'année 2003 et un début de l'année 2004, je donne la
possibilité via une requête d'ouvrir l'année que l'on
désire pour retrouver des données archivées, pour l'année
2003 j'avais construit un formulaire avec moteur de
recherche au lieu d'ouvrir la table ce qui me semblait
plus convivial, mais je désire garder ce formulaire, suis-
je obligée pour l'année 2004 et les autres années
suivantes de construire un formulaire pour chaque ou puis-
je via le vba utiliser un seul formulaire qui ouvrirait
que l'année que je désire voir apparaître ????? donc au
départ un petit formulaire avec la liste déroulante des
années, puis lorsque je clic sur l'année désirée un seul
et unique formulaire qui servirait pour toutes les années.
Merci d'éclairer ma lanterne
cordialement
NATOU


.



natou
Le #5062741
J'avais pensé qq chose de + simple par exemple dans la
même idée de construction de mon form pour le choix de
l'année, je t'explique : j'ai construit une
table "ofsoldes" avec un champs "année" j'ai rentré de
2003 à 2010, j'ai ensuite construit un form sans source
avec 1 liste déroulante dans les propriétés de l'origine
source, j'ai indiqué table/requête et dans contenu j'ai
mis : SELECT ofsoldes.*, * FROM ofsoldes; lorsque je
sélect mon année je pensais ouvrir un form qui sur
ouverture me crérait une requête qui ferait appel à ma
table dont l'année serait celle choisie dans la liste
déroulante du form précédent ???? ce n'est pas faisable
ça ?
natou
-----Message d'origine-----
donc un bouton qui ouvre ton form
tu mets
docmd.OpenForm "nomform",acNormal,,,,,Me.lst_annee 'c'est
openargs

dans le form Nomform sur l'événement load
me.RecordSource = "Archive_" & me.openargs
bien sur les tables s'appelleraient archive_2002,
archive_2003

sinon
Select case Me.openargs
case 2002
me.RecordSource = "table2002"
case 2003
me.RecordSource = "table2003"
end select
il faut vérifier si l"année est en num ou string


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"NATOU" dans le message de news:4b4c01c42c2a$c1f405a0

$
Je suis désolée mais je crois que j'ai mal formulée ma
question en fait quand j'archive dans ma base d'archives
j'ai autant de table qu'il y à d'années, donc une table
2003 et une table 2004, ce que je souhaite c'est via une
liste déroulante que jai construits dans un formulaire,
c'est ouvrir après sélec de l'année un autre formulaire
lié à la table année que je désire, mais ne pas construire
autant de form que de tables annuelles voilà ...
Merci
natou
-----Message d'origine-----
bonjour
Les données apparaissent dans ce form ?
effectivement une liste déroulante dont la source est une
req sur cette table sur le champ année, en regroupement.

puis sur l'évenement afterupdate de cette liste nommée
lst_annee

Me.Filter ="[champannée]=" & Me.lst_annee
Me.FilterOn = True

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"natou" dans le message de news:495201c42c22$ec3a2400

$
Bonjour,
Tous les deux mois j'archive des données dans une table
annuelle sur une base d'archive, à l'heure actuelle j'ai
l'année 2003 et un début de l'année 2004, je donne la
possibilité via une requête d'ouvrir l'année que l'on
désire pour retrouver des données archivées, pour l'année
2003 j'avais construit un formulaire avec moteur de
recherche au lieu d'ouvrir la table ce qui me semblait
plus convivial, mais je désire garder ce formulaire,
suis-


je obligée pour l'année 2004 et les autres années
suivantes de construire un formulaire pour chaque ou
puis-


je via le vba utiliser un seul formulaire qui ouvrirait
que l'année que je désire voir apparaître ????? donc au
départ un petit formulaire avec la liste déroulante des
années, puis lorsque je clic sur l'année désirée un seul
et unique formulaire qui servirait pour toutes les
années.


Merci d'éclairer ma lanterne
cordialement
NATOU


.




.




Pierre CFI [mvp]
Le #5062691
euhhhhhhhhhh c'est pas première version, puis tu m'as dis que chaque année est dans une table différente, maintenant tout est dans
une table, donc je sais plus :o))

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"natou" J'avais pensé qq chose de + simple par exemple dans la
même idée de construction de mon form pour le choix de
l'année, je t'explique : j'ai construit une
table "ofsoldes" avec un champs "année" j'ai rentré de
2003 à 2010, j'ai ensuite construit un form sans source
avec 1 liste déroulante dans les propriétés de l'origine
source, j'ai indiqué table/requête et dans contenu j'ai
mis : SELECT ofsoldes.*, * FROM ofsoldes; lorsque je
sélect mon année je pensais ouvrir un form qui sur
ouverture me crérait une requête qui ferait appel à ma
table dont l'année serait celle choisie dans la liste
déroulante du form précédent ???? ce n'est pas faisable
ça ?
natou
-----Message d'origine-----
donc un bouton qui ouvre ton form
tu mets
docmd.OpenForm "nomform",acNormal,,,,,Me.lst_annee 'c'est
openargs

dans le form Nomform sur l'événement load
me.RecordSource = "Archive_" & me.openargs
bien sur les tables s'appelleraient archive_2002,
archive_2003

sinon
Select case Me.openargs
case 2002
me.RecordSource = "table2002"
case 2003
me.RecordSource = "table2003"
end select
il faut vérifier si l"année est en num ou string


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"NATOU" dans le message de news:4b4c01c42c2a$c1f405a0

$
Je suis désolée mais je crois que j'ai mal formulée ma
question en fait quand j'archive dans ma base d'archives
j'ai autant de table qu'il y à d'années, donc une table
2003 et une table 2004, ce que je souhaite c'est via une
liste déroulante que jai construits dans un formulaire,
c'est ouvrir après sélec de l'année un autre formulaire
lié à la table année que je désire, mais ne pas construire
autant de form que de tables annuelles voilà ...
Merci
natou
-----Message d'origine-----
bonjour
Les données apparaissent dans ce form ?
effectivement une liste déroulante dont la source est une
req sur cette table sur le champ année, en regroupement.

puis sur l'évenement afterupdate de cette liste nommée
lst_annee

Me.Filter ="[champannée]=" & Me.lst_annee
Me.FilterOn = True

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"natou" dans le message de news:495201c42c22$ec3a2400

$
Bonjour,
Tous les deux mois j'archive des données dans une table
annuelle sur une base d'archive, à l'heure actuelle j'ai
l'année 2003 et un début de l'année 2004, je donne la
possibilité via une requête d'ouvrir l'année que l'on
désire pour retrouver des données archivées, pour l'année
2003 j'avais construit un formulaire avec moteur de
recherche au lieu d'ouvrir la table ce qui me semblait
plus convivial, mais je désire garder ce formulaire,
suis-


je obligée pour l'année 2004 et les autres années
suivantes de construire un formulaire pour chaque ou
puis-


je via le vba utiliser un seul formulaire qui ouvrirait
que l'année que je désire voir apparaître ????? donc au
départ un petit formulaire avec la liste déroulante des
années, puis lorsque je clic sur l'année désirée un seul
et unique formulaire qui servirait pour toutes les
années.


Merci d'éclairer ma lanterne
cordialement
NATOU


.




.




natou
Le #5062571
désolée franchement désolée, je m'exprime très mal, je
récapitule,j'ai créé une base archive, avec une table par
année donc 1 pour 2003,1 pour 2004 etc jusqu'à 2010, j'ai
lié ces tables dans ma base actuelle, j'ai créé un
archivage automatique tous les 2 mois, donc pour l'instant
seules les tables 2003 et 2004 sont alimentées, j'ai
construit une petite table ou j'ai rentré dans mes champs
les années de 2003 à 2010, j'ai construits un frm avec une
liste déroulante qui me donne les années, et lorsque je
clic sur l'année désirée j'ouvre un formulaire qui va
chercher la table archivée, mais je ne désire pas
construire un frm pour chaque année, je pensais faire qq
chose du genre, je select mon année dans mon 1er frm et il
va créer une requête qui ira chercher la table que je
désire et l'importer dans mon frm que je nommerais
frmarchive et je n'utiliserais qu'un seul et unique frm
quelle que soit l'année demandée, car la facilité serait
de construire un frm03; 04 etc mais ça surcharge la base
alors voila je me demandais si c'était faisable ????
Merci pour ta patience, avec moi il en faut j'ai pleins
d'idées mais du mal a les formuler correctement ....
natou
-----Message d'origine-----
euhhhhhhhhhh c'est pas première version, puis tu m'as dis
que chaque année est dans une table différente, maintenant

tout est dans
une table, donc je sais plus :o))

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"natou" dans le message de news:4c7701c42c31$494254c0

$
J'avais pensé qq chose de + simple par exemple dans la
même idée de construction de mon form pour le choix de
l'année, je t'explique : j'ai construit une
table "ofsoldes" avec un champs "année" j'ai rentré de
2003 à 2010, j'ai ensuite construit un form sans source
avec 1 liste déroulante dans les propriétés de l'origine
source, j'ai indiqué table/requête et dans contenu j'ai
mis : SELECT ofsoldes.*, * FROM ofsoldes; lorsque je
sélect mon année je pensais ouvrir un form qui sur
ouverture me crérait une requête qui ferait appel à ma
table dont l'année serait celle choisie dans la liste
déroulante du form précédent ???? ce n'est pas faisable
ça ?
natou
-----Message d'origine-----
donc un bouton qui ouvre ton form
tu mets
docmd.OpenForm "nomform",acNormal,,,,,Me.lst_annee 'c'est
openargs

dans le form Nomform sur l'événement load
me.RecordSource = "Archive_" & me.openargs
bien sur les tables s'appelleraient archive_2002,
archive_2003

sinon
Select case Me.openargs
case 2002
me.RecordSource = "table2002"
case 2003
me.RecordSource = "table2003"
end select
il faut vérifier si l"année est en num ou string


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"NATOU" dans le message de news:4b4c01c42c2a$c1f405a0

$
Je suis désolée mais je crois que j'ai mal formulée ma
question en fait quand j'archive dans ma base d'archives
j'ai autant de table qu'il y à d'années, donc une table
2003 et une table 2004, ce que je souhaite c'est via une
liste déroulante que jai construits dans un formulaire,
c'est ouvrir après sélec de l'année un autre formulaire
lié à la table année que je désire, mais ne pas
construire


autant de form que de tables annuelles voilà ...
Merci
natou
-----Message d'origine-----
bonjour
Les données apparaissent dans ce form ?
effectivement une liste déroulante dont la source est
une



req sur cette table sur le champ année, en regroupement.
puis sur l'évenement afterupdate de cette liste nommée
lst_annee

Me.Filter ="[champannée]=" & Me.lst_annee
Me.FilterOn = True

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"natou" dans le message de news:495201c42c22$ec3a2400

$
Bonjour,
Tous les deux mois j'archive des données dans une table
annuelle sur une base d'archive, à l'heure actuelle j'ai
l'année 2003 et un début de l'année 2004, je donne la
possibilité via une requête d'ouvrir l'année que l'on
désire pour retrouver des données archivées, pour
l'année



2003 j'avais construit un formulaire avec moteur de
recherche au lieu d'ouvrir la table ce qui me semblait
plus convivial, mais je désire garder ce formulaire,
suis-


je obligée pour l'année 2004 et les autres années
suivantes de construire un formulaire pour chaque ou
puis-


je via le vba utiliser un seul formulaire qui ouvrirait
que l'année que je désire voir apparaître ????? donc au
départ un petit formulaire avec la liste déroulante des
années, puis lorsque je clic sur l'année désirée un seul
et unique formulaire qui servirait pour toutes les
années.


Merci d'éclairer ma lanterne
cordialement
NATOU


.




.




.





Xavier HUE
Le #5062511
Bonjour Natou et Jessy,

Tu étais sur la bonne piste Jessy.
Je pense que Natou est passé à côté.

S'il existe une table archive par année, le tout
accessible par des tables liées, ces tables devraient
porter un nom particulier, comme ce que propose Jessy:
Archive_2003, Archive_2004...

Il faut donc définir la source dur formulaire unique
permettant de consulter ces tables, comme ce que propose
Jessy (redite ;-)):

donc un bouton qui ouvre ton form
tu mets
docmd.OpenForm "nomform",acNormal,,,,,Me.lst_annee 'c'es
t



openargs
dans le form Nomform sur l'événement load
me.RecordSource = "Archive_" & me.openargs
bien sur les tables s'appelleraient archive_2002,
archive_2003

sinon
Select case Me.openargs
case 2002
me.RecordSource = "table2002"
case 2003
me.RecordSource = "table2003"
end select




Il faut simplement adapter le
me.RecordSource = "Archive_" & me.openargs
ou le Select...

En fonction de ce que le formulaire doit afficher, par
exemple:
Me.RecordSource = "SELECT ... FROM " & me.openargs & "
WHERE ..."

Oui?

Cordialement.



natou
Le #5062301
Ben c'est que "natou" n'est pas une "pro", elle apprends
grâce à votre aide il faut le savoir, bref je vais essayer
de décortiquer et de comprendre votre étrange langage et
d'appliquer mais ça va être dur, dur je pense que je vais
encore perdre qq cheveux, à force de tirer dessus.
MERCI à vous deux
cordialement
NATOU
-----Message d'origine-----
Bonjour Natou et Jessy,

Tu étais sur la bonne piste Jessy.
Je pense que Natou est passé à côté.

S'il existe une table archive par année, le tout
accessible par des tables liées, ces tables devraient
porter un nom particulier, comme ce que propose Jessy:
Archive_2003, Archive_2004...

Il faut donc définir la source dur formulaire unique
permettant de consulter ces tables, comme ce que propose
Jessy (redite ;-)):

donc un bouton qui ouvre ton form
tu mets
docmd.OpenForm "nomform",acNormal,,,,,Me.lst_annee 'c'e
s




t
openargs
dans le form Nomform sur l'événement load
me.RecordSource = "Archive_" & me.openargs
bien sur les tables s'appelleraient archive_2002,
archive_2003

sinon
Select case Me.openargs
case 2002
me.RecordSource = "table2002"
case 2003
me.RecordSource = "table2003"
end select




Il faut simplement adapter le
me.RecordSource = "Archive_" & me.openargs
ou le Select...

En fonction de ce que le formulaire doit afficher, par
exemple:
Me.RecordSource = "SELECT ... FROM " & me.openargs & "
WHERE ..."

Oui?

Cordialement.
.






Publicité
Poster une réponse
Anonyme