banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#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

 

Pied de page des forums

Powered by FluxBB