Connection Excel sur MySQL

Zouzou93

XLDnaute Occasionnel
Bonjour le Forum,

J'ai une fois de plus besoin de votre aide.
Quelqu'un peut-il me donner la "structure/syntaxe" du chemin pour ouvrir une connection depuis un fichier excel sur MySql.

J'ai bien celle sur SQL (Ci dessous code ...):) Mais manifestement la "structure/syntaxe" n'est pas la même.

Un Grand Merci
Zouzou
:)

Public Sub Enregistrer()
Dim cnx As ADODB.Connection

Set cnx = New ADODB.Connection

Dim chaineConnexion As String
chaineConnexion = "Provider=SQLOLEDB;Data Source=" & SERVEUR & ";Initial Catalog=ceva;Integrated Security=SSPI;"
cnx.ConnectionString = chaineConnexion

cnx.Open

Dim strSQL As String
Sheets("Offre").Activate

strSQL = "INSERT INTO [ceva].[dbo].[Enregistrements] " & _
"([date],[agence],[nomClient],[numCompte]" & _
",[marchandise],[poids],[destination],[incoterm]" & _
",[validatite]) Values " & _
"('" & Date & "'" & _
",'" & Range("C15").Value & "'" & _
",'" & Range("M4").Value & "'" & _
",'" & Range("D14").Value & "'" & _
",'" & Range("K24").Value & "'" & _
",'" & Range("K22").Value & "'" & _
",'" & Range("E24").Value & "'" & _
",'" & Range("O21").Value & "'" & _
",'" & Range("H60").Value & "'" & _
");SELECT @@IDENTITY AS newID;"

Dim cmd As ADODB.Command
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = cnx
cmd.CommandText = strSQL
Dim rs As ADODB.Recordset
Dim rs2 As ADODB.Recordset
Set rs = cmd.Execute()

Set rs2 = rs.NextRecordset()

' Get the inserted ID
Dim id As Integer
id = rs2.Fields("NewID").Value
Range("E15").Value = id
cnx.Close




End Sub
 

Creepy

XLDnaute Accro
Re : Connection Excel sur MySQL

Bonjour à vous,

1 - nécéssite d'avoir les pilots ODBC MySql d'installés. dernière version 3.51.23 je crois. tu les trouves sur MySQL :: The world's most popular open source database

2 - Activer dans Excel la référence Microsoft ActiveX Data Object 2.6 ou autre.

Code:
Public gConnect As New Connection
Public RecSt As Recordset
 
Sub ConnectBDD()
With gConnect
   If .State = 0 Then ' Stat 1 = deja connecté
      .ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" & _
                         " SERVER=Monservr; DATABASE=test;" & _
                         " UID=Login;PWD=password;" & _
                         " OPTION=16427"
      .Open
   End If
End With
Set RecSt = New ADODB.Recordset
RecSt .CursorLocation = adUseClient
RecSt .CursorType = adOpenForwardOnly
RecSt .LockType = adLockReadOnly
End Sub
 
Sub DisconnectBDD()
   If gConnect.State = 1 Then gConnect.Close
   Set RecTNS = Nothing
   Set gConnect = Nothing
End Sub
Y'a plus qu'a appeler la sub connect ou disconnet.

@+

Creepy
 

Zouzou93

XLDnaute Occasionnel
Re : Connection Excel sur MySQL

Merci Creepy,

J'ai vérifié les 1 et 2 et c'est OK.
Par contre lorsque j'exécute la macro j'ai le message suivant qui s'affiche :

[Microsoft][ODBC ... ] Data Source not found ...

Merci de votre aide.
Zouzou
 
T

THE CAT 2007

Guest
Re : Connection Excel sur MySQL

Bonjour à tous,

Dim oCn As New ADODB.Connection
Dim oRs As ADODB.Recordset

'mot de passe : pas de guillemets autour
oCn.Open("Provider=SQLOLEDB;Password=leMotDePasse;User ID=LeUserID;Initial Catalog=nomDeLaBaseSQL;Data Source=nomDuServeur")

requeteSQL = "requête SQL"

Set oRs = oCnn.Execute(requeteSQL)
 

Discussions similaires

Statistiques des forums

Discussions
312 249
Messages
2 086 601
Membres
103 258
dernier inscrit
kalis03