#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 laConnexionCode:
' 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


