Vbs - access

Contenu du snippet

Pour ajouter des données dans une seule table (TableClient) Access
Utilise ADO.

Ajoute les données par champs.
Le nom du champ et la donnée sont lus depuis un fichier Texte.

Ex:
Nom
Dupont
Prenom
Jean
Adresse
14 rue Victor Hugo
Code Postal
99000

etc

attention aucun control d'incoherence dans le fichier

Source / Exemple :


'---- CursorTypeEnum Values ----
Const adOpenForwardOnly = 0 , adOpenKeyset = 1, adOpenDynamic = 2, adOpenStatic = 3
'---- LockTypeEnum Values ----
Const adLockReadOnly = 1, adLockPessimistic = 2, adLockOptimistic = 3, adLockBatchOptimistic = 4
Const ForReading=1, ForWriting =2

'Main
Call UpdateMDB(WScript.Arguments(0),WScript.Arguments(1)
' exemple d'appel :
' updateMDB.vbs "C:\Temp\MaBase.mdb" "C:\Temp\Donnees\clients.txt"
' End Main ------------------------------------------------------

Sub UpdateMDB(PathMDB,PathFile)
Dim DBAccess, Rs, NameField, DataToAdd

'database
Set dbAccess = CreateObject("ADODB.Connection")
StrAccess = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & PathMDB
dbAccess.Open(StrAccess)

'Recordset
Set Rs = CreateObject("ADODB.Recordset")
Rs.CursorType = adOpenStatic
Rs.LockType = adLockOptimistic
Rs.Open "SELECT * FROM TableClient" , Straccess
Rs.AddNew

'Text file
Set FSO = CreateObject("Scripting.FileSystemObject")
Set FileRead = FSO.openTextFile(PathFile ,ForReading, True)
		Do While Not FileRead.AtEndOfStream 	
    		NameField = FileRead.ReadLine ' lecture ligne impaire = nom du champ
    		DataToAdd = FileRead.ReadLine ' lecture ligne paire = donnée correspondante
    	' fill database fields
		Rs.Fields(NameField) = DataToAdd
    	Loop
FileRead.Close
Next 

Rs.Update
Rs.Close
Set Rs = Nothing

dbaccess.Close
Set dbaccess= Nothing
End Sub

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.