Bonjour,

j'essaye de mettre à jour un Recordset avant de le copier dans une feuille Excel.
J'ai lu les différents tutoriaux, mais j'ai un soucis.

Si j'ajoute plusieurs lignes, il ne me garde que la dernière ligne.
Il me remplace la première ligne du Recordset par ma ligne.

Donc il semble faire simplement un update, et pas AddNew... ce qui n'est pas ce que je veux, je veux pouvoir ajouter quelques lignes à la fin de mon recordset, peu import la taille de celui-ci.
Utiliser Rs.EOF ou Rs.Movelast n'a pas aidé.

Voici mon code en partie :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Cn.Open "dsn="base"
With Rs
.CursorLocation = adUseClient
.ActiveConnection = Cn
.Open strSQL, Cn, adOpenStatic, adLockOptimistic
End With
 
Rs.AddNew Array("Collaborateur", "Imputation", "Date_Deb", "Date_Fin", "Lieu", "Decompte"), Array("Essai", "blop", 1900 - 1 - 1, 2000 - 12 - 31, "U", "99")
Rs.AddNew Array("Collaborateur", "Imputation", "Date_Deb", "Date_Fin", "Lieu", "Decompte"), Array("Essai", "blop", 1900 - 1 - 1, 2000 - 12 - 31, "U", "88")
Rs.Update
Et ensuite ma commande pour copier mon Recordset sur la feuille Excel.

Et ma première ligne qui était

Code : Sélectionner tout - Visualiser dans une fenêtre à part
XXX	Imput 	14/03/2009	15/03/2009	Z  1

Devient

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Essai	blop	12/03/1905	10/05/1905	U	88
Donc déjà ma première ligne ne devrait pas être mise à jour, et ensuite je devrais avoir mes 2 enregistrements à la fin.

Je ne vois pas ce que j'ai mal fait dans le code là, et j'ai essayé différents types d'options pour ouvrir ma connexion, sans succès.
Je me connecte à une base de données MySQL.