Ecrire dans une base de donnée avec Excel VBA

Résolu/Fermé
Radis - 8 déc. 2008 à 10:23
Zasami Messages postés 41 Date d'inscription mercredi 3 décembre 2008 Statut Membre Dernière intervention 8 décembre 2008 - 8 déc. 2008 à 11:54
Bonjour,
Je désire me connecter à une base de donnée présente sur SQL SERVER et insérer des lignes dans une table gràce à VBA. J'utilise une connection ODBC et SQL SERVER comme pilote. Je n'ai pas de mot de passe à entrer la connexion est "trusted"

j'ai tenter plusieurs codes sans succès, le plus avancé étant :

Public cN As ADODB.Connection
Public rs As ADODB.Recordset
Public Sub conNect()
Set cN = New ADODB.Connection
dbPath = Path
cN.ConnectionString = "Provider=SQLOLEDB;Data Source=SQL2000;Initial Catalog=APPSIS_ProdA; User ID=Mon_user_ID;"
cN.Open
End Sub

(déja là ça marche pas il ne reconnait pas mon UID)

et ensuite pour faire mes manip sql :

Sub manip()
Module1.conNect
rs.Open ("INSERT INTO Ma-table VALUES ('3')"), cN

End Sub

Si vous pouvez m'expliquer d'où vient mon (mes) problèmes, je vous en serait très reconnaissant parecque je ne vais bientôt plus avoir de cheveux à force de me les arracher!
A voir également:

3 réponses

Bon j'ai résolu le problème de connexion en mettant Trusted_Connection = yes mais le reste ne marche pas! Ca doit pourtant pas être si compliqué d'insérer une ligne dans une table :O
0
J'ai trouvé une méthode qui marche et qui est très courte:

Public Sub conNect()
Set cN = New ADODB.Connection
dbPath = Path
cN.ConnectionString = "Provider=SQLOLEDB;Data Source=VOTRE_SERVEUR;Initial Catalog=VOTRE_BASE; User ID=VOTRE_ID; Trusted_Connection=yes"
cN.Open
cN.Execute "INSERT INTO test VALUES ('3','test','5');"
End Sub

C'est bien je fais les réponses et les questions :D
0
Zasami Messages postés 41 Date d'inscription mercredi 3 décembre 2008 Statut Membre Dernière intervention 8 décembre 2008 8
8 déc. 2008 à 11:54
et n'oublie pas de fermer la connexion Cn.close(); sa te permet de libre le mémoire
0