OVH Cloud OVH Cloud

elle revient avec ses questions !

6 réponses
Avatar
natou
Bonjour
y'avait longtemps ! voili voil=E0, dans un formulaire j'ai=20
un bouton qui sert =E0 faire des rapatriements, gr=E0ce =E0 des=20
req, donc une rq2003, une req2004 et jusqu'=E0 2010 j'ai vu=20
loin ......... je voudrais ne pas avoir =E0 intervenir =E0=20
chaque changement d'ann=E9e, j'ai donc ins=E9r=E9 l'ann=E9e en=20
cours sur mon formulaire dans un champs "anencours", ce=20
que je voudrais savoir c'est comment dans mon =E9vennement=20
dire que si dans mon champs "anencours" j'ai 2004 alors il=20
ouvre la req2004 si c'est 2005 la req2005 etc sans que=20
chaque d=E9but d'ann=E9e je sois oblig=E9e d'intervenir dans mon=20
=E9vennement ? c'est pour =E9viter d'oublier, ou si je ne suis=20
pas l=E0 au moment ou les utilisateurs de la base s'en=20
serviront ...une pr=E9caution nul n'est =E9ternel....
Merci d'=E9clairer ma lanterne

6 réponses

Avatar
Raymond [mvp]
Bonjour natou.

Je suppose que dans tes requêtes, tout est identique sauf des mots contenant
2004 ?
ce que je ferais , moi, mais je ne suis pas toi.
je ne ferais qu'une seule requête nommée Req2000 avec l'année 2000 dedans.
à chaque lancement,
je copie la Req2000 en ReqActuellle .
je modifie le sql de la ReqActuellle par un replace 2000 par l'année en
cours ou l'année portée sur le formulaire.
j'exécute la ReqActuellle
je supprime la ReqActuellle
The End
et tout ça bon jusqu'en l'an 9999.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"natou" a écrit dans le message de
news:421101c49023$db8b2180$
Bonjour
y'avait longtemps ! voili voilà, dans un formulaire j'ai
un bouton qui sert à faire des rapatriements, gràce à des
req, donc une rq2003, une req2004 et jusqu'à 2010 j'ai vu
loin ......... je voudrais ne pas avoir à intervenir à
chaque changement d'année, j'ai donc inséré l'année en
cours sur mon formulaire dans un champs "anencours", ce
que je voudrais savoir c'est comment dans mon évennement
dire que si dans mon champs "anencours" j'ai 2004 alors il
ouvre la req2004 si c'est 2005 la req2005 etc sans que
chaque début d'année je sois obligée d'intervenir dans mon
évennement ? c'est pour éviter d'oublier, ou si je ne suis
pas là au moment ou les utilisateurs de la base s'en
serviront ...une précaution nul n'est éternel....
Merci d'éclairer ma lanterne
Avatar
natou
Bonjour Raymond,
Tu as certainement raison, mais comment faire, je
t'explique, tous les 2 mois j'execute un archivage dans
une base d'archives dans des tables archi_2003 etc jusqu'à
2010, mais parfois dans l'année on désire récupérer une
ligne de données archivée depuis "x temps" par exemple
maintenant je peux vouloir récupérer une ligne archivée en
2003 pour la rapatrier dans ma table actuelle, donc voici
la procédure utilisée pour le moment, l'utilisatrice,
ouvre un for avec liste déroulante, dans la liste elle
sélect une année, sur sélect de l'année le formulaire de
récup s'ouvre avec les éléments qui se trouvent dans la
table archivée dans ma base d'archives de l'année
demandée, ensuite l'utilistrice va choisir une référence
avec des éléments, sur clic une req va copier la ligne
dans ma table d'info actuelle, ensuite va effaçer la ligne
dans la table archivée et au prochain archivage cette
ligne sera effaçée de ma table actuelle pour retrouver sa
place dans ma table 2003 ou 2004 pour le moment et bientôt
2005, donc j'aurais souhaité jouer avec la condition "si"
mais ça va me faire une tartine à écrire, je cherche plus
simple étant donné que je me débrouille pas trop mal grâce
à tout ce que tous vous m'avez appris, mais que je ne suis
pas encore au "top" si tu pouvais me détailler plus ta
solution je serais comblée.
Merci
-----Message d'origine-----
Bonjour natou.

Je suppose que dans tes requêtes, tout est identique sauf
des mots contenant

2004 ?
ce que je ferais , moi, mais je ne suis pas toi.
je ne ferais qu'une seule requête nommée Req2000 avec
l'année 2000 dedans.

à chaque lancement,
je copie la Req2000 en ReqActuellle .
je modifie le sql de la ReqActuellle par un replace 2000
par l'année en

cours ou l'année portée sur le formulaire.
j'exécute la ReqActuellle
je supprime la ReqActuellle
The End
et tout ça bon jusqu'en l'an 9999.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"natou" a écrit
dans le message de

