begin process at 2012 02 17 03:07:45
  Trouver un code source :
 
dans
 
Accueil > 

Tutoriels

 > 

Base de Donnees

 > PROCÉDURE CONNEXION ET IMPORTATIONS DONNÉES AS400 DANS ACCESS

PROCÉDURE CONNEXION ET IMPORTATIONS DONNÉES AS400 DANS ACCESS


 Information sur le tutoriel

Note :
8,8 / 10 - par 5 personnes
8,80 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

 Description

Procédure complète pour créer des requêtes et importer les résultats directement d'un AS400 dans access, afin d'en exploiter les résultats.

Tutorial

Importations données As400 dans Access

Tutoriel transféré et complété sur http://jdgayot.developpez.com/tutoriels/access/importAs400/

 Historique

24 novembre 2006 08:20:32 :
Meilleure lisibilité du code
21 août 2009 07:29:01 :
Amélioration du code et remise en page
21 août 2009 07:32:06 :
Amélioration du code et remise en page
21 août 2009 19:08:32 :
Problème technique
21 août 2009 19:14:15 :
test
21 août 2009 21:30:25 :
test
21 août 2009 21:32:08 :
t
21 août 2009 21:46:39 :
a
22 août 2009 08:13:05 :
a
22 août 2009 08:17:03 :
b
22 août 2009 08:17:08 :
b
22 août 2009 09:36:24 :
s
22 août 2009 09:50:35 :
t
22 août 2009 19:04:04 :
r
22 août 2009 19:05:18 :
f
22 août 2009 19:25:32 :
.
22 août 2009 19:30:58 :
.
22 août 2009 19:42:57 :
.
24 août 2009 07:45:23 :
.
24 août 2009 07:52:47 :
.
24 août 2009 08:00:14 :
.
09 août 2011 17:40:33 :
Amélioration du code
09 août 2011 17:45:38 :
Amélioration du code
09 août 2011 18:01:40 :
Mauvaise conversion par le générateur
10 août 2011 06:56:20 :
c
30 janvier 2012 13:55:34 :
Lien vers transfert
30 janvier 2012 14:10:07 :
Annonce de transfert
30 janvier 2012 14:12:03 :
Mise à jour
14 février 2012 06:02:07 :
transfert
14 février 2012 06:03:50 :
transfert tuto
14 février 2012 06:05:14 :
dasa
14 février 2012 06:07:36 :
transfert tuto
14 février 2012 06:08:53 :
test
14 février 2012 06:09:42 :
test
14 février 2012 16:00:05 :
transféré

Commentaires

Commentaire de Gil_ le 26/11/2006 17:33:05

Génial !!! super merci beaucoup je pense que ça va grandement m'aider

Commentaire de tolulu le 13/12/2006 15:16:33

Bonjour,
Il aurait plus simple de travailler directement en ODBC pour ce cas précis.
En effet, avec les drivers Client Access, il est trés facile de faire une source ODBC.
Ensuite dans le fichier access, il faut faire une importation de table, ainsi on travaille directement avec les données sur l'as/400.

Commentaire de j_d_g le 15/12/2006 07:39:02

Réponse j_d_g à TOLUFU.
Certes j'aurais pu travailler en Odbc. Mais comme je peux installer les programmes sur plusieurs Pc. avec ADO, je n'ai pas besoin de refaire les connexions.
D'autre part, je peux avoir des tables avec plus d'une centaine de champs, et si j'en ai besoin de deux ou trois ce n'est pas la peine de tout importer et d'alourdir la table access? C'est pour celà que j'ai adopté cette technique qui me permet de ne me ramener que ce dont j'ai besoin et d'accélérer les requêtes ultérieures. Mais tout dépend bien sûr de ce que l'on cherche. Si l'on veut modifier des données en direct sur l'As400 il faut faire autrement.

Commentaire de Kafilongo le 20/12/2006 08:19:38

Merci beaucoup de ce sujet très intéressant.

Commentaire de josoft le 22/12/2006 10:51:19

Merci beaucoup,

clair propre et d'un grand secour

Commentaire de JCBOUCARD le 11/10/2007 18:40:20

Clair et net, Merci
Savez-vous comment écrire le sql pour atteindre un 'Membre' dans un fichier multi-membres d'une bibliothèque.
Cordialement

Commentaire de dragonnoir57 le 02/02/2008 23:46:26

Remarque pour JCBOUCARD. Avec le driver IBM Access il ne semble pas possible d'accéder a un 'membre' précis. Il existe des logiciels tiers payant pour combler ce manque.
Petite Remarque à J_D_G: C'est un exemple explicite et clair de transfert de tables as400 vers d'autres systèmes. S'il s'agit de limiter les accès sur une grosse table As400 ton application Access ou VB je suggère de travailler/creer une vue sur le 400 plutôt que d'attaquer directement cette table.
Bonne continuation.

