Requêtes Excel à partir d'une source OBDC

  • Initiateur de la discussion Initiateur de la discussion jeanphi
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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 🙂
 
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:
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
1 K
Compte Supprimé 979
C
C
Réponses
2
Affichages
4 K
C
Retour