#1 Tue 30 November 2004 17:55
- Jc Ouedraogo
- Invité
SOS sript avenue
De: Jean Claude OUEDRAOGO
salut!
je suis entrain d'apprendre avenue sous arview et je n'arrive pas a creer un script pour me connecter a ms access 2000 pour importer des donnees. a l'aide?
#2 Wed 01 December 2004 16:45
- Ludovic
- Invité
Re: SOS sript avenue
Bonjour,
Ce que je vais vous indiquer est valable dans un environnement Windows NT ou 95/98 avec declaration des bases dans ODBC. J'avoue ne pas avoir fait cette manip depuis le passage a Win2K ou la declaration de base a change.
Je vous joint 2 scripts que vous pouvez etudier :
Code:
' Verif_connexion.ave '----------------------------------------------------------------- ' Script : Verification de l'etat d'une connexion ' But : Verifier si une connexion SQL est deja declaree, l'ouvrir ' si necessaire. ' Entree : Le nom de la base. ' Sortie : La connexion verifiee. ' Auteur : LESTRAT Ludovic ' Version : Novembre 1999 '----------------------------------------------------------------- '**************Recuperation des parametres d'entree*************** nomBase = SELF '*************verification de l'etat de la connexion************** laConnexion = SQLCon.Find(nomBase) If (laConnexion.isLogin) then av.run( SQL_update , laConnexion) end If (laConnexion = nil) then av.run( erreur , {200}) End '******************Renvoie le resultat du script****************** Return laConnexion
Code:
' SQL_open.ave '----------------------------------------------------------------- ' Script : Ouvre des tables d'une base ODBC. ' But : Ouvrir toutes les tables demandees d'une connexion SQL. ' Si la connexion n'existe pas encore, lance son ouverture. ' Entree : Le nom de la base et la liste des noms de tables. ' Sortie : La connexion et l'ouverture des tables en variables globales. ' Auteur : LESTRAT Ludovic ' Version : Novembre 1999 '----------------------------------------------------------------- '**************Recuperation des parametres d'entree*************** nomBase = self.get(0) listeNomTables = self.get(1) laReqSQL = '* Message d'information av.showMsg( Ouverture des tables via SQL ) '*******************ouverture de la connexion********************* laConnexion = av.run( Verif_Connexion , nomBase) 'msgBox.info(laConnexion.asString, Nom connexion ) '* reinitialisation de la liste des tables av.run( initial , self) '**********************Ouverture des tables*********************** '* creation de la base de la requete SQL laReqSQLBase = SELECT * FROM '* parcours de la liste des tables a ouvrir For each t in listeNomTables '* verifie si la table n'est pas deja ouverte trouve=false For each elt in _listeTables If (elt.getName= t) then trouve = true '* recupere la table a mettre a jour laTable = elt break End End '* recherche de la table if (trouve = true) then '* On la met a jour laTable.getWin.invalidate Else '* Il faut ouvrir la table '* generation de larequete complete laReqSQL = laReQSQLBase++t uneVtab=Vtab.makeSQL(laConnexion, laReqSQL) '* creation d'une table a partir de la Vtab cree uneTable=Table.make(uneVtab) uneTable.setName(t) End End '* de l'ouverture des tables '**********************resultat procedure************************* '* retourne la connexion utilisee Return laConnexion '***************************************************************** '************************exemple d'appel************************** 'nomBase = BDHE 'lesTables = { Sites , reperes } 'lesParams = {nomBase, lesTables} 'av.run( SQL_open , lesParams)
Ca devrait vous donner toutes les pistes necessaires.
Bon courage
Cordialement
Ludovic