news:421101c49023$db8b2180$
Bonjour
y'avait longtemps ! voili voilà, dans un formulaire j'ai
un bouton qui sert à faire des rapatriements, gràce à des
req, donc une rq2003, une req2004 et jusqu'à 2010 j'ai vu
loin ......... je voudrais ne pas avoir à intervenir à
chaque changement d'année, j'ai donc inséré l'année en
cours sur mon formulaire dans un champs "anencours", ce
que je voudrais savoir c'est comment dans mon évennement
dire que si dans mon champs "anencours" j'ai 2004 alors il
ouvre la req2004 si c'est 2005 la req2005 etc sans que
chaque début d'année je sois obligée d'intervenir dans mon
évennement ? c'est pour éviter d'oublier, ou si je ne suis
pas là au moment ou les utilisateurs de la base s'en
serviront ...une précaution nul n'est éternel....
Merci d'éclairer ma lanterne


.



Avatar
Raymond [mvp]
Ne nous pressons pas.
si je comprends bien:
il faut pouvoir archiver tes enregistrements dans une année. ok. donc créer
la bonne table Arch_200? dans la base Archives.mdb et déplacer tous les
enregistrements. c'est ce que tu fais je crois.
il faut pouvoir rapatrier des enregistrements de arch_200? dans la table
actuelle. ok
il faut pouvoir archiver ces mêmes enregistrements dans la base Arch_200? en
sens inverse. ok
l'archivage doit être automatique en boucle pour passer toutes les années ?

je vois très bien une seule requête archives et une seule requête
rapatriement dont le sql est modié à chaque fois en fonction de l'année
composée par l'utilisateur sur le formulaire.
à co^té de ça il y a toute la programmation pour savoir si la base existe,
si l'année existe etc...
quel est le critère de sélection ? tu as un champ année dans chaque
enregistrement ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"natou" a écrit dans le message de
news:429f01c4902a$43693110$
Bonjour Raymond,
Tu as certainement raison, mais comment faire, je
t'explique, tous les 2 mois j'execute un archivage dans
une base d'archives dans des tables archi_2003 etc jusqu'à
2010, mais parfois dans l'année on désire récupérer une
ligne de données archivée depuis "x temps" par exemple
maintenant je peux vouloir récupérer une ligne archivée en
2003 pour la rapatrier dans ma table actuelle, donc voici
la procédure utilisée pour le moment, l'utilisatrice,
ouvre un for avec liste déroulante, dans la liste elle
sélect une année, sur sélect de l'année le formulaire de
récup s'ouvre avec les éléments qui se trouvent dans la
table archivée dans ma base d'archives de l'année
demandée, ensuite l'utilistrice va choisir une référence
avec des éléments, sur clic une req va copier la ligne
dans ma table d'info actuelle, ensuite va effaçer la ligne
dans la table archivée et au prochain archivage cette
ligne sera effaçée de ma table actuelle pour retrouver sa
place dans ma table 2003 ou 2004 pour le moment et bientôt
2005, donc j'aurais souhaité jouer avec la condition "si"
mais ça va me faire une tartine à écrire, je cherche plus
simple étant donné que je me débrouille pas trop mal grâce
à tout ce que tous vous m'avez appris, mais que je ne suis
pas encore au "top" si tu pouvais me détailler plus ta
solution je serais comblée.
Merci
Avatar
natou
comme champs j'ai deux repères, pour l'année j'ai la date
de sortie du produit, donc tout ce qui sort en 2004 va au
moment de l'archivage dans la table archi_2004 mon critère
d'archivage automatique est le suivant via un calendrier
que j'ai récupéré sur ton site, je select une date qui va
être le 31/12 maintenant, le 31/12 lorsque l'opératrice va
ouvrir la base l'archivage de tous les produits dont la
zone soldée est "true" et que le mois de fabrication est
inférieur au mois actuel une req va supprimer ttes les
lignes dans ma table actuelle et les placer dans la table
archi_2004 enfin l'inverse dans la procédure,Ensuite
lorsque je désire récupérer une ligne archivée, via un
formulaire de récup, j'ai mis une zone oui/non que j'ai
nommé transf, et lorsque la sone est true, je récupère la
ligne dans ma table archi_200? que je rajoute à ma table
actuelle et ensuite je supprime la ligne de ma table
archi_200? voilà le cheminement des choses.....
je suis peut-être compliquée dans mon organisation sans
doute mais bon c'est ce que j'ai trouvé de mieux !
-----Message d'origine-----
Ne nous pressons pas.
si je comprends bien:
il faut pouvoir archiver tes enregistrements dans une
année. ok. donc créer

la bonne table Arch_200? dans la base Archives.mdb et
déplacer tous les

enregistrements. c'est ce que tu fais je crois.
il faut pouvoir rapatrier des enregistrements de
arch_200? dans la table

actuelle. ok
il faut pouvoir archiver ces mêmes enregistrements dans
la base Arch_200? en

sens inverse. ok
l'archivage doit être automatique en boucle pour passer
toutes les années ?


je vois très bien une seule requête archives et une seule
requête

rapatriement dont le sql est modié à chaque fois en
fonction de l'année

composée par l'utilisateur sur le formulaire.
à co^té de ça il y a toute la programmation pour savoir
si la base existe,

si l'année existe etc...
quel est le critère de sélection ? tu as un champ année
dans chaque

enregistrement ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"natou" a écrit
dans le message de

news:429f01c4902a$43693110$
Bonjour Raymond,
Tu as certainement raison, mais comment faire, je
t'explique, tous les 2 mois j'execute un archivage dans
une base d'archives dans des tables archi_2003 etc jusqu'à
2010, mais parfois dans l'année on désire récupérer une
ligne de données archivée depuis "x temps" par exemple
maintenant je peux vouloir récupérer une ligne archivée en
2003 pour la rapatrier dans ma table actuelle, donc voici
la procédure utilisée pour le moment, l'utilisatrice,
ouvre un for avec liste déroulante, dans la liste elle
sélect une année, sur sélect de l'année le formulaire de
récup s'ouvre avec les éléments qui se trouvent dans la
table archivée dans ma base d'archives de l'année
demandée, ensuite l'utilistrice va choisir une référence
avec des éléments, sur clic une req va copier la ligne
dans ma table d'info actuelle, ensuite va effaçer la ligne
dans la table archivée et au prochain archivage cette
ligne sera effaçée de ma table actuelle pour retrouver sa
place dans ma table 2003 ou 2004 pour le moment et bientôt
2005, donc j'aurais souhaité jouer avec la condition "si"
mais ça va me faire une tartine à écrire, je cherche plus
simple étant donné que je me débrouille pas trop mal grâce
à tout ce que tous vous m'avez appris, mais que je ne suis
pas encore au "top" si tu pouvais me détailler plus ta
solution je serais comblée.
Merci


.



Avatar
Raymond [mvp]
c'est bien la bonne solution à mon avis. tu ne feras pas plus simple, à part
ne faire qu'une seule requête pour ne pas t'embêter à dupliquer tes
requêtes. à part ça, ne bouge rien.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"natou" a écrit dans le message de
news:433001c49030$44d5d1b0$
comme champs j'ai deux repères, pour l'année j'ai la date
de sortie du produit, donc tout ce qui sort en 2004 va au
moment de l'archivage dans la table archi_2004 mon critère
d'archivage automatique est le suivant via un calendrier
que j'ai récupéré sur ton site, je select une date qui va
être le 31/12 maintenant, le 31/12 lorsque l'opératrice va
ouvrir la base l'archivage de tous les produits dont la
zone soldée est "true" et que le mois de fabrication est
inférieur au mois actuel une req va supprimer ttes les
lignes dans ma table actuelle et les placer dans la table
archi_2004 enfin l'inverse dans la procédure,Ensuite
lorsque je désire récupérer une ligne archivée, via un
formulaire de récup, j'ai mis une zone oui/non que j'ai
nommé transf, et lorsque la sone est true, je récupère la
ligne dans ma table archi_200? que je rajoute à ma table
actuelle et ensuite je supprime la ligne de ma table
archi_200? voilà le cheminement des choses.....
je suis peut-être compliquée dans mon organisation sans
doute mais bon c'est ce que j'ai trouvé de mieux !
Avatar
natou
Donc si j'ai bien tout compris dans ma base d'archivage je
vais faire une table archi_2000 et tous mes archivages
iront se rajouter à la suite quelle que soit l'année, et
dans mes req d'archivages, finalement une seule pour
copier et une pour supprimer, mes critères étant l'année
en cours, la date de production du produit, la qté
produite et pour la réimportation d'un produit archivé,
idem mes critères étant l'année et la zone oui/non de
transfert, c'est vrai que dans le fond je m'étais cassée
la tête à faire une table par année dans ma base
archivage, mais finalement ce n'est pas nécessaire.
Merci d'avoir éclairci mon cerveau et à bientôt
Nat
-----Message d'origine-----
c'est bien la bonne solution à mon avis. tu ne feras pas
plus simple, à part

ne faire qu'une seule requête pour ne pas t'embêter à
dupliquer tes

requêtes. à part ça, ne bouge rien.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"natou" a écrit
dans le message de

news:433001c49030$44d5d1b0$
comme champs j'ai deux repères, pour l'année j'ai la date
de sortie du produit, donc tout ce qui sort en 2004 va au
moment de l'archivage dans la table archi_2004 mon critère
d'archivage automatique est le suivant via un calendrier
que j'ai récupéré sur ton site, je select une date qui va
être le 31/12 maintenant, le 31/12 lorsque l'opératrice va
ouvrir la base l'archivage de tous les produits dont la
zone soldée est "true" et que le mois de fabrication est
inférieur au mois actuel une req va supprimer ttes les
lignes dans ma table actuelle et les placer dans la table
archi_2004 enfin l'inverse dans la procédure,Ensuite
lorsque je désire récupérer une ligne archivée, via un
formulaire de récup, j'ai mis une zone oui/non que j'ai
nommé transf, et lorsque la sone est true, je récupère la
ligne dans ma table archi_200? que je rajoute à ma table
actuelle et ensuite je supprime la ligne de ma table
archi_200? voilà le cheminement des choses.....
je suis peut-être compliquée dans mon organisation sans
doute mais bon c'est ce que j'ai trouvé de mieux !


.