Requêtes Excel à partir d'une source OBDC

jeanphi

XLDnaute Occasionnel
Bonjour le forum

Je souhaite interroger une source OBDC à partir de requêtes lancées via une macro Excel

J'ai trouvé le code ci dessous et je voulais savoir s'il suffit à interroger une source OBDC?

Private Sub RecupDonneesAchat()
Dim ReqSQL As Variant
Dim VerifCommand As String
ReqSQL = TexteRequeteAchat
With Sheets("RecupDonnees").QueryTables.Add(Connection:=Array(Array( _
"ODBC;DSN=Inference;UID=EDI;PWD=EDI;DatabaseName=Inference;EngineName=sInference;AutoStop=NO;Integrated=No;Debug=NO;DisableMultiRowFe" _
), Array("tch=NO;CommLinks=SharedMemory,TCPIP{ServerPort=3333};Compress=NO")), _
Destination:=Sheets("RecupDonnees").Range("A6"))
.CommandText = ReqSQL
VerifCommand = CStr(.CommandText)
.Name = "Lancer la requête à partir de Inference"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With


Private Function TexteRequeteAchat()
Dim laRequete As String
laRequete = "select Sum (qte_recu), Sum(prix_net_HT)"
laRequete = laRequete & "from ligne_recep_fourn_disp"
laRequete = laRequete & "where date_recep like '" & CStr(cboChoixAnnee.Value) & "-" & CStr(Left(cboChoixMois.Value, 2)) & "'"
laRequete = laRequete & "and EAN13 IN (Select EAN13 from prod where code_rayon LIKE '" & ReqCodeRayon & "%')"
TexteRequeteAchat = laRequete
End Function


Par ailleurs je souhaite avoir quelques explications sur certains bouts de code et notamment sur les variables à changer
Selon moi les variables à changer sont les suivantes:
- DSN
- UID
- PWD
- DatabaseName
- EngineName
- Nom de la feuille où vont être copiées les données de la requête

Par ailleurs à quoi correspondent les variables DSN et EngineName?
Merci pour votre aide :)
 
G

Guest

Guest
Re : Requêtes Excel à partir d'une source OBDC

bonjour,

As-tu fais un essai. si oui et que tu as des problèmes parles-nous en nous pourrons peut-être trouver une solution.

En ce qui concerne les paramètres:

1 - UID est l'identificateur de l'utilisateur (nom de l'utilisateur)
2 - PWD son mot de passe
3 - DataBaseName le nom de la source de données
4 - DSN DataSourceName il s'agit d'un lien à une source de données. Pour le construire, va faire un tour à : Création d'un DSN avec ODBC

5- quant à EngineName, celui-ci change suivant qu'il s'agit d'une base acces, oracle, dBase MySql etc.....

Autre point Dans la requête présentée il manque les espaces entre les différents éléments. (je l'ai ai rajouter ci-dessous)

Code:
Public Function TexteRequeteAchat()
Dim laRequete As String
laRequete = "select Sum (qte_recu), Sum(prix_net_HT)"
laRequete = laRequete & " from ligne_recep_fourn_disp"
laRequete = laRequete & " where date_recep like '" & CStr(cboChoixAnnee.Value) & "-" & CStr(Left(cboChoixMois.Value, 2)) & "'"
laRequete = laRequete & " and EAN13 IN (Select EAN13 from prod where code_rayon LIKE '" & ReqCodeRayon & "%')"
TexteRequeteAchat = laRequete
End Function

Bon courage
 
Dernière modification par un modérateur:

jeanphi

XLDnaute Occasionnel
Re : Requêtes Excel à partir d'une source OBDC

Bonjour HASCO et merci pour ton aide!!! :)


Je n'ai pas encore fait d'essai car l'appli OBDC me demande des droits admin
J'ai donc demandé ces droits!
Merci pour les infos que tu m'as communiqué, çà me permet d'avancer sur le sujet avant de pouvoir faire un test en live!
Bonne soirée
 

Statistiques des forums

Discussions
312 490
Messages
2 088 879
Membres
103 981
dernier inscrit
vinsalcatraz