Bonjour à tous,
je suis en train de programmer un outil qui me permettra (enfin j'espère

) de récupérer les données de 2 tables Access et de les coller dans une troisième, pour ce qui est de la connexion à la base et à l'insertion des données, pas de problème, par contre pour ce qui est de la récupération des données dans un tableau, là ça coince.
J'ai récupéré des morceaux de code sur d'autres programmes, et je pense que le langage utilisé pour l'accès aux tables est VB (sans conviction). Ne connaissant pas ce langage et après moultes (ca se dit ça?) recherches infructueuses, j'en viens à vous poser la question...
Voici le code :
► Afficher le texte
Code : Tout sélectionner
;-------------------------------
; Declaration gestionnaire d'erreur pour objet COM
;-------------------------------
Global $oComError = ObjEvent("AutoIt.Error", "MyErrFunc")
Global $UneChaine = ""
Global $MonCompteur = 0
Global $NomFichierLog = "Log.txt" ; Fichier Log pour tests
Global $LogFile = ""
Global $Temp = "" ; Variable temp pour tests
Global $Resultat = ""
;Variables de saisie des chiffres clés dans le tableau excel
;-------------------------------
Sleep(5000)
;-------------------------------
; Acces aux objets ADO = Access
;-------------------------------
Global $objRecordSet = ObjCreate("ADODB.Recordset")
Global $objRsResult = ObjCreate("ADODB.Recordset")
Global $objConnection = ObjCreate("ADODB.Connection")
Global $ChaineConnexion = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=MaBaseDeDonnees.mdb" ; Noter ici le nom de la base Access
Global $CommandeSQL = ""
Global $NbEnregs = 0
Global $Array = ""
Global Const $adOpenStatic = 3
Global Const $adLockOptimistic = 3
;-------------------------------
; Ouverture de l'objet permettant d'accéder à la base access
;-------------------------------
$objConnection.Open( $ChaineConnexion )
;-------------------------------
; Ouverture du fichier de Log
;-------------------------------
$LogFile = FileOpen( $NomFichierLog, 2)
;-------------------------------
; Récupération de la liste des enregistrements de ma table
;-------------------------------
$CommandeSQL = "SELECT * FROM MaTable"
$objRecordSet.Open( $CommandeSQL, $objConnection, $adOpenStatic, $adLockOptimistic )
$NbEnregs = $objRecordSet.RecordCount
FileWriteLine( $LogFile, "1) Nombre de lignes : " & $NbEnregs )
;Accès aux données
$objRecordSet.Close
;-------------------------------
; Récupération de la liste des enregistrements de ta table
;-------------------------------
$CommandeSQL = "SELECT * FROM TaTable"
$objRecordSet.Open( $CommandeSQL, $objConnection, $adOpenStatic, $adLockOptimistic )
$NbEnregs = $objRecordSet.RecordCount
FileWriteLine( $LogFile, "1) Nombre de lignes : " & $NbEnregs )
;Accès aux données
$objRecordSet.Close
;-------------------------------
; Mise en correspondance des lignes
;-------------------------------
;-------------------------------
; Création des lignes correspondantes dans la table résultat
;-------------------------------
$CommandeSQL = "INSERT INTO NotreTable (MaTable_id,MaTable_info,TaTable_id,TaTable_Info) VALUES ('" & $DB_MaTable_id & "','" & $DB_MaTable_Info & "','" & $DB_TaTable_id & "','" & $DB_TaTable_Info & ")"
FileWriteLine($LogFile, "2) Requete INSERT : " & $CommandeSQL )
$objConnection.Execute( $CommandeSQL )
Sleep(1000)
;-------------------------------
; Fermeture des connexions
;-------------------------------
FileClose( $LogFile )
$objConnection.Close
Voilà, le script est encore en chantier (il manque des morceaux) mais je recherche la commande qui me permette de récupérer les champs de mes tables Access et une fois cela fait de les intégrer dans une variable de type tableau...
Je sais que lorsque j'exécute la commande
J'obtiens le nombre de lignes de résultat de ma requête, donc je suppose qu'il doit y avoir une commande $objRecordSet.RecordQuelqueChose qui me permettrait de récupérer les données...
Merci d'avance pour vos réponses
Bonne Fin de journée