Je voudrais sauvegarder dans une table le SQL des requêtes pour les rendre
accessibles (les requêtes) depuis une base externe qui utilise les mêmes
données et qui exécute les requêtes avec VBA. De cette façon, si la requête
est modifiée, les modifications seront prises en compte par l'autre base.
En fait, en gros, j'ai base de développement où je crée les requêtes. J'ai
une base de travail. Au lieu de refaire à chaque fois un fichier MDE si des
requêtes ont été modifiées, je pourrais ainsi profiter directement des
modifications, le code VBA ne changeant pas.
Mais d'un autre côté, je voudrais pouvoir utiliser l'interface graphique
d'Access pour pouvoir créer et modifier les requêtes.
pour éviter d'aller chercher le sql dans une table (qu'il faudra maintenir) il est préférable d'aller chercher l'instruction sql directement dans la requête de l'autre base par automation. exemple: Dim qdf As DAO.QueryDef Dim acApp As Access.Application Set acApp = New Access.Application With acApp .Visible = False .OpenCurrentDatabase ("bd2.mdb") MavariableTexte = .CurrentDb.QueryDefs("requête5").sql .CloseCurrentDatabase .Quit End With Set acApp = Nothing
ça ira même plus vite que d'ouvrir la table et tu seras sûr de la bonne instruction sql.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Patrick Fredin" a écrit dans le message de news:
Bonjour,
Je voudrais sauvegarder dans une table le SQL des requêtes pour les rendre accessibles (les requêtes) depuis une base externe qui utilise les mêmes données et qui exécute les requêtes avec VBA. De cette façon, si la requête est modifiée, les modifications seront prises en compte par l'autre base. En fait, en gros, j'ai base de développement où je crée les requêtes. J'ai une base de travail. Au lieu de refaire à chaque fois un fichier MDE si des requêtes ont été modifiées, je pourrais ainsi profiter directement des modifications, le code VBA ne changeant pas.
Mais d'un autre côté, je voudrais pouvoir utiliser l'interface graphique d'Access pour pouvoir créer et modifier les requêtes.
Est-il possible de combiner les 2 ?
Un grand merci pour votre aide.
-- Patrick
Bonsoir.
pour éviter d'aller chercher le sql dans une table (qu'il faudra maintenir)
il est préférable d'aller chercher l'instruction sql directement dans la
requête de l'autre base par automation.
exemple:
Dim qdf As DAO.QueryDef
Dim acApp As Access.Application
Set acApp = New Access.Application
With acApp
.Visible = False
.OpenCurrentDatabase ("bd2.mdb")
MavariableTexte = .CurrentDb.QueryDefs("requête5").sql
.CloseCurrentDatabase
.Quit
End With
Set acApp = Nothing
ça ira même plus vite que d'ouvrir la table et tu seras sûr de la bonne
instruction sql.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Patrick Fredin" <nospams_patrick.fredin@iquebec.com> a écrit dans le
message de news: Ow6DLyBzEHA.3708@TK2MSFTNGP14.phx.gbl...
Bonjour,
Je voudrais sauvegarder dans une table le SQL des requêtes pour les rendre
accessibles (les requêtes) depuis une base externe qui utilise les mêmes
données et qui exécute les requêtes avec VBA. De cette façon, si la
requête est modifiée, les modifications seront prises en compte par
l'autre base.
En fait, en gros, j'ai base de développement où je crée les requêtes. J'ai
une base de travail. Au lieu de refaire à chaque fois un fichier MDE si
des requêtes ont été modifiées, je pourrais ainsi profiter directement des
modifications, le code VBA ne changeant pas.
Mais d'un autre côté, je voudrais pouvoir utiliser l'interface graphique
d'Access pour pouvoir créer et modifier les requêtes.
pour éviter d'aller chercher le sql dans une table (qu'il faudra maintenir) il est préférable d'aller chercher l'instruction sql directement dans la requête de l'autre base par automation. exemple: Dim qdf As DAO.QueryDef Dim acApp As Access.Application Set acApp = New Access.Application With acApp .Visible = False .OpenCurrentDatabase ("bd2.mdb") MavariableTexte = .CurrentDb.QueryDefs("requête5").sql .CloseCurrentDatabase .Quit End With Set acApp = Nothing
ça ira même plus vite que d'ouvrir la table et tu seras sûr de la bonne instruction sql.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Patrick Fredin" a écrit dans le message de news:
Bonjour,
Je voudrais sauvegarder dans une table le SQL des requêtes pour les rendre accessibles (les requêtes) depuis une base externe qui utilise les mêmes données et qui exécute les requêtes avec VBA. De cette façon, si la requête est modifiée, les modifications seront prises en compte par l'autre base. En fait, en gros, j'ai base de développement où je crée les requêtes. J'ai une base de travail. Au lieu de refaire à chaque fois un fichier MDE si des requêtes ont été modifiées, je pourrais ainsi profiter directement des modifications, le code VBA ne changeant pas.
Mais d'un autre côté, je voudrais pouvoir utiliser l'interface graphique d'Access pour pouvoir créer et modifier les requêtes.
Est-il possible de combiner les 2 ?
Un grand merci pour votre aide.
-- Patrick
Patrick Fredin
Raymond,
Tu es vraiment génial.
-- Patrick
"Raymond [mvp]" wrote in message news:%
Bonsoir.
pour éviter d'aller chercher le sql dans une table (qu'il faudra maintenir) il est préférable d'aller chercher l'instruction sql directement dans la requête de l'autre base par automation. exemple: Dim qdf As DAO.QueryDef Dim acApp As Access.Application Set acApp = New Access.Application With acApp .Visible = False .OpenCurrentDatabase ("bd2.mdb") MavariableTexte = .CurrentDb.QueryDefs("requête5").sql .CloseCurrentDatabase .Quit End With Set acApp = Nothing
ça ira même plus vite que d'ouvrir la table et tu seras sûr de la bonne instruction sql.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Patrick Fredin" a écrit dans le message de news:
Bonjour,
Je voudrais sauvegarder dans une table le SQL des requêtes pour les rendre accessibles (les requêtes) depuis une base externe qui utilise les mêmes données et qui exécute les requêtes avec VBA. De cette façon, si la requête est modifiée, les modifications seront prises en compte par l'autre base. En fait, en gros, j'ai base de développement où je crée les requêtes. J'ai une base de travail. Au lieu de refaire à chaque fois un fichier MDE si des requêtes ont été modifiées, je pourrais ainsi profiter directement des modifications, le code VBA ne changeant pas.
Mais d'un autre côté, je voudrais pouvoir utiliser l'interface graphique d'Access pour pouvoir créer et modifier les requêtes.
Est-il possible de combiner les 2 ?
Un grand merci pour votre aide.
-- Patrick
Raymond,
Tu es vraiment génial.
--
Patrick
"Raymond [mvp]" <XYZ.officesystem.access@free.fr> wrote in message
news:%23GL0NWCzEHA.2876@TK2MSFTNGP12.phx.gbl...
Bonsoir.
pour éviter d'aller chercher le sql dans une table (qu'il faudra
maintenir) il est préférable d'aller chercher l'instruction sql
directement dans la requête de l'autre base par automation.
exemple:
Dim qdf As DAO.QueryDef
Dim acApp As Access.Application
Set acApp = New Access.Application
With acApp
.Visible = False
.OpenCurrentDatabase ("bd2.mdb")
MavariableTexte = .CurrentDb.QueryDefs("requête5").sql
.CloseCurrentDatabase
.Quit
End With
Set acApp = Nothing
ça ira même plus vite que d'ouvrir la table et tu seras sûr de la bonne
instruction sql.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Patrick Fredin" <nospams_patrick.fredin@iquebec.com> a écrit dans le
message de news: Ow6DLyBzEHA.3708@TK2MSFTNGP14.phx.gbl...
Bonjour,
Je voudrais sauvegarder dans une table le SQL des requêtes pour les
rendre accessibles (les requêtes) depuis une base externe qui utilise les
mêmes données et qui exécute les requêtes avec VBA. De cette façon, si la
requête est modifiée, les modifications seront prises en compte par
l'autre base.
En fait, en gros, j'ai base de développement où je crée les requêtes.
J'ai une base de travail. Au lieu de refaire à chaque fois un fichier MDE
si des requêtes ont été modifiées, je pourrais ainsi profiter directement
des modifications, le code VBA ne changeant pas.
Mais d'un autre côté, je voudrais pouvoir utiliser l'interface graphique
d'Access pour pouvoir créer et modifier les requêtes.
pour éviter d'aller chercher le sql dans une table (qu'il faudra maintenir) il est préférable d'aller chercher l'instruction sql directement dans la requête de l'autre base par automation. exemple: Dim qdf As DAO.QueryDef Dim acApp As Access.Application Set acApp = New Access.Application With acApp .Visible = False .OpenCurrentDatabase ("bd2.mdb") MavariableTexte = .CurrentDb.QueryDefs("requête5").sql .CloseCurrentDatabase .Quit End With Set acApp = Nothing
ça ira même plus vite que d'ouvrir la table et tu seras sûr de la bonne instruction sql.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Patrick Fredin" a écrit dans le message de news:
Bonjour,
Je voudrais sauvegarder dans une table le SQL des requêtes pour les rendre accessibles (les requêtes) depuis une base externe qui utilise les mêmes données et qui exécute les requêtes avec VBA. De cette façon, si la requête est modifiée, les modifications seront prises en compte par l'autre base. En fait, en gros, j'ai base de développement où je crée les requêtes. J'ai une base de travail. Au lieu de refaire à chaque fois un fichier MDE si des requêtes ont été modifiées, je pourrais ainsi profiter directement des modifications, le code VBA ne changeant pas.
Mais d'un autre côté, je voudrais pouvoir utiliser l'interface graphique d'Access pour pouvoir créer et modifier les requêtes.
Est-il possible de combiner les 2 ?
Un grand merci pour votre aide.
-- Patrick
Philippe [MS]
Arrétez, il va finir par le croire !!! :-) :-) :-)
C'est vrai que c'est une solution très élégante que je vais aussi m'empresser d'utiliser !!!
Phil.
"Patrick Fredin" wrote in message news:
Raymond,
Tu es vraiment génial.
-- Patrick
"Raymond [mvp]" wrote in message news:%
Bonsoir.
pour éviter d'aller chercher le sql dans une table (qu'il faudra maintenir) il est préférable d'aller chercher l'instruction sql directement dans la requête de l'autre base par automation. exemple: Dim qdf As DAO.QueryDef Dim acApp As Access.Application Set acApp = New Access.Application With acApp .Visible = False .OpenCurrentDatabase ("bd2.mdb") MavariableTexte = .CurrentDb.QueryDefs("requête5").sql .CloseCurrentDatabase .Quit End With Set acApp = Nothing
ça ira même plus vite que d'ouvrir la table et tu seras sûr de la bonne instruction sql.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Patrick Fredin" a écrit dans le message de news:
Bonjour,
Je voudrais sauvegarder dans une table le SQL des requêtes pour les rendre accessibles (les requêtes) depuis une base externe qui utilise les
mêmes données et qui exécute les requêtes avec VBA. De cette façon, si la
requête est modifiée, les modifications seront prises en compte par l'autre base. En fait, en gros, j'ai base de développement où je crée les requêtes. J'ai une base de travail. Au lieu de refaire à chaque fois un fichier MDE
si des requêtes ont été modifiées, je pourrais ainsi profiter directement
des modifications, le code VBA ne changeant pas.
Mais d'un autre côté, je voudrais pouvoir utiliser l'interface graphique
d'Access pour pouvoir créer et modifier les requêtes.
Est-il possible de combiner les 2 ?
Un grand merci pour votre aide.
-- Patrick
Arrétez, il va finir par le croire !!! :-) :-) :-)
C'est vrai que c'est une solution très élégante que je vais aussi
m'empresser d'utiliser !!!
Phil.
"Patrick Fredin" <nospams_patrick.fredin@iquebec.com> wrote in message
news:uVP1EZCzEHA.3996@TK2MSFTNGP10.phx.gbl...
Raymond,
Tu es vraiment génial.
--
Patrick
"Raymond [mvp]" <XYZ.officesystem.access@free.fr> wrote in message
news:%23GL0NWCzEHA.2876@TK2MSFTNGP12.phx.gbl...
Bonsoir.
pour éviter d'aller chercher le sql dans une table (qu'il faudra
maintenir) il est préférable d'aller chercher l'instruction sql
directement dans la requête de l'autre base par automation.
exemple:
Dim qdf As DAO.QueryDef
Dim acApp As Access.Application
Set acApp = New Access.Application
With acApp
.Visible = False
.OpenCurrentDatabase ("bd2.mdb")
MavariableTexte = .CurrentDb.QueryDefs("requête5").sql
.CloseCurrentDatabase
.Quit
End With
Set acApp = Nothing
ça ira même plus vite que d'ouvrir la table et tu seras sûr de la bonne
instruction sql.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Patrick Fredin" <nospams_patrick.fredin@iquebec.com> a écrit dans le
message de news: Ow6DLyBzEHA.3708@TK2MSFTNGP14.phx.gbl...
Bonjour,
Je voudrais sauvegarder dans une table le SQL des requêtes pour les
rendre accessibles (les requêtes) depuis une base externe qui utilise
les
mêmes données et qui exécute les requêtes avec VBA. De cette façon, si
la
requête est modifiée, les modifications seront prises en compte par
l'autre base.
En fait, en gros, j'ai base de développement où je crée les requêtes.
J'ai une base de travail. Au lieu de refaire à chaque fois un fichier
MDE
si des requêtes ont été modifiées, je pourrais ainsi profiter
directement
des modifications, le code VBA ne changeant pas.
Mais d'un autre côté, je voudrais pouvoir utiliser l'interface
graphique
d'Access pour pouvoir créer et modifier les requêtes.
Arrétez, il va finir par le croire !!! :-) :-) :-)
C'est vrai que c'est une solution très élégante que je vais aussi m'empresser d'utiliser !!!
Phil.
"Patrick Fredin" wrote in message news:
Raymond,
Tu es vraiment génial.
-- Patrick
"Raymond [mvp]" wrote in message news:%
Bonsoir.
pour éviter d'aller chercher le sql dans une table (qu'il faudra maintenir) il est préférable d'aller chercher l'instruction sql directement dans la requête de l'autre base par automation. exemple: Dim qdf As DAO.QueryDef Dim acApp As Access.Application Set acApp = New Access.Application With acApp .Visible = False .OpenCurrentDatabase ("bd2.mdb") MavariableTexte = .CurrentDb.QueryDefs("requête5").sql .CloseCurrentDatabase .Quit End With Set acApp = Nothing
ça ira même plus vite que d'ouvrir la table et tu seras sûr de la bonne instruction sql.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Patrick Fredin" a écrit dans le message de news:
Bonjour,
Je voudrais sauvegarder dans une table le SQL des requêtes pour les rendre accessibles (les requêtes) depuis une base externe qui utilise les
mêmes données et qui exécute les requêtes avec VBA. De cette façon, si la
requête est modifiée, les modifications seront prises en compte par l'autre base. En fait, en gros, j'ai base de développement où je crée les requêtes. J'ai une base de travail. Au lieu de refaire à chaque fois un fichier MDE
si des requêtes ont été modifiées, je pourrais ainsi profiter directement
des modifications, le code VBA ne changeant pas.
Mais d'un autre côté, je voudrais pouvoir utiliser l'interface graphique
d'Access pour pouvoir créer et modifier les requêtes.
Est-il possible de combiner les 2 ?
Un grand merci pour votre aide.
-- Patrick
Ma Dalton
moi aussi je garde la trace de ce code génial, surtout si on le rend paramétrable. merci
C'est vrai que c'est une solution très élégante que je vais aussi m'empresser d'utiliser !!!
moi aussi je garde la trace de ce code génial, surtout si on le rend
paramétrable.
merci
C'est vrai que c'est une solution très élégante que je vais aussi
m'empresser d'utiliser !!!
bonjour bien compliqué ton truc, mon petit et chétif Raymond Dim bd As Database Set bd = OpenDatabase("D:AccessExo Access 97client_97.mdb") MavariableTexte= bd.QueryDefs("ventes").SQL
pas besoin d'ouvrir une instance access
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer Access http://users.skynet.be/mpfa/ Excel http://www.excelabo.net Site perso http://access.cfi.free.fr "Raymond [mvp]" a écrit dans le message de news:%
Bonsoir.
pour éviter d'aller chercher le sql dans une table (qu'il faudra maintenir) il est préférable d'aller chercher l'instruction sql directement dans la requête de l'autre base par automation. exemple: Dim qdf As DAO.QueryDef Dim acApp As Access.Application Set acApp = New Access.Application With acApp .Visible = False .OpenCurrentDatabase ("bd2.mdb") MavariableTexte = .CurrentDb.QueryDefs("requête5").sql .CloseCurrentDatabase .Quit End With Set acApp = Nothing
ça ira même plus vite que d'ouvrir la table et tu seras sûr de la bonne instruction sql.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Patrick Fredin" a écrit dans le message de news:
Bonjour,
Je voudrais sauvegarder dans une table le SQL des requêtes pour les rendre accessibles (les requêtes) depuis une base externe qui utilise les mêmes données et qui exécute les requêtes avec VBA. De cette façon, si la requête est modifiée, les modifications seront prises en compte par l'autre base. En fait, en gros, j'ai base de développement où je crée les requêtes. J'ai une base de travail. Au lieu de refaire à chaque fois un fichier MDE si des requêtes ont été modifiées, je pourrais ainsi profiter directement des modifications, le code VBA ne changeant pas.
Mais d'un autre côté, je voudrais pouvoir utiliser l'interface graphique d'Access pour pouvoir créer et modifier les requêtes.
Est-il possible de combiner les 2 ?
Un grand merci pour votre aide.
-- Patrick
bonjour
bien compliqué ton truc, mon petit et chétif Raymond
Dim bd As Database
Set bd = OpenDatabase("D:AccessExo Access 97client_97.mdb")
MavariableTexte= bd.QueryDefs("ventes").SQL
pas besoin d'ouvrir une instance access
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Raymond [mvp]" <XYZ.officesystem.access@free.fr> a écrit dans le message de news:%23GL0NWCzEHA.2876@TK2MSFTNGP12.phx.gbl...
Bonsoir.
pour éviter d'aller chercher le sql dans une table (qu'il faudra maintenir)
il est préférable d'aller chercher l'instruction sql directement dans la
requête de l'autre base par automation.
exemple:
Dim qdf As DAO.QueryDef
Dim acApp As Access.Application
Set acApp = New Access.Application
With acApp
.Visible = False
.OpenCurrentDatabase ("bd2.mdb")
MavariableTexte = .CurrentDb.QueryDefs("requête5").sql
.CloseCurrentDatabase
.Quit
End With
Set acApp = Nothing
ça ira même plus vite que d'ouvrir la table et tu seras sûr de la bonne
instruction sql.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Patrick Fredin" <nospams_patrick.fredin@iquebec.com> a écrit dans le
message de news: Ow6DLyBzEHA.3708@TK2MSFTNGP14.phx.gbl...
Bonjour,
Je voudrais sauvegarder dans une table le SQL des requêtes pour les rendre
accessibles (les requêtes) depuis une base externe qui utilise les mêmes
données et qui exécute les requêtes avec VBA. De cette façon, si la
requête est modifiée, les modifications seront prises en compte par
l'autre base.
En fait, en gros, j'ai base de développement où je crée les requêtes. J'ai
une base de travail. Au lieu de refaire à chaque fois un fichier MDE si
des requêtes ont été modifiées, je pourrais ainsi profiter directement des
modifications, le code VBA ne changeant pas.
Mais d'un autre côté, je voudrais pouvoir utiliser l'interface graphique
d'Access pour pouvoir créer et modifier les requêtes.
bonjour bien compliqué ton truc, mon petit et chétif Raymond Dim bd As Database Set bd = OpenDatabase("D:AccessExo Access 97client_97.mdb") MavariableTexte= bd.QueryDefs("ventes").SQL
pas besoin d'ouvrir une instance access
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer Access http://users.skynet.be/mpfa/ Excel http://www.excelabo.net Site perso http://access.cfi.free.fr "Raymond [mvp]" a écrit dans le message de news:%
Bonsoir.
pour éviter d'aller chercher le sql dans une table (qu'il faudra maintenir) il est préférable d'aller chercher l'instruction sql directement dans la requête de l'autre base par automation. exemple: Dim qdf As DAO.QueryDef Dim acApp As Access.Application Set acApp = New Access.Application With acApp .Visible = False .OpenCurrentDatabase ("bd2.mdb") MavariableTexte = .CurrentDb.QueryDefs("requête5").sql .CloseCurrentDatabase .Quit End With Set acApp = Nothing
ça ira même plus vite que d'ouvrir la table et tu seras sûr de la bonne instruction sql.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Patrick Fredin" a écrit dans le message de news:
Bonjour,
Je voudrais sauvegarder dans une table le SQL des requêtes pour les rendre accessibles (les requêtes) depuis une base externe qui utilise les mêmes données et qui exécute les requêtes avec VBA. De cette façon, si la requête est modifiée, les modifications seront prises en compte par l'autre base. En fait, en gros, j'ai base de développement où je crée les requêtes. J'ai une base de travail. Au lieu de refaire à chaque fois un fichier MDE si des requêtes ont été modifiées, je pourrais ainsi profiter directement des modifications, le code VBA ne changeant pas.
Mais d'un autre côté, je voudrais pouvoir utiliser l'interface graphique d'Access pour pouvoir créer et modifier les requêtes.
Est-il possible de combiner les 2 ?
Un grand merci pour votre aide.
-- Patrick
Raymond [mvp]
Bonjour.
faut pas faire comme ça. 1- créer une fonction public dans un module standard: Public Function getOtherSQL(DataBaseName As String, QueryName As String) As Variant getOtherSQL = "" On Error GoTo Err_getOtherSQL Dim qdf As DAO.QueryDef Dim acApp As Access.Application Set acApp = New Access.Application With acApp .Visible = False 'facultatif valeur par défaut .OpenCurrentDatabase (DataBaseName) getOtherSQL = Replace(.CurrentDb.QueryDefs(QueryName).sql, _ vbCrLf, " ") .CloseCurrentDatabase .Quit End With Set acApp = Nothing Err_getOtherSQL: End Function
2- appeler ta fonction comme ceci dans ton code vba, sous un bouton de commande par exemple: Private Sub Commande0_Click() Dim Rs As DAO.Recordset Set Rs = CurrentDb.OpenRecordset(getOtherSQL("bd2.mdb", "requête5")) While Not Rs.EOF Debug.Print Rs(0) Rs.MoveNext Wend Set Rs = Nothing End Sub
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Ma Dalton" a écrit dans le message de news:
re bonjour, mais je n'arrive pas à exécuter le SQL ainsi récupérer
merci de me dire ce qui me manque
voici ma fenêtre d'exécution pour fins de test:
? strRequeteSQL("c:datamabase.mdb", "test") SELECT tlkpAgent.AgentChimique, tlkpAgent.Code, tlkpAgent.AgentTableau FROM tlkpAgent WHERE (((tlkpAgent.AgentTableau)="pesticides"));
faut pas faire comme ça.
1- créer une fonction public dans un module standard:
Public Function getOtherSQL(DataBaseName As String, QueryName As String) As
Variant
getOtherSQL = ""
On Error GoTo Err_getOtherSQL
Dim qdf As DAO.QueryDef
Dim acApp As Access.Application
Set acApp = New Access.Application
With acApp
.Visible = False 'facultatif valeur par défaut
.OpenCurrentDatabase (DataBaseName)
getOtherSQL = Replace(.CurrentDb.QueryDefs(QueryName).sql, _
vbCrLf, " ")
.CloseCurrentDatabase
.Quit
End With
Set acApp = Nothing
Err_getOtherSQL:
End Function
2- appeler ta fonction comme ceci dans ton code vba, sous un bouton de
commande par exemple:
Private Sub Commande0_Click()
Dim Rs As DAO.Recordset
Set Rs = CurrentDb.OpenRecordset(getOtherSQL("bd2.mdb", "requête5"))
While Not Rs.EOF
Debug.Print Rs(0)
Rs.MoveNext
Wend
Set Rs = Nothing
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Ma Dalton" <rantanplan@farwest.net> a écrit dans le message de news:
uwpf9zFzEHA.4028@TK2MSFTNGP15.phx.gbl...
re bonjour,
mais je n'arrive pas à exécuter le SQL ainsi récupérer
merci de me dire ce qui me manque
voici ma fenêtre d'exécution pour fins de test:
? strRequeteSQL("c:datamabase.mdb", "test")
SELECT tlkpAgent.AgentChimique, tlkpAgent.Code, tlkpAgent.AgentTableau
FROM tlkpAgent
WHERE (((tlkpAgent.AgentTableau)="pesticides"));
faut pas faire comme ça. 1- créer une fonction public dans un module standard: Public Function getOtherSQL(DataBaseName As String, QueryName As String) As Variant getOtherSQL = "" On Error GoTo Err_getOtherSQL Dim qdf As DAO.QueryDef Dim acApp As Access.Application Set acApp = New Access.Application With acApp .Visible = False 'facultatif valeur par défaut .OpenCurrentDatabase (DataBaseName) getOtherSQL = Replace(.CurrentDb.QueryDefs(QueryName).sql, _ vbCrLf, " ") .CloseCurrentDatabase .Quit End With Set acApp = Nothing Err_getOtherSQL: End Function
2- appeler ta fonction comme ceci dans ton code vba, sous un bouton de commande par exemple: Private Sub Commande0_Click() Dim Rs As DAO.Recordset Set Rs = CurrentDb.OpenRecordset(getOtherSQL("bd2.mdb", "requête5")) While Not Rs.EOF Debug.Print Rs(0) Rs.MoveNext Wend Set Rs = Nothing End Sub
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Ma Dalton" a écrit dans le message de news:
re bonjour, mais je n'arrive pas à exécuter le SQL ainsi récupérer
merci de me dire ce qui me manque
voici ma fenêtre d'exécution pour fins de test:
? strRequeteSQL("c:datamabase.mdb", "test") SELECT tlkpAgent.AgentChimique, tlkpAgent.Code, tlkpAgent.AgentTableau FROM tlkpAgent WHERE (((tlkpAgent.AgentTableau)="pesticides"));
re j'ai du mal à suivre, l'age sans doute, depuis quand on ouvre une instance access, pour ouvrir un recordset sur une base externe
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer Access http://users.skynet.be/mpfa/ Excel http://www.excelabo.net Site perso http://access.cfi.free.fr "Raymond [mvp]" a écrit dans le message de news:
Bonjour.
faut pas faire comme ça. 1- créer une fonction public dans un module standard: Public Function getOtherSQL(DataBaseName As String, QueryName As String) As Variant getOtherSQL = "" On Error GoTo Err_getOtherSQL Dim qdf As DAO.QueryDef Dim acApp As Access.Application Set acApp = New Access.Application With acApp .Visible = False 'facultatif valeur par défaut .OpenCurrentDatabase (DataBaseName) getOtherSQL = Replace(.CurrentDb.QueryDefs(QueryName).sql, _ vbCrLf, " ") .CloseCurrentDatabase .Quit End With Set acApp = Nothing Err_getOtherSQL: End Function
2- appeler ta fonction comme ceci dans ton code vba, sous un bouton de commande par exemple: Private Sub Commande0_Click() Dim Rs As DAO.Recordset Set Rs = CurrentDb.OpenRecordset(getOtherSQL("bd2.mdb", "requête5")) While Not Rs.EOF Debug.Print Rs(0) Rs.MoveNext Wend Set Rs = Nothing End Sub
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Ma Dalton" a écrit dans le message de news:
re bonjour, mais je n'arrive pas à exécuter le SQL ainsi récupérer
merci de me dire ce qui me manque
voici ma fenêtre d'exécution pour fins de test:
? strRequeteSQL("c:datamabase.mdb", "test") SELECT tlkpAgent.AgentChimique, tlkpAgent.Code, tlkpAgent.AgentTableau FROM tlkpAgent WHERE (((tlkpAgent.AgentTableau)="pesticides"));
re
j'ai du mal à suivre, l'age sans doute, depuis quand on ouvre une instance access, pour ouvrir un recordset sur une base externe
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Raymond [mvp]" <XYZ.officesystem.access@free.fr> a écrit dans le message de news:OeFqeVHzEHA.1392@tk2msftngp13.phx.gbl...
Bonjour.
faut pas faire comme ça.
1- créer une fonction public dans un module standard:
Public Function getOtherSQL(DataBaseName As String, QueryName As String) As
Variant
getOtherSQL = ""
On Error GoTo Err_getOtherSQL
Dim qdf As DAO.QueryDef
Dim acApp As Access.Application
Set acApp = New Access.Application
With acApp
.Visible = False 'facultatif valeur par défaut
.OpenCurrentDatabase (DataBaseName)
getOtherSQL = Replace(.CurrentDb.QueryDefs(QueryName).sql, _
vbCrLf, " ")
.CloseCurrentDatabase
.Quit
End With
Set acApp = Nothing
Err_getOtherSQL:
End Function
2- appeler ta fonction comme ceci dans ton code vba, sous un bouton de
commande par exemple:
Private Sub Commande0_Click()
Dim Rs As DAO.Recordset
Set Rs = CurrentDb.OpenRecordset(getOtherSQL("bd2.mdb", "requête5"))
While Not Rs.EOF
Debug.Print Rs(0)
Rs.MoveNext
Wend
Set Rs = Nothing
End Sub
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Ma Dalton" <rantanplan@farwest.net> a écrit dans le message de news:
uwpf9zFzEHA.4028@TK2MSFTNGP15.phx.gbl...
re bonjour,
mais je n'arrive pas à exécuter le SQL ainsi récupérer
merci de me dire ce qui me manque
voici ma fenêtre d'exécution pour fins de test:
? strRequeteSQL("c:datamabase.mdb", "test")
SELECT tlkpAgent.AgentChimique, tlkpAgent.Code, tlkpAgent.AgentTableau
FROM tlkpAgent
WHERE (((tlkpAgent.AgentTableau)="pesticides"));
re j'ai du mal à suivre, l'age sans doute, depuis quand on ouvre une instance access, pour ouvrir un recordset sur une base externe
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer Access http://users.skynet.be/mpfa/ Excel http://www.excelabo.net Site perso http://access.cfi.free.fr "Raymond [mvp]" a écrit dans le message de news:
Bonjour.
faut pas faire comme ça. 1- créer une fonction public dans un module standard: Public Function getOtherSQL(DataBaseName As String, QueryName As String) As Variant getOtherSQL = "" On Error GoTo Err_getOtherSQL Dim qdf As DAO.QueryDef Dim acApp As Access.Application Set acApp = New Access.Application With acApp .Visible = False 'facultatif valeur par défaut .OpenCurrentDatabase (DataBaseName) getOtherSQL = Replace(.CurrentDb.QueryDefs(QueryName).sql, _ vbCrLf, " ") .CloseCurrentDatabase .Quit End With Set acApp = Nothing Err_getOtherSQL: End Function
2- appeler ta fonction comme ceci dans ton code vba, sous un bouton de commande par exemple: Private Sub Commande0_Click() Dim Rs As DAO.Recordset Set Rs = CurrentDb.OpenRecordset(getOtherSQL("bd2.mdb", "requête5")) While Not Rs.EOF Debug.Print Rs(0) Rs.MoveNext Wend Set Rs = Nothing End Sub
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Ma Dalton" a écrit dans le message de news:
re bonjour, mais je n'arrive pas à exécuter le SQL ainsi récupérer
merci de me dire ce qui me manque
voici ma fenêtre d'exécution pour fins de test:
? strRequeteSQL("c:datamabase.mdb", "test") SELECT tlkpAgent.AgentChimique, tlkpAgent.Code, tlkpAgent.AgentTableau FROM tlkpAgent WHERE (((tlkpAgent.AgentTableau)="pesticides"));
On peut aussi, mais tu sais bien que ma tendance vb est à l'automation ( pardon, automatisation), car je n'aime pas avoir deux bases ouvertes dans le même espace et si on déclare un autre espace ça devient vite plus compliqué (en code) et moins lisible. Et puis je pars du principe que toutes mes relations access avec les logiciels office doivent se faire par automation pour simplifier l'organisation générale des bases, une seule méthode pour access, word, excel etc....
j'y repense, tu as pu modifier ton adresse ? -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Pierre CFI [mvp]" a écrit dans le message de news:
bonjour bien compliqué ton truc, mon petit et chétif Raymond Dim bd As Database Set bd = OpenDatabase("D:AccessExo Access 97client_97.mdb") MavariableTexte= bd.QueryDefs("ventes").SQL
pas besoin d'ouvrir une instance access
-- Pierre CFI
Bonjour Pierre.
On peut aussi, mais tu sais bien que ma tendance vb est à l'automation (
pardon, automatisation), car je n'aime pas avoir deux bases ouvertes dans le
même espace et si on déclare un autre espace ça devient vite plus compliqué
(en code) et moins lisible. Et puis je pars du principe que toutes mes
relations access avec les logiciels office doivent se faire par automation
pour simplifier l'organisation générale des bases, une seule méthode pour
access, word, excel etc....
j'y repense, tu as pu modifier ton adresse ?
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Pierre CFI [mvp]" <XXX_pierresalaun@aol.com> a écrit dans le message de
news: egKRZPHzEHA.804@TK2MSFTNGP12.phx.gbl...
bonjour
bien compliqué ton truc, mon petit et chétif Raymond
Dim bd As Database
Set bd = OpenDatabase("D:AccessExo Access 97client_97.mdb")
MavariableTexte= bd.QueryDefs("ventes").SQL
On peut aussi, mais tu sais bien que ma tendance vb est à l'automation ( pardon, automatisation), car je n'aime pas avoir deux bases ouvertes dans le même espace et si on déclare un autre espace ça devient vite plus compliqué (en code) et moins lisible. Et puis je pars du principe que toutes mes relations access avec les logiciels office doivent se faire par automation pour simplifier l'organisation générale des bases, une seule méthode pour access, word, excel etc....
j'y repense, tu as pu modifier ton adresse ? -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Pierre CFI [mvp]" a écrit dans le message de news:
bonjour bien compliqué ton truc, mon petit et chétif Raymond Dim bd As Database Set bd = OpenDatabase("D:AccessExo Access 97client_97.mdb") MavariableTexte= bd.QueryDefs("ventes").SQL
pas besoin d'ouvrir une instance access
-- Pierre CFI
Raymond [mvp]
je n'en sais rien, mais la question d'origine était de récupérer le sql pour le mettre dans une table, c'est tout.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Pierre CFI [mvp]" a écrit dans le message de news:
re j'ai du mal à suivre, l'age sans doute, depuis quand on ouvre une instance access, pour ouvrir un recordset sur une base externe
-- Pierre CFI
je n'en sais rien, mais la question d'origine était de récupérer le sql pour
le mettre dans une table, c'est tout.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Pierre CFI [mvp]" <XXX_pierresalaun@aol.com> a écrit dans le message de
news: O4G1zaHzEHA.2568@TK2MSFTNGP10.phx.gbl...
re
j'ai du mal à suivre, l'age sans doute, depuis quand on ouvre une instance
access, pour ouvrir un recordset sur une base externe