Q : Il y a quelques années, j'ai utilisé ODBC pour transférer des fichiers de l'iSeries à un tableur Microsoft Excel au moyen de commandes SQL (SQLopen, SQLexcequery, par exemple) à partir de Visual Basic (VB). Mais quand j'essaie maintenant d'utiliser ces fonctions dans VB, je reçois le message «
Tranférer des fichiers en utilisant des commandes SQL à partir de VB
sub or function not defined ». Quel est le meilleur moyen
de transférer des fichiers de l’iSeries vers Excel à partir de VB en
utilisant des instructions SQL ? J’utilise actuellement l’AS/400 Query
pour créer un fichier de sortie à partir des fichiers iSeries et iSeries
Access pour transférer le fichier vers Excel.
R: Il existe de nombreux moyen de transférer des données iSeries DB2 dans Excel.
L’un des plus simples consiste à utiliser l’add-in Excel iSeries Access Data Transfer
que vous trouverez à C:\Program Files\IBM\Client Access\Shared\cwbtfxlu.dll.
Vous pouvez aussi utiliser MSQuery et la fonction Get External Data sur l’option
du menu Excel Data. Comme vous l’avez mentionné, l’utilisation du
programme iSeries Access Data Transfer est une autre possibilité. Elle peut être
particulièrement intéressante si vous voulez exécuter un process batch sur l’iSeries
pour présélectionner les enregistrements à télécharger.
Il est une autre commande iSeries que vous pouvez utiliser en mode batch :
CpyToImpF (Copy to Import File). Cette commande peut traduire des enregistrements
d’une table DB2 dans un fichier séparé par des virgules dans l’IFS que vous
pourrez importer directement dans Excel.
Vous pouvez aussi écrire des applications personnalisées pour transférer des
données sur Excel en utilisant VBA (VB for Applications) dans Excel en parallèle
avec ADO (ActiveX Data Object), le fournisseur ADO IBM et/ou les fournisseurs
ODBC qui sont installés avec iSeries Access.
Ma méthode préférée pour transférer des données de l’iSeries dans Excel
consiste à écrire une application Web qui sélectionne les données puis les transfère.
L’application Web fait cela en changeant l’information d’en-tête HTTP pour
ordonner au navigateur Web de charger les données à l’aide d’Excel. La figure 1A montre un exemple de code pour le produit Net.Data d’IBM
qui change l’information d’en-tête HTTP. La figure 1B affiche
le même code qu’un servlet Java. Toute information envoyée
à la page Web après que l’information d’en-tête ait été définie
est ensuite automatiquement chargée dans Excel (données
séparées par des virgules, par exemple).
Pour en savoir plus sur iSeries Access
et les autres options pour transférer
des données dans Excel, consultez
ces liens :
Téléchargez cette ressource
Guide inmac wstore pour l’équipement IT de l’entreprise
Découvrez les dernières tendances et solutions IT autour des univers de Poste de travail, Affichage et Collaboration, Impression et Infrastructure, et notre nouveau dossier thématique sur l’éco-conception et les bonnes pratiques à adopter pour réduire votre impact environnemental.
Les articles les plus consultés
- Chiffrements symétrique vs asymétrique
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Activer la mise en veille prolongée dans Windows 10