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

Copie d'une requête

7 réponses
Avatar
NewsMic
Bonjour,

A l'interieur d'une même base de données, comment copier une requête d'une
table A vers une table B ?
(Les tables A et B ont exactement la même structure)
Merci

MicNews

7 réponses

Avatar
3stone
Salut,

"NewsMic"
| A l'interieur d'une même base de données, comment copier une requête d'une
| table A vers une table B ?
| (Les tables A et B ont exactement la même structure)


Copier une requete... copier/coller comme pour un fichier...

mais, copier une requête d'une table à l'autre ???


Ou bien, tu cherches à copier une table dans une autre ?

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
NewsMic
C'est bien copier une requête.
Tous les mois j'extrais des données d'un fichier Excel puis les copie dans
une table Access.
Sur cette table je crée ensuite 3 requêtes qui ont chaque mois les mêmes
critères à un détail prêt.
Si je copie la table du mois -1, (je remplace tous mes enregistrements par
ceux du mois en cous), je dois la renommer mais les requêtes ne lui font pas
référence.
Je pose mon problème autrement : une requête est liée à une table. Sur
chaque champ apparait le nom de la table liée.
Comment changer le lien d'une requête et le lien de chaque champ pour qu'il
fasse référence à ma nouvelle table ?
Merci
MicNews

"3stone" a écrit dans le message de news:

Salut,

"NewsMic"
| A l'interieur d'une même base de données, comment copier une requête
d'une
| table A vers une table B ?
| (Les tables A et B ont exactement la même structure)


Copier une requete... copier/coller comme pour un fichier...

mais, copier une requête d'une table à l'autre ???


Ou bien, tu cherches à copier une table dans une autre ?

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)




Avatar
3stone
Cher NewsMic ;-)

"NewsMic"
| C'est bien copier une requête.
| Tous les mois j'extrais des données d'un fichier Excel puis les copie dans
| une table Access.
| Sur cette table je crée ensuite 3 requêtes qui ont chaque mois les mêmes
| critères à un détail prêt.
| Si je copie la table du mois -1, (je remplace tous mes enregistrements par
| ceux du mois en cous), je dois la renommer mais les requêtes ne lui font pas
| référence.
| Je pose mon problème autrement : une requête est liée à une table. Sur
| chaque champ apparait le nom de la table liée.
| Comment changer le lien d'une requête et le lien de chaque champ pour qu'il
| fasse référence à ma nouvelle table ?


Une requête, ce n'est pas beaucoup plus que la phrase SQL quelle "contient".

Pour comprendre le "pourquoi et comment" elle est liée à une ou des tables,
il suffit de la *lire*

Pour cela, affiche ta requête, et regarde dans le menu "Affichage", tu y trouve :
- Mode création
- Mode SQL
- Mode feuille de données
- etc...

La première, c'est... la grille lorsque tu crées une requête
La troisième, c'est lorsque tu affiches les données
(c'est le clic sur le premier bouton de la barre d'outils)
Le seconde est très intéressante, elle t'indique la phrase SQL (ou code SQL)
habitue toi à "lire" tes requêtes ;-)

Pour revenir à ton problème, tu peux faire simple...

- Place ta requête en mode création
- Menu Requête, Afficher table
- Ajoute la nouvelle table
- Dans la grille des champs tu as la ligne "Champ" et la ligne "Table"
- Tu peux maintenant cliquer sur le nom de l'ancienne table et choisir la nouvelle
- Remplace partout l'ancien nom par le nouveau nom...
- Pour terminer tu supprime l'ancienne table en sélectionnant cette table,
puis menu Requête, Supprimer la table

Voilà, maintenant ta requête est "liée" à la nouvelle table...
Bien sur, pour ces sélections via le menu, il y a des raccoucis par menu contextuel.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
Fabien
C'est bien copier une requête.
Tous les mois j'extrais des données d'un fichier Excel puis les copie dans
une table Access.
Sur cette table je crée ensuite 3 requêtes qui ont chaque mois les mêmes
critères à un détail prêt.
Si je copie la table du mois -1, (je remplace tous mes enregistrements par
ceux du mois en cous), je dois la renommer mais les requêtes ne lui font pas
référence.
Je pose mon problème autrement : une requête est liée à une table. Sur
chaque champ apparait le nom de la table liée.
Comment changer le lien d'une requête et le lien de chaque champ pour qu'il
fasse référence à ma nouvelle table ?
Merci
MicNews

