OVH Cloud OVH Cloud

Mise à jour d'une requête access en VBA

4 réponses
Avatar
konga
Bonjour à tous,

J'ai créé une macro qui importe tous les jours de nouvelles tables Ã
partir de fichiers texte. Ca fonctionne impec !
Chaque nom de table commence par la date du jour au format yyyymmdd.

J'ai créé une requête qui me permet de faire des croisements entre
une table de référence et les tables qui arrivent quotidiennement.

D'où ma question :
Plutôt que de modifier tout les jours à la main le nom de mes tables
dans la requête SQL (NDLR:je n'ai que la date de la table à
changer), je souhaiterais faire une macro qui mette à jour ma
requête nommée Requête_Croisement en prenant en compte la date du
jour.

Je vous serais très aimable de me dire également comment définir
une base de donnée car Dim db As Database ou Dim Requete As
DAO.Recordset, ça plante toujours dans mon programme.

Merci pour vos réponses (nombreuses)

4 réponses

Avatar
Gafish
Bonjour,

Je ne connais pas ta base, mais ne serait-il pas plus simple pour toi
d'intégrer les nouvelles données tous les jours dans une seule table, et tu
grefferais dans celle ci un champ date ?
Car j'imagine que la structure des tables est identique d'un jour à l'autre.
Gardes tu l'historique des journées passées ou supprimes tu les tables ?
Sinon concernant les déclarations, les tiennes sont bonnes, quand tu dis que
ca plante ca te met un message ? Si oui lequel ?

Arnaud


"Fred" a écrit dans le message news:

Bonjour à tous,

J'ai créé une macro qui importe tous les jours de nouvelles tables Ã
partir de fichiers texte. Ca fonctionne impec !
Chaque nom de table commence par la date du jour au format yyyymmdd.

J'ai créé une requête qui me permet de faire des croisements entre
une table de référence et les tables qui arrivent quotidiennement.

D'où ma question :
Plutôt que de modifier tout les jours à la main le nom de mes tables
dans la requête SQL (NDLR:je n'ai que la date de la table Ã
changer), je souhaiterais faire une macro qui mette à jour ma
requête nommée Requête_Croisement en prenant en compte la date du
jour.

Je vous serais très aimable de me dire également comment définir
une base de donnée car Dim db As Database ou Dim Requete As
DAO.Recordset, ça plante toujours dans mon programme.

Merci pour vos réponses (nombreuses)


Avatar
Fred
Gafish,

Je comprends qu'il semble plus simple de tout intégrer dans une même base
mais dans mon cas (je fais une recette de fichiers), j'ai besoin de conserver
une table par journée.

Je vais me rencarder sur les déclarations en DAO. La référence n'était pas
cochée sur mon poste.

Merci tout de même


Bonjour,

Je ne connais pas ta base, mais ne serait-il pas plus simple pour toi
d'intégrer les nouvelles données tous les jours dans une seule table, et tu
grefferais dans celle ci un champ date ?
Car j'imagine que la structure des tables est identique d'un jour à l'autre.
Gardes tu l'historique des journées passées ou supprimes tu les tables ?
Sinon concernant les déclarations, les tiennes sont bonnes, quand tu dis que
ca plante ca te met un message ? Si oui lequel ?

Arnaud


"Fred" a écrit dans le message news:

Bonjour à tous,

J'ai créé une macro qui importe tous les jours de nouvelles tables Ã
partir de fichiers texte. Ca fonctionne impec !
Chaque nom de table commence par la date du jour au format yyyymmdd.

J'ai créé une requête qui me permet de faire des croisements entre
une table de référence et les tables qui arrivent quotidiennement.

D'où ma question :
Plutôt que de modifier tout les jours à la main le nom de mes tables
dans la requête SQL (NDLR:je n'ai que la date de la table Ã
changer), je souhaiterais faire une macro qui mette à jour ma
requête nommée Requête_Croisement en prenant en compte la date du
jour.

Je vous serais très aimable de me dire également comment définir
une base de donnée car Dim db As Database ou Dim Requete As
DAO.Recordset, ça plante toujours dans mon programme.

Merci pour vos réponses (nombreuses)







