1 pièce(s) jointe(s)
Inserer des valeurs de type null, integer, varchar dans MySQl DB via VBA
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
Code:
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 |
Mon code pour inserer dans la table SQL
Code:
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 |
Et voici le message d'erreur que je recois:
Pièce jointe 348974