Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[VBA] Connection a une base de donnée SQL serveur

1 réponse
Avatar
forthenewsonly
Bonjour,

j'aimerai savoir s'il est possible en excel/vba de se connecter a une base
sql serveur.
pour réccupérer des données et "les travailler" dans la macro.
par exemple :

Dim oConn As ADODB.Connection
Dim oRS As ADODB.Recordset
Dim strSql As String
Dim strValues As String

Set oConn = New ADODB.Connection
Set oRS = New ADODB.Recordset
oConn.CursorLocation = adUseClient
oConn.Open "Driver={SQL
Server};Server=monserveur;Database=mabase;Uid=moi;Pwd=motdepasse;"

strSql = "SELECT distinct(codeclient) FROM client"
oRS.Open strSql, oConn
Do While Not oRS.EOF Or oRS.BOF
strValues = strValues & "," & oRS.Fields(0).Value
oRS.MoveNext
Loop

oRS.Close
oConn.Close
Set oRS = Nothing
Set oConn = Nothing


est-ce possible ?
comment proceder ?

Merci

1 réponse

Avatar
JF
Salut,
Tout est possible via un recordset (tu fais ce que tu
veux dans ton do - loop)
Toutefois je ne sais pas si ta connection est OK
Mois j'utilise tjrs un DSN ex:
cnKronos.Open "PROVIDER=MSDASQL;dsn=kronos;uid=;pwd=;"

Tu peux faire un DSN via le panneau de configuration /
Sources de données (ODBC)

-----Message d'origine-----
Bonjour,

j'aimerai savoir s'il est possible en excel/vba de se
connecter a une base

sql serveur.
pour réccupérer des données et "les travailler" dans la
macro.

par exemple :

Dim oConn As ADODB.Connection
Dim oRS As ADODB.Recordset
Dim strSql As String
Dim strValues As String

Set oConn = New ADODB.Connection
Set oRS = New ADODB.Recordset
oConn.CursorLocation = adUseClient
oConn.Open "Driver={SQL
Server};Server=monserveur;Database=mabase;Uid=moi;Pwd=mot
depasse;"


strSql = "SELECT distinct(codeclient) FROM client"
oRS.Open strSql, oConn
Do While Not oRS.EOF Or oRS.BOF
strValues = strValues & "," & oRS.Fields(0).Value
oRS.MoveNext
Loop

oRS.Close
oConn.Close
Set oRS = Nothing
Set oConn = Nothing


est-ce possible ?
comment proceder ?

Merci


.