Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

je tente cette question !

8 réponses
Avatar
natou
Bonjour,
Tous les deux mois j'archive des donn=E9es dans une table=20
annuelle sur une base d'archive, =E0 l'heure actuelle j'ai=20
l'ann=E9e 2003 et un d=E9but de l'ann=E9e 2004, je donne la=20
possibilit=E9 via une requ=EAte d'ouvrir l'ann=E9e que l'on=20
d=E9sire pour retrouver des donn=E9es archiv=E9es, pour l'ann=E9e=20
2003 j'avais construit un formulaire avec moteur de=20
recherche au lieu d'ouvrir la table ce qui me semblait=20
plus convivial, mais je d=E9sire garder ce formulaire, suis-
je oblig=E9e pour l'ann=E9e 2004 et les autres ann=E9es=20
suivantes de construire un formulaire pour chaque ou puis-
je via le vba utiliser un seul formulaire qui ouvrirait=20
que l'ann=E9e que je d=E9sire voir appara=EEtre ????? donc au=20
d=E9part un petit formulaire avec la liste d=E9roulante des=20
ann=E9es, puis lorsque je clic sur l'ann=E9e d=E9sir=E9e un seul=20
et unique formulaire qui servirait pour toutes les ann=E9es.
Merci d'=E9clairer ma lanterne
cordialement
NATOU

8 réponses

Avatar
Pierre CFI [mvp]
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" a écrit 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
Avatar
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" a écrit
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


.



Avatar
Pierre CFI [mvp]
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" a écrit 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" a écrit
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


.



Avatar
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" a écrit
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" a écrit
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


.




.




Avatar
Pierre CFI [mvp]
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" a écrit 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" a écrit
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" a écrit
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


.




.




Avatar
natou
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" a écrit
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" a écrit
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" a écrit
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


.




.




.





Avatar
Xavier HUE
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.



Avatar
natou
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.
.