"3stone" a écrit dans le message de news:

Salut,

"NewsMic"
| A l'interieur d'une même base de données, comment copier une requête
d'une
| table A vers une table B ?
| (Les tables A et B ont exactement la même structure)


Copier une requete... copier/coller comme pour un fichier...

mais, copier une requête d'une table à l'autre ???


Ou bien, tu cherches à copier une table dans une autre ?

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)





Salut,

Une solution que je viens de mettre en œuvre et qui nécessite du VBA.
J'ai des requêtes de base que je dois appliquer a des fichiers de
sources differentes.
J'utilise
StrSql=currentdb.querydefs("larequetedebase").sql 'pour reccuperer le
contenue de la requete
StrSql=replace(SQL,"Lasourcedebase","LanouvelleSource")' pour modifier
la source de la requete
currentdb.executesql strsql 'execution de la requete

En complexifiant la chose on peut même modifier le filtre ;-)
@+


Avatar
NewsMic
Bonjour,

Voici pour vous expliquer : J'ai copié une requête de la table Adr0508Fev.
Quand je la colle, elle apparaît dans les 'objets non associés'.
Mon objectif est de l'associer à la table Adr1008Mar (et de supprimer son
association à la table Adr0508Fev)
L'argument WHERE est exactement le même chaque mois, je change manuellement
les valeurs de 'CODE' et des 'SUPPORT'
Dans le mode SQL direct, j'ai essayé un rechercher/remplacer pour modifier
la table. Apparemment, ce n'est pas possible.
J'espère que ce sera plus clair. Merci d'avance.
MicNews
Je l'ai éditée en mode SQL direct : (Il y 41 champs, j'ai abrégé mon exemple
ci dessous)

SELECT Adr0508Fev.ZNOCLI AS Expr1, Adr0508Fev.ZTITRE AS Expr2,
Adr0508Fev.ZNOMMJ AS Expr3, ..(etc jusqu'à).Adr0508Fev.ZSITU AS Expr41
FROM Adr0508Fev
WHERE ((([Adr0508Fev].[ZDEPMT])<>"06" And ([Adr0508Fev].[ZDEPMT])<>"98") AND
(([Adr0508Fev].[ZPSUPPR]) Is Null) AND (([Adr0508Fev].[ZSTATUT])<>"EXCLU")
AND (([Adr0508Fev].[CODE])="M0508") AND (([Adr0508Fev].[SUPPORT])="05801" Or
([Adr0508Fev].[SUPPORT])="05802" Or ([Adr0508Fev].[SUPPORT])="05803"))
ORDER BY Adr0508Fev.ZCDPOS;

"Fabien" a écrit dans le message de news:
47cbb2f0$0$896$
C'est bien copier une requête.
Tous les mois j'extrais des données d'un fichier Excel puis les copie
dans une table Access.
Sur cette table je crée ensuite 3 requêtes qui ont chaque mois les mêmes
critères à un détail prêt.
Si je copie la table du mois -1, (je remplace tous mes enregistrements
par ceux du mois en cous), je dois la renommer mais les requêtes ne lui
font pas référence.
Je pose mon problème autrement : une requête est liée à une table. Sur
chaque champ apparait le nom de la table liée.
Comment changer le lien d'une requête et le lien de chaque champ pour
qu'il fasse référence à ma nouvelle table ?
Merci
MicNews

"3stone" a écrit dans le message de news:

Salut,

"NewsMic"
| A l'interieur d'une même base de données, comment copier une requête
d'une
| table A vers une table B ?
| (Les tables A et B ont exactement la même structure)


Copier une requete... copier/coller comme pour un fichier...

mais, copier une requête d'une table à l'autre ???


Ou bien, tu cherches à copier une table dans une autre ?

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)





Salut,

Une solution que je viens de mettre en œuvre et qui nécessite du VBA.
J'ai des requêtes de base que je dois appliquer a des fichiers de sources
differentes.
J'utilise
StrSql=currentdb.querydefs("larequetedebase").sql 'pour reccuperer le
contenue de la requete
StrSql=replace(SQL,"Lasourcedebase","LanouvelleSource")' pour modifier la
source de la requete
currentdb.executesql strsql 'execution de la requete

En complexifiant la chose on peut même modifier le filtre ;-)
@+





Avatar
Michel_D
Bonjour,

Même si j'ai pas tout compris, tu peux utiliser un alias
pour le nom de la table :

SELECT T.ZNOCLI AS Expr1,T.ZTITRE AS Expr2,..(etc jusqu'à).T.ZSITU AS Expr41
FROM Adr0508Fev AS T
WHERE ((T.ZDEPMT<>"06") And (T.ZDEPMT<>"98") AND (T.ZPSUPPR Is Null)
AND (T.ZSTATUT<>"EXCLU") AND (T.CODE="M0508")
AND ((T.SUPPORT="05801") Or (T.SUPPORT="05802") Or (T.SUPPORT="05803")))
ORDER BY T.ZCDPOS;


Bonjour,

Voici pour vous expliquer : J'ai copié une requête de la table Adr0508Fev.
Quand je la colle, elle apparaît dans les 'objets non associés'.
Mon objectif est de l'associer à la table Adr1008Mar (et de supprimer son
association à la table Adr0508Fev)
L'argument WHERE est exactement le même chaque mois, je change manuellement
les valeurs de 'CODE' et des 'SUPPORT'
Dans le mode SQL direct, j'ai essayé un rechercher/remplacer pour modifier
la table. Apparemment, ce n'est pas possible.
J'espère que ce sera plus clair. Merci d'avance.
MicNews
Je l'ai éditée en mode SQL direct : (Il y 41 champs, j'ai abrégé mon exemple
ci dessous)

SELECT Adr0508Fev.ZNOCLI AS Expr1, Adr0508Fev.ZTITRE AS Expr2,
Adr0508Fev.ZNOMMJ AS Expr3, ..(etc jusqu'à).Adr0508Fev.ZSITU AS Expr41
FROM Adr0508Fev
WHERE ((([Adr0508Fev].[ZDEPMT])<>"06" And ([Adr0508Fev].[ZDEPMT])<>"98") AND
(([Adr0508Fev].[ZPSUPPR]) Is Null) AND (([Adr0508Fev].[ZSTATUT])<>"EXCLU")
AND (([Adr0508Fev].[CODE])="M0508") AND (([Adr0508Fev].[SUPPORT])="05801" Or
([Adr0508Fev].[SUPPORT])="05802" Or ([Adr0508Fev].[SUPPORT])="05803"))
ORDER BY Adr0508Fev.ZCDPOS;

"Fabien" a écrit dans le message de news:
47cbb2f0$0$896$
C'est bien copier une requête.
Tous les mois j'extrais des données d'un fichier Excel puis les copie
dans une table Access.
Sur cette table je crée ensuite 3 requêtes qui ont chaque mois les mêmes
critères à un détail prêt.
Si je copie la table du mois -1, (je remplace tous mes enregistrements
par ceux du mois en cous), je dois la renommer mais les requêtes ne lui
font pas référence.
Je pose mon problème autrement : une requête est liée à une table. Sur
chaque champ apparait le nom de la table liée.
Comment changer le lien d'une requête et le lien de chaque champ pour
qu'il fasse référence à ma nouvelle table ?
Merci
MicNews

"3stone" a écrit dans le message de news:

Salut,

"NewsMic"
| A l'interieur d'une même base de données, comment copier une requête
d'une
| table A vers une table B ?
| (Les tables A et B ont exactement la même structure)


Copier une requete... copier/coller comme pour un fichier...

mais, copier une requête d'une table à l'autre ???


Ou bien, tu cherches à copier une table dans une autre ?

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)




Salut,