Commentaire de j_d_g le 28/02/2008 15:29:10

Merci à DRAGONNOIR57 pour son commentaire.
Ta suggestion est tout à fait pertinente, et c'est une marche supplémentaire.

La seule réserve que j'émets est que dans ce cas, cela fait intervenir sur l'AS400. Or quand on n'y connait rien, ou peu l'AS400, fait figure de monstre auquel il ne faut surtout pas toucher. Ce n'est d'ailleurs pas forcement une mauvaise chose.  Dans le cadre de ma démarche de profane, on ne fait que de l'extraction et on n'intervient en rien sur l'AS. Cela a un coté rassurant, et c'est un des buts de ce tutoriel.
Après , bien évidemment en fonction de son niveau et des besoins on peut pousser plus loin et passer par des phases plus subtiles.

Commentaire de nyavo2000 le 30/06/2008 08:54:12

Bonjour

Je trouve que ce sujet sur AS/400 et Vb est très intéressant.
Nous aussi, nous utilisons des bases AS-400 pour faire des stats ou des présentations plus conviviales pour les utilisateurs.

Toutefois, nous avons de difficulté pour l'automatisation de certaine extraction  sur des fichiers As-400 multi-membres ( nous ne savons le code vb correspondant).

Je m'explique: un fichier As-400 est composé de 12 membres ( membre 1: JANV, membre N°2: FEVR,...., 12: DEC) et on veut accéder automatiquement à ce membre à chaque fin du mois correspondant mais on ne sait pas comment ?. Avec l'extraction interactive de client access, on arrive à avoir les données mais en code, aucune idée ?

Si quelqu'un a la réponse à cette question .

Merci d'avance


Commentaire de jenji le 18/11/2008 16:57:36

oui c est bien de mettre en place ce code
mais dans le client access de l AS400  il y a le menu transfert vers un pc

Commentaire de nemo2 le 21/11/2008 19:13:02

pour niavo2000:
sur l'as400 tu peux créer un alias vers le membre
exemple : CREATE ALIAS bib1/ficjanv FOR bib2/fictotal (mbrjanv)
en accedant au fichier FICJANV tu acèdes en fait au membre MBRJANV
du fichier FICTOTAL mais ça oblige à faire autant d'Alias que de membres

Commentaire de j_d_g le 26/11/2008 10:01:02

Pour Jenji
Effectivement on peut passer par le transfert de Client access, mais il engendre des fichiers intermédiaires Txt ou Csv. La synchro avec Access était donc plus compliquée. Avec ma méthode il n'y a aucun fichier intermédiaire et une grande sécurité puisque les connexions à l'As400 se ferment dès que le contenu de la table Access est chargé.
D'autre part je ne mets sur les postes que des fichiers Mde dont le code est bloqué et je n'ai aucune reconfiguration à faire, même sur des sites éloignés.

Commentaire de castres le 17/07/2009 15:11:07

Merci pour le code source,
J'ai réussi à m'en sortir jusqu'à la première apparition de
strsql= "" ...
J'ai le message d'erreur "erreur de compilation: variable non définie"
Je suis bloqué et je fais du sur-place.
Merci à tous

Commentaire de j_d_g le 23/09/2009 08:31:33

Dans un premier temps supprimer en début de module:
Option Explicit

Commentaire de flodu42 le 09/02/2010 21:45:09

Bonjour J_D_G

J'espere que vous passez toujours ds le coin, j'ai une question : est il possible d'optimiser le code pour accelerer le transfert. en effet je souhaiterai effectuer des exports de plusieurs millions de lignes, et le code ci-dessus prend enormement de temps...

Par avance merci

Commentaire de j_d_g le 11/02/2010 11:08:21

Bonjour FLODU42

Heu... plusieurs millions de lignes dans une base Acces??? Access n'est pas vraiment prévu pour..  D'autre part la durée de la connexion dépend également de l'importance de la requête effectuée sur l'As400 et du nombre de champs à remplir. C'est vrai que je ne me suis jamais trop posé la question dans la mesure ou mes plus grosses requêtes s'effectuent la nuit. Donc 3 minutes ou 10 .....
Pour les courantes, les données dont j'ai besoin me prennent environ 10 secondes à rapatrier.. donc je n'ai pas été voir plus loin...
D'autre part, c'est forcément un peu plus long de remplir des champs d'une table, plutôt que de faire un simple affichage dans un datagrid. Vous pouvez également essayer avec une connection plus classique odbc. Je ne sais pas si cela répond à votre question, mais je pense que plusieus millions de lignes ne peuvent pas être chargées en 30 secondes. Mais je suis preneur d'une autre solution plus rapide....Cordialement  Jean-Damien GAYOT

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales