executer un dqy

Le
Dave
bonjour,

je voudrais executer dans un fichier excel en vba un dqy que j'ai créé en
externe

merci pour celui qui me donnera la commande
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
anonymousA
Le #4396731
Bonjour,

si ton .dqy existe déjà ( ou pas d'ailleurs !) , il te suffit de lancer
l'enregistreur de macros et de lancer ta requête.
En regardant le code produit, tu auras déjà une 1ere idée de comment il
faut t'y prendre.

A+


bonjour,

je voudrais executer dans un fichier excel en vba un dqy que j'ai créé en
externe

merci pour celui qui me donnera la commande




Dave
Le #4396351
c'est un dqy externe relire mon message
c'est pas la peine de repondre si tu ne sais pas merci

"anonymousA" 4619132c$0$25941$
Bonjour,

si ton .dqy existe déjà ( ou pas d'ailleurs !) , il te suffit de lancer
l'enregistreur de macros et de lancer ta requête.
En regardant le code produit, tu auras déjà une 1ere idée de comment il
faut t'y prendre.

A+


bonjour,

je voudrais executer dans un fichier excel en vba un dqy que j'ai créé en
externe

merci pour celui qui me donnera la commande




anonymousA
Le #4396151
c'est pas la peine de poser la question si tu ne sais pas. T'as
vraiement l'air de ce que tu écris.

c'est un dqy externe relire mon message
c'est pas la peine de repondre si tu ne sais pas merci

"anonymousA" 4619132c$0$25941$
Bonjour,

si ton .dqy existe déjà ( ou pas d'ailleurs !) , il te suffit de lancer
l'enregistreur de macros et de lancer ta requête.
En regardant le code produit, tu auras déjà une 1ere idée de comment il
faut t'y prendre.

A+


bonjour,

je voudrais executer dans un fichier excel en vba un dqy que j'ai créé en
externe

merci pour celui qui me donnera la commande








Rex
Le #4396041
Bonjour

Je ne sais pas non plus

Mais je réponds pour le plaisir



A plus tard

Rex
"Dave" a écrit dans le message de news:
4619df7b$0$27406$
c'est un dqy externe relire mon message
c'est pas la peine de repondre si tu ne sais pas merci

"anonymousA" 4619132c$0$25941$
Bonjour,

si ton .dqy existe déjà ( ou pas d'ailleurs !) , il te suffit de lancer
l'enregistreur de macros et de lancer ta requête.
En regardant le code produit, tu auras déjà une 1ere idée de comment il
faut t'y prendre.

A+


bonjour,

je voudrais executer dans un fichier excel en vba un dqy que j'ai créé
en



externe

merci pour celui qui me donnera la commande








MichDenis
Le #4395941
Quand tu es dans MsQuery et que tu utilises la commande "Enregistrer sous", la
requête s'enregistre dans un fichier ayant l'extension .DQY situé là sous Windows xp pro et excel
2003

"C:Documents and SettingsAdministrateurApplication DataMicrosoftRequêtes"

Essentiellement, ce que l'on retrouve dans ce type de fichier est :

A )la chaîne de la connection qui nous permet d'accéder au fichier
B )La chaîne de la requête qui nous permet d'extraire les données désirées.

Les fichiers .DQY sont éditables -> explorateur windows -> ouvrir avec NotePad

Exemple du contenu d'un fichier dqy : Le contenu d'un tel fichier ressemble à ceci :
'----------------------------------------
XLODBC
1
DBQ=C:ATravailComptoir.mdb;DefaultDir=C:ATravail;Driver={Microsoft Access Driver
(*.mdb)};DriverId%;FIL=MS
Access;MaxBufferSize 48;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UID­min;UserCommitSync=Yes;
SELECT Employés.`N° employé`, Employés.Nom, Employés.Prénom, Employés.Fonction, Employés.`Titre de
courtoisie`, Employés.`Date de naissance`, Employés.`Date embauche`, Employés.Adresse,
Employés.Ville, Employés.Région, Employés.`Code postal`, Employés.Pays, Employés.`Tél domicile`,
Employés.`Titre de courtoisie`, Employés.`Titre de courtoisie` FROM `C:ATravailComptoir`.Employés
Employés WHERE (Employés.`Titre de courtoisie`='Mlle')
'-------------------------------------------------

C'est en fait les informations contenant la connection à la base de données
et la requête accompagnant la connection. (QueryTable)


Mais la caractéristique d'un fichier DQY et que si tu double-cliques dessus,
Excel va s'ouvrir et le résultat de la requête va s'afficher dans une feuille nommé
au nom de la requête sans passer par MsQuery ou en utilisant la commande
créer une requête du menu Données / données externes de l'application Excel.

Et si tu désires afficher dans un fichier excel, le résultat de la requête, tu peux simplement
utiliser la commande Données / Données Externes / Importées des données / et dans la fenêtre
qui s'ouvrira "Sélectionner la source des données", tu pourras sélectionner ton fichier.DQY
pour afficher la requête.

En vba, si tu désires lancer directement le fichier dqy, tu peux utiliser ceci :

'Api pour la commande ShellExecute dans le haut d'un module standard

Private Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpszOp As _
String, ByVal lpszFile As String, ByVal lpszParams As String, _
ByVal lpszDir As String, ByVal FsShowCmd As Long) As Long

Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

à adapter le nom du fichier et son chemin ....!
'---------------------------------------
Sub ShellOuvrirFichier()

Const SW_SHOWNORMAL = 1
Dim hwnd As Long
Dim Fich As String

Fich = "C:Documents and SettingsDenisApplication DataMicrosoftRequêtestest.DQY"

hwnd = FindWindow(vbNullString, Application.Caption)
ShellExecute hwnd, "open", Fich, vbNullString, vbNullString, SW_SHOWNORMAL

End Sub
'---------------------------------------

Et lorsque ta requête sera afficher, tu pourras extraire
des 2 propriétés suivantes de ton querytable si l'on désire ...

Worksheets("Feuil1").QueryTable("SonNom")
Range("A1") = .Connection
Range("A2") = CommandText
End with

Tu pourras alors comparer le contenu de ton fichier .DQY aux 2 chaînes de connection
dont voici l'équivalent :
Ce que donne la propriété connection du queryTable généré par le fichier DQY précédent
ODBC;DBQ=C:ATravailComptoir.mdb;DefaultDir=C:ATravail;Driver={Microsoft Access Driver
(*.mdb)};DriverId%;FIL=MS
Access;MaxBufferSize 48;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UID­min;UserCommitSync=Yes;

Ce que donne la propriété CommandText du QueryTable généré par le fichier DQY précédent
SELECT Employés.`N° employé`, Employés.Nom, Employés.Prénom, Employés.Fonction, Employés.`Titre de
courtoisie`, Employés.`Date de naissance`, Employés.`Date embauche`, Employés.Adresse,
Employés.Ville, Employés.Région, Employés.`Code postal`, Employés.Pays, Employés.`Tél domicile`,
Employés.`Titre de courtoisie`, Employés.`Titre de courtoisie` FROM `C:ATravailComptoir`.Employés
Employés WHERE (Employés.`Titre de courtoisie`='Mlle')
anonymousA
Le #4395641
décidément, tu ne changes pas , toi !!! De l'art d'enfoncer des portes
ouvertes.

Quand tu es dans MsQuery et que tu utilises la commande "Enregistrer sous", la
requête s'enregistre dans un fichier ayant l'extension .DQY situé là sous Windows xp pro et excel
2003

"C:Documents and SettingsAdministrateurApplication DataMicrosoftRequêtes"

Essentiellement, ce que l'on retrouve dans ce type de fichier est :

A )la chaîne de la connection qui nous permet d'accéder au fichier
B )La chaîne de la requête qui nous permet d'extraire les données désirées.

Les fichiers .DQY sont éditables -> explorateur windows -> ouvrir avec NotePad

Exemple du contenu d'un fichier dqy : Le contenu d'un tel fichier ressemble à ceci :
'----------------------------------------
XLODBC
1
DBQ=C:ATravailComptoir.mdb;DefaultDir=C:ATravail;Driver={Microsoft Access Driver
(*.mdb)};DriverId%;FIL=MS
Access;MaxBufferSize 48;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UID­min;UserCommitSync=Yes;
SELECT Employés.`N° employé`, Employés.Nom, Employés.Prénom, Employés.Fonction, Employés.`Titre de
courtoisie`, Employés.`Date de naissance`, Employés.`Date embauche`, Employés.Adresse,
Employés.Ville, Employés.Région, Employés.`Code postal`, Employés.Pays, Employés.`Tél domicile`,
Employés.`Titre de courtoisie`, Employés.`Titre de courtoisie` FROM `C:ATravailComptoir`.Employés
Employés WHERE (Employés.`Titre de courtoisie`='Mlle')
'-------------------------------------------------

C'est en fait les informations contenant la connection à la base de données
et la requête accompagnant la connection. (QueryTable)


Mais la caractéristique d'un fichier DQY et que si tu double-cliques dessus,
Excel va s'ouvrir et le résultat de la requête va s'afficher dans une feuille nommé
au nom de la requête sans passer par MsQuery ou en utilisant la commande
créer une requête du menu Données / données externes de l'application Excel.

Et si tu désires afficher dans un fichier excel, le résultat de la requête, tu peux simplement
utiliser la commande Données / Données Externes / Importées des données / et dans la fenêtre
qui s'ouvrira "Sélectionner la source des données", tu pourras sélectionner ton fichier.DQY
pour afficher la requête.

En vba, si tu désires lancer directement le fichier dqy, tu peux utiliser ceci :

'Api pour la commande ShellExecute dans le haut d'un module standard

Private Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpszOp As _
String, ByVal lpszFile As String, ByVal lpszParams As String, _
ByVal lpszDir As String, ByVal FsShowCmd As Long) As Long

Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

à adapter le nom du fichier et son chemin ....!
'---------------------------------------
Sub ShellOuvrirFichier()

Const SW_SHOWNORMAL = 1
Dim hwnd As Long
Dim Fich As String

Fich = "C:Documents and SettingsDenisApplication DataMicrosoftRequêtestest.DQY"

hwnd = FindWindow(vbNullString, Application.Caption)
ShellExecute hwnd, "open", Fich, vbNullString, vbNullString, SW_SHOWNORMAL

End Sub
'---------------------------------------

Et lorsque ta requête sera afficher, tu pourras extraire
des 2 propriétés suivantes de ton querytable si l'on désire ...

Worksheets("Feuil1").QueryTable("SonNom")
Range("A1") = .Connection
Range("A2") = CommandText
End with

Tu pourras alors comparer le contenu de ton fichier .DQY aux 2 chaînes de connection
dont voici l'équivalent :
Ce que donne la propriété connection du queryTable généré par le fichier DQY précédent
ODBC;DBQ=C:ATravailComptoir.mdb;DefaultDir=C:ATravail;Driver={Microsoft Access Driver
(*.mdb)};DriverId%;FIL=MS
Access;MaxBufferSize 48;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UID­min;UserCommitSync=Yes;

Ce que donne la propriété CommandText du QueryTable généré par le fichier DQY précédent
SELECT Employés.`N° employé`, Employés.Nom, Employés.Prénom, Employés.Fonction, Employés.`Titre de
courtoisie`, Employés.`Date de naissance`, Employés.`Date embauche`, Employés.Adresse,
Employés.Ville, Employés.Région, Employés.`Code postal`, Employés.Pays, Employés.`Tél domicile`,
Employés.`Titre de courtoisie`, Employés.`Titre de courtoisie` FROM `C:ATravailComptoir`.Employés
Employés WHERE (Employés.`Titre de courtoisie`='Mlle')








Publicité
Poster une réponse
Anonyme