SGBD : Access - alimenter une table avec du vbs

ACCESS - alimenter une table avec du vbs

Comment alimenter une table Access à l'aide d'un fichier CSV avec du code VBS.

Pourquoi alimenter une table Acces avec du vbs ?

Cela permet d'automatiser la mise à jour de cette table par un script.

Exemple de fichier CSV en entrée

Imaginons le fichier suivant en entrée :

0000001;GERARD;MANVUSAT;13/10/78;
0000002;JEAN;AIMARRE;05/01/77;

Code VBS pour faire l'importation des données

Créer un fichier VBS avec le code suivant :

Const strPath = "D:\Temp\"
Const strDBPath = "D:\Temp\MaBelleBaseAccess.mdb"
Set Database_Ref = CreateObject("ADODB.Connection")
' Enrichissement table MaBelleTableClient
Database_Ref.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath)
' Nous allons vider la table MaBelleTableClient
DataBase_Ref.Execute "delete from MaBelleTableClient"
Set in_fic = CreateObject("Scripting.FileSystemObject")
Set fic = in_fic.OpenTextFile(strPath & "MonBeauFichierEnEntree.csv",1,0)
Do While fic.AtEndOfStream <> True
ligne = fic.ReadLine
split_ligne = split(ligne,";",-1)
NumClient = split_ligne(0)
Prenom = split_ligne(1)
Nom = split_ligne(2)
Nom = Replace(Nom, "'", "''")
Nom = Replace(Nom, "*", "")
Nom = Replace(Nom, "/", "")
Nom = Replace(Nom, "(", "")
Nom = Replace(Nom, ")", "")
DateNais = split_ligne(3)
DataBase_Ref.Execute "insert into MaBelleTableClient (NumClient, Prenom, Nom, DateNais)
values ( '"& NumClient &"','"&Prenom &"','"& Nom &"','"& DateNais &"')"
Loop
fic.Close
DataBase_Ref.Close

Il ne reste plus qu'à exécuter ce code pour mettre à jour la table Access.

ACCESS - PostGreSQL - Oracle