Avatar
Gafish
Oui, je pensais à un problème de référence pour tes déclarations.
En ce cas, je pense que le mieux pour toi, si tu veux passer en vba c'est de
faire une table avec un champ contenant la date des fichiers, et ensuite tu
construis en vba ta requête avec la date que tu auras récupéré dans la
table.

"Fred" a écrit dans le message news:

Gafish,

Je comprends qu'il semble plus simple de tout intégrer dans une même base
mais dans mon cas (je fais une recette de fichiers), j'ai besoin de
conserver

une table par journée.

Je vais me rencarder sur les déclarations en DAO. La référence n'était pas
cochée sur mon poste.

Merci tout de même


Bonjour,

Je ne connais pas ta base, mais ne serait-il pas plus simple pour toi
d'intégrer les nouvelles données tous les jours dans une seule table, et
tu


grefferais dans celle ci un champ date ?
Car j'imagine que la structure des tables est identique d'un jour à
l'autre.


Gardes tu l'historique des journées passées ou supprimes tu les tables ?
Sinon concernant les déclarations, les tiennes sont bonnes, quand tu dis
que


ca plante ca te met un message ? Si oui lequel ?

Arnaud


"Fred" a écrit dans le message news:

Bonjour à tous,

J'ai créé une macro qui importe tous les jours de nouvelles tables Ã
partir de fichiers texte. Ca fonctionne impec !
Chaque nom de table commence par la date du jour au format yyyymmdd.

J'ai créé une requête qui me permet de faire des croisements entre
une table de référence et les tables qui arrivent quotidiennement.

D'où ma question :
Plutôt que de modifier tout les jours à la main le nom de mes tables
dans la requête SQL (NDLR:je n'ai que la date de la table Ã
changer), je souhaiterais faire une macro qui mette à jour ma
requête nommée Requête_Croisement en prenant en compte la date du
jour.

Je vous serais très aimable de me dire également comment définir
une base de donnée car Dim db As Database ou Dim Requete As
DAO.Recordset, ça plante toujours dans mon programme.

Merci pour vos réponses (nombreuses)









Avatar
Fred
Merci pour ton aide.
J'ai réussit à faire ce que je voulais


Oui, je pensais à un problème de référence pour tes déclarations.
En ce cas, je pense que le mieux pour toi, si tu veux passer en vba c'est de
faire une table avec un champ contenant la date des fichiers, et ensuite tu
construis en vba ta requête avec la date que tu auras récupéré dans la
table.

"Fred" a écrit dans le message news:

Gafish,

Je comprends qu'il semble plus simple de tout intégrer dans une même base
mais dans mon cas (je fais une recette de fichiers), j'ai besoin de
conserver

une table par journée.

Je vais me rencarder sur les déclarations en DAO. La référence n'était pas
cochée sur mon poste.

Merci tout de même


Bonjour,

Je ne connais pas ta base, mais ne serait-il pas plus simple pour toi
d'intégrer les nouvelles données tous les jours dans une seule table, et
tu


grefferais dans celle ci un champ date ?
Car j'imagine que la structure des tables est identique d'un jour à
l'autre.


Gardes tu l'historique des journées passées ou supprimes tu les tables ?
Sinon concernant les déclarations, les tiennes sont bonnes, quand tu dis
que


ca plante ca te met un message ? Si oui lequel ?

Arnaud


"Fred" a écrit dans le message news:

Bonjour à tous,

J'ai créé une macro qui importe tous les jours de nouvelles tables Ã
partir de fichiers texte. Ca fonctionne impec !
Chaque nom de table commence par la date du jour au format yyyymmdd.

J'ai créé une requête qui me permet de faire des croisements entre
une table de référence et les tables qui arrivent quotidiennement.

D'où ma question :
Plutôt que de modifier tout les jours à la main le nom de mes tables
dans la requête SQL (NDLR:je n'ai que la date de la table Ã
changer), je souhaiterais faire une macro qui mette à jour ma
requête nommée Requête_Croisement en prenant en compte la date du
jour.

Je vous serais très aimable de me dire également comment définir
une base de donnée car Dim db As Database ou Dim Requete As
DAO.Recordset, ça plante toujours dans mon programme.

Merci pour vos réponses (nombreuses)