Bonjour a tous,
J'ai des valeurs dans une feuille excel qui peuvent etre soit integer, varchar ou null. Lorsque j'essaye d'executer ma procedure je recois une erreur (ci-dessous).
J'ai suivi les instruction du tutoriel de Sébastien Curutchet mais je bute sur quelque chose ... Si vous avez une idee, merci de votre aide. Ou peut etre une meilleur solution que ce que j'utilise.
http://drq.developpez.com/vb/tutoriels/ADO/
Voici mon code:
Ma fonction pour se connecter a la base de donnee
Mon code pour inserer dans la table SQL
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Public Function mysqlConn() As ADODB.Connection Dim connstring As String Dim conn As New ADODB.Connection dbsvr = Worksheets("Input").Range("_server").Value database = Worksheets("Input").Range("_database").Value dbuser = Worksheets("Input").Range("_dbuser").Value dbpw = Worksheets("Input").Range("_dbpw").Value connstring = "Driver={MySQL ODBC 5.2 ANSI Driver};" _ & "SERVER=" & dbsvr & ";" _ & "DATABASE=" & database & ";" _ & "UID=" & dbuser & "" _ & ";PWD=" & dbpw & " " _ & "; OPTION=16427;" conn.Open connstring Set mysqlConn = conn End Function
Et voici le message d'erreur que je recois:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 Sub UtilisationCommand() Dim cnx As ADODB.Connection Dim cmd As ADODB.Command Dim prm1 As ADODB.Parameter Dim rst As ADODB.Recordset Set cnx = New ADODB.Connection Set cmd = New ADODB.Command Set prm1 = New ADODB.Parameter Set rst = New ADODB.Recordset Set cnx = mysqlConn() cmd.CommandText = "INSERT INTO product (setting, type ) VALUES (? , ?)" With Feuil1 VALEUR setting peut etre null ou un INTEGER prm1.Name = "setting" prm1.Value = .cells(1,2) VALEUR type peut etre null ou un VARCHAR prm1.Name = "type" prm1.Value = .cells(1,3) End With cmd.Execute End Sub
![]()
Partager