Une solution que je viens de mettre en ?uvre et qui nécessite du VBA.
J'ai des requêtes de base que je dois appliquer a des fichiers de sources
differentes.
J'utilise
StrSql=currentdb.querydefs("larequetedebase").sql 'pour reccuperer le
contenue de la requete
StrSql=replace(SQL,"Lasourcedebase","LanouvelleSource")' pour modifier la
source de la requete
currentdb.executesql strsql 'execution de la requete

En complexifiant la chose on peut même modifier le filtre ;-)
@+









Avatar
Fabien
Bonjour,

Voici pour vous expliquer : J'ai copié une requête de la table Adr0508Fev.
Quand je la colle, elle apparaît dans les 'objets non associés'.
Mon objectif est de l'associer à la table Adr1008Mar (et de supprimer son
association à la table Adr0508Fev)
L'argument WHERE est exactement le même chaque mois, je change manuellement
les valeurs de 'CODE' et des 'SUPPORT'
Dans le mode SQL direct, j'ai essayé un rechercher/remplacer pour modifier
la table. Apparemment, ce n'est pas possible.
J'espère que ce sera plus clair. Merci d'avance.
MicNews
Je l'ai éditée en mode SQL direct : (Il y 41 champs, j'ai abrégé mon exemple
ci dessous)

SELECT Adr0508Fev.ZNOCLI AS Expr1, Adr0508Fev.ZTITRE AS Expr2,
Adr0508Fev.ZNOMMJ AS Expr3, ..(etc jusqu'à).Adr0508Fev.ZSITU AS Expr41
FROM Adr0508Fev
WHERE ((([Adr0508Fev].[ZDEPMT])<>"06" And ([Adr0508Fev].[ZDEPMT])<>"98") AND
(([Adr0508Fev].[ZPSUPPR]) Is Null) AND (([Adr0508Fev].[ZSTATUT])<>"EXCLU")
AND (([Adr0508Fev].[CODE])="M0508") AND (([Adr0508Fev].[SUPPORT])="05801" Or
([Adr0508Fev].[SUPPORT])="05802" Or ([Adr0508Fev].[SUPPORT])="05803"))
ORDER BY Adr0508Fev.ZCDPOS;

"Fabien" a écrit dans le message de news:
47cbb2f0$0$896$
C'est bien copier une requête.
Tous les mois j'extrais des données d'un fichier Excel puis les copie
dans une table Access.
Sur cette table je crée ensuite 3 requêtes qui ont chaque mois les mêmes
critères à un détail prêt.
Si je copie la table du mois -1, (je remplace tous mes enregistrements
par ceux du mois en cous), je dois la renommer mais les requêtes ne lui
font pas référence.
Je pose mon problème autrement : une requête est liée à une table. Sur
chaque champ apparait le nom de la table liée.
Comment changer le lien d'une requête et le lien de chaque champ pour
qu'il fasse référence à ma nouvelle table ?
Merci
MicNews

"3stone" a écrit dans le message de news:

Salut,

"NewsMic"
| A l'interieur d'une même base de données, comment copier une requête
d'une
| table A vers une table B ?
| (Les tables A et B ont exactement la même structure)


Copier une requete... copier/coller comme pour un fichier...

mais, copier une requête d'une table à l'autre ???


Ou bien, tu cherches à copier une table dans une autre ?

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)




Salut,

Une solution que je viens de mettre en œuvre et qui nécessite du VBA.
J'ai des requêtes de base que je dois appliquer a des fichiers de sources
differentes.
J'utilise
StrSql=currentdb.querydefs("larequetedebase").sql 'pour reccuperer le
contenue de la requete
StrSql=replace(SQL,"Lasourcedebase","LanouvelleSource")' pour modifier la
source de la requete
currentdb.executesql strsql 'execution de la requete

En complexifiant la chose on peut même modifier le filtre ;-)
@+




Salut,

Ce que je te propose c'est de sauvegarder ta requete sous un nom telle
que retquetetype.
Ensuite en VBA tu peux faire
StrSQl=currentdb.querydefs("RequeteType").Sql
Strsql=replace(strsql,"Adr0508Fev","Adr1008Mar") 'Cette commande
remplace le mot ADR0508fev par Adr108mar
docmd.runsql StrSQl ' Execute ta requete
@+