Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…