OVH Cloud OVH Cloud

amélioration de l'export

4 réponses
Avatar
matthieu.moulon
Bonjour a toutes et a tous,

J'ai une base installer en local sur un poste, et une base sur un serveur.
Périodiquement, je souhaite exporter des info de la base locale dans une
table de la base du serveur.
J'ai lié la table du serveur dans laquelle je veux envoyer les infos, et
j'ai fait une macro, voici ses actions :
-- ouvrir table locale
-- selectionner tout les enregistrements
-- copier
-- ouvrir la table liée (celle du serveur)
-- coller par ajout les enregistrement
Le soucis, c'est que le temps d'accès a la base du serveur est assez long,
et du coup, g un message d'erreur.
Il y a til un moyen pour exporter les infos de ma table locale vers la base
de mon serveur plu efficace. En effet, dans la macro, il doit chercher la
table sur le serveur, l'ouvrir, coller les enregistrements.... des
traitements assez lourds.
(Je pense notamenent à du code sur mon bouton "export" a la place de la
macro).
J'espere avoir été assez clair pour tout le monde
Merci d'avance de vos réponses.

Matthieu

4 réponses

Avatar
Raymond [mvp]
Bonjour.

tu peux faire une simple requête ajout:
INSERT INTO Table2 SELECT Table1.* FROM Table1;

table1 étant la table locale et table2 la table attachée.

en vba tu peux lancer directement:
DoCmd.RunSQL "INSERT INTO Table2 SELECT Table1.* FROM Table1;"

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"matthieu.moulon" a écrit dans le message de
news:br71jr$h22$
Bonjour a toutes et a tous,

J'ai une base installer en local sur un poste, et une base sur un serveur.
Périodiquement, je souhaite exporter des info de la base locale dans une
table de la base du serveur.
J'ai lié la table du serveur dans laquelle je veux envoyer les infos, et
j'ai fait une macro, voici ses actions :
-- ouvrir table locale
-- selectionner tout les enregistrements
-- copier
-- ouvrir la table liée (celle du serveur)
-- coller par ajout les enregistrement
Le soucis, c'est que le temps d'accès a la base du serveur est assez long,
et du coup, g un message d'erreur.
Il y a til un moyen pour exporter les infos de ma table locale vers la
base

de mon serveur plu efficace. En effet, dans la macro, il doit chercher la
table sur le serveur, l'ouvrir, coller les enregistrements.... des
traitements assez lourds.
(Je pense notamenent à du code sur mon bouton "export" a la place de la
macro).
J'espere avoir été assez clair pour tout le monde
Merci d'avance de vos réponses.

Matthieu




Avatar
matthieu.moulon
Je vais rajouter des infos générales.
En fait, jai des bases en local sur dse postes. des utilisateurs saisissent
des infos, et ensuite chacun clic sur un bouton "export" qui envoi les infos
dans la table d'une base sur le serveur.
voila.

Matthieu
Avatar
Piotr
Bonjour,

Je ferais bien cela par requête comme le dit Raymond :
- une requête d'ajout s'il faut ajouter les enregistrements (probablement
qualifiés de l'utilisateur et de la date en complément des informations)
- une requête de mise à jour si cela doit être le cas, complétée d'un ajout
pour les enregistrements en local qui sont absent sur le serveur.

Le plus simple me semble de créer la ou les requêtes nécessaires en local et
de les exécuter avec le bouton "export". Si le traitement est long, je
crains que ce le soit quelque soit le moyen que tu utilises : cela dépend du
réseau plus que de la base.
S'il s'agit d'un ajout, et que le traitement est long, il est prudent de
vérifier qu'il y a bien eu des changements avant d'ajouter. Sinon,
l'utilisateur risque de cliquer deux fois sur le bouton, croyant que cela
n'a pas fonctionné la première fois. Tu te retrouverais alors avec deux jeux
de données ajoutées !

Pierre.

"matthieu.moulon" a écrit dans le message de
news:br729r$580$
Je vais rajouter des infos générales.
En fait, jai des bases en local sur dse postes. des utilisateurs
saisissent

des infos, et ensuite chacun clic sur un bouton "export" qui envoi les
infos

dans la table d'une base sur le serveur.
voila.

Matthieu




Avatar
matthieu.moulon
ok merci a vous deux.
bonne journée

"Piotr" a écrit dans le message de
news:br77qi$i2n$
Bonjour,

Je ferais bien cela par requête comme le dit Raymond :
- une requête d'ajout s'il faut ajouter les enregistrements (probablement
qualifiés de l'utilisateur et de la date en complément des informations)
- une requête de mise à jour si cela doit être le cas, complétée d'un
ajout

pour les enregistrements en local qui sont absent sur le serveur.

Le plus simple me semble de créer la ou les requêtes nécessaires en local
et

de les exécuter avec le bouton "export". Si le traitement est long, je
crains que ce le soit quelque soit le moyen que tu utilises : cela dépend
du

réseau plus que de la base.
S'il s'agit d'un ajout, et que le traitement est long, il est prudent de
vérifier qu'il y a bien eu des changements avant d'ajouter. Sinon,
l'utilisateur risque de cliquer deux fois sur le bouton, croyant que cela
n'a pas fonctionné la première fois. Tu te retrouverais alors avec deux
jeux

de données ajoutées !

Pierre.

"matthieu.moulon" a écrit dans le message de
news:br729r$580$
Je vais rajouter des infos générales.
En fait, jai des bases en local sur dse postes. des utilisateurs
saisissent

des infos, et ensuite chacun clic sur un bouton "export" qui envoi les
infos

dans la table d'une base sur le serveur.
voila.

Matthieu