Je souhaitais développer une application autour d'une base principale
ACCESS (OLEDB), contenant un ensemble de requêtes et de liens vers
d'autres bases ACCESS disséminées sur plusieurs serveurs de mon réseau.
Après plusieurs tests, et sauf erreur, il semble impossible a priori
d'importer dans une analyse Windev autre chose que la description des
tables physiquement présentes dans la base ainsi que les requêtes.
Du coup, j'ai importé dans mon analyse Windev les descriptions de
plusieurs bases en créant pour chaque fichier ACCESS une connexion.
J'ai donc bien désormais mes tables décrites dans l'analyse (Youpi !)
mais, nouvel écueil, je n'arrive pas à créer une requête liant par
exemple deux tables dont chacune serait dans un fichier distinct (donc,
dont l'accès aux données devrait utiliser deux connexions, si j'ai bien
tout compris ?).
Je n'ai pas trouvé de fonction compatible OLEDB permettant de résoudre
une requête SQL en utilisant plusieurs connexions.
J'imagine pourtant que ça doit pouvoir se faire (c'est quand même plutôt
fréquent de trouver des environnements multi bases/fichiers et multi
serveurs) mais là, j'avoue commencer à être à court d'idées (sachant que
je ne veux pas avoir à importer les données dans des fichiers FIC ou des
tableaux et autres champs de type table par exemple dans mon application
pour les manipuler. l'idée c'est bien ici de pouvoir les lire et
requêter directement sur les tables.)
Peut-être avez-vous déjà rencontré (et déjà résolu) ce problème de
requêtage multi-bases ou multi-connexions avec OLEDB ?
Merci d'avance pour vos réponses/suggestions/pistes ...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
thierry.jacquart
si tu as plusieurs bases différentes, c'est que tu as des connections différentes.
as tu jeté un oeil du coté de hchangeconnection dans le code de ton projet pour reassigner les fichiers sur leurs bases respectives
On 4 nov, 22:40, AGR wrote:
Bonjour,
Mon problème est le suivant :
Je souhaitais développer une application autour d'une base principale ACCESS (OLEDB), contenant un ensemble de requêtes et de liens vers d'autres bases ACCESS disséminées sur plusieurs serveurs de mon rés eau. Après plusieurs tests, et sauf erreur, il semble impossible a priori d'importer dans une analyse Windev autre chose que la description des tables physiquement présentes dans la base ainsi que les requêtes.
Du coup, j'ai importé dans mon analyse Windev les descriptions de plusieurs bases en créant pour chaque fichier ACCESS une connexion.
J'ai donc bien désormais mes tables décrites dans l'analyse (Youpi !) mais, nouvel écueil, je n'arrive pas à créer une requête liant pa r exemple deux tables dont chacune serait dans un fichier distinct (donc, dont l'accès aux données devrait utiliser deux connexions, si j'ai bi en tout compris ?).
Je n'ai pas trouvé de fonction compatible OLEDB permettant de résoudr e une requête SQL en utilisant plusieurs connexions.
J'imagine pourtant que ça doit pouvoir se faire (c'est quand même plu tôt fréquent de trouver des environnements multi bases/fichiers et multi serveurs) mais là, j'avoue commencer à être à court d'idées (sa chant que je ne veux pas avoir à importer les données dans des fichiers FIC ou des tableaux et autres champs de type table par exemple dans mon application pour les manipuler. l'idée c'est bien ici de pouvoir les lire et requêter directement sur les tables.)
Peut-être avez-vous déjà rencontré (et déjà résolu) ce prob lème de requêtage multi-bases ou multi-connexions avec OLEDB ?
Merci d'avance pour vos réponses/suggestions/pistes ...
si tu as plusieurs bases différentes, c'est que tu as des connections
différentes.
as tu jeté un oeil du coté de hchangeconnection dans le code de ton
projet
pour reassigner les fichiers sur leurs bases respectives
On 4 nov, 22:40, AGR <pris...@hotmail.fr> wrote:
Bonjour,
Mon problème est le suivant :
Je souhaitais développer une application autour d'une base principale
ACCESS (OLEDB), contenant un ensemble de requêtes et de liens vers
d'autres bases ACCESS disséminées sur plusieurs serveurs de mon rés eau.
Après plusieurs tests, et sauf erreur, il semble impossible a priori
d'importer dans une analyse Windev autre chose que la description des
tables physiquement présentes dans la base ainsi que les requêtes.
Du coup, j'ai importé dans mon analyse Windev les descriptions de
plusieurs bases en créant pour chaque fichier ACCESS une connexion.
J'ai donc bien désormais mes tables décrites dans l'analyse (Youpi !)
mais, nouvel écueil, je n'arrive pas à créer une requête liant pa r
exemple deux tables dont chacune serait dans un fichier distinct (donc,
dont l'accès aux données devrait utiliser deux connexions, si j'ai bi en
tout compris ?).
Je n'ai pas trouvé de fonction compatible OLEDB permettant de résoudr e
une requête SQL en utilisant plusieurs connexions.
J'imagine pourtant que ça doit pouvoir se faire (c'est quand même plu tôt
fréquent de trouver des environnements multi bases/fichiers et multi
serveurs) mais là, j'avoue commencer à être à court d'idées (sa chant que
je ne veux pas avoir à importer les données dans des fichiers FIC ou des
tableaux et autres champs de type table par exemple dans mon application
pour les manipuler. l'idée c'est bien ici de pouvoir les lire et
requêter directement sur les tables.)
Peut-être avez-vous déjà rencontré (et déjà résolu) ce prob lème de
requêtage multi-bases ou multi-connexions avec OLEDB ?
Merci d'avance pour vos réponses/suggestions/pistes ...
si tu as plusieurs bases différentes, c'est que tu as des connections différentes.
as tu jeté un oeil du coté de hchangeconnection dans le code de ton projet pour reassigner les fichiers sur leurs bases respectives
On 4 nov, 22:40, AGR wrote:
Bonjour,
Mon problème est le suivant :
Je souhaitais développer une application autour d'une base principale ACCESS (OLEDB), contenant un ensemble de requêtes et de liens vers d'autres bases ACCESS disséminées sur plusieurs serveurs de mon rés eau. Après plusieurs tests, et sauf erreur, il semble impossible a priori d'importer dans une analyse Windev autre chose que la description des tables physiquement présentes dans la base ainsi que les requêtes.
Du coup, j'ai importé dans mon analyse Windev les descriptions de plusieurs bases en créant pour chaque fichier ACCESS une connexion.
J'ai donc bien désormais mes tables décrites dans l'analyse (Youpi !) mais, nouvel écueil, je n'arrive pas à créer une requête liant pa r exemple deux tables dont chacune serait dans un fichier distinct (donc, dont l'accès aux données devrait utiliser deux connexions, si j'ai bi en tout compris ?).
Je n'ai pas trouvé de fonction compatible OLEDB permettant de résoudr e une requête SQL en utilisant plusieurs connexions.
J'imagine pourtant que ça doit pouvoir se faire (c'est quand même plu tôt fréquent de trouver des environnements multi bases/fichiers et multi serveurs) mais là, j'avoue commencer à être à court d'idées (sa chant que je ne veux pas avoir à importer les données dans des fichiers FIC ou des tableaux et autres champs de type table par exemple dans mon application pour les manipuler. l'idée c'est bien ici de pouvoir les lire et requêter directement sur les tables.)
Peut-être avez-vous déjà rencontré (et déjà résolu) ce prob lème de requêtage multi-bases ou multi-connexions avec OLEDB ?
Merci d'avance pour vos réponses/suggestions/pistes ...
AGR
Bonjour,
Finalement, avec un peu d'aide (sur le forum PcSoft) et beaucoup de tests (!), j'ai fini par réussir à faire ce que je souhaitais :
Dans le principe on crée un projet et une connexion vers la base Access principale. Pour accéder aux données (via SQL), deux possibilités :
Utilisation d'une requête crée dans Windev :
[MaRequete] est une requête SQL créée dans le module requête de Windev. [MaConnexionAccess] est une connexion créée vers ma base principale lors de la création de l'analyse.
J'utilise le code suivant dans l'initialisation d'une fenêtre pour exécuter ma requête et alimenter une table pour contrôle :
SI HExécuteRequête(MaRequete,MaConnexionAccess,hRequêteSansCorrection)úux ALORS Erreur("Erreur d'initialisation de la requête"+RC+HErreurInfo()) RETOUR FIN
POUR TOUT MaRequete TableAjouteLigne(TableTest,MaRequete.Code,MaRequete.Nom,MaRequete.Montant_HT) FIN
Autre possibilité, l'utilisation de la même requête SQL directement dans le code d'initialisation de la fenêtre :
SQL est une chaîne = [ SELECT ADH.CodADH AS Code_ADH, ADH.NomADH AS Nom_ADH, SUM(COT.MontantHT) AS Montant_HT FROM ADH INNER JOIN COT ON ADH.CodADH = COT.CodADH WHERE COT.AnneeCOT = '2010' AND COT.NvCOT = '100' GROUP BY ADH.CodADH, ADH.NomADH ]
sdRequête est une Source de Données sdRequête="MaRequête"+DonneIdentifiant()
SI PAS HExécuteRequêteSQL(sdRequête,MaConnexionAccess,hRequêteSansCorrection,SQL) ALORS Erreur("Erreur HExécuteRequêteSQL", HErreurInfo()) SINON HLitPremier(sdRequête) TANTQUE PAS HEnDehors(sdRequête) TableAjoute(TABLE1,sdRequête.Code_ADH+TAB+sdRequête.Nom_ADH+ TAB+sdRequête.Montant_HT)
HLitSuivant(sdRequête) FIN FIN HAnnuleDéclaration(sdRequête)
Le 08/11/2011 21:44, a écrit :
si tu as plusieurs bases différentes, c'est que tu as des connections différentes.
as tu jeté un oeil du coté de hchangeconnection dans le code de ton projet pour reassigner les fichiers sur leurs bases respectives
On 4 nov, 22:40, AGR wrote:
Bonjour,
Mon problème est le suivant :
Je souhaitais développer une application autour d'une base principale ACCESS (OLEDB), contenant un ensemble de requêtes et de liens vers d'autres bases ACCESS disséminées sur plusieurs serveurs de mon réseau. Après plusieurs tests, et sauf erreur, il semble impossible a priori d'importer dans une analyse Windev autre chose que la description des tables physiquement présentes dans la base ainsi que les requêtes.
Du coup, j'ai importé dans mon analyse Windev les descriptions de plusieurs bases en créant pour chaque fichier ACCESS une connexion.
J'ai donc bien désormais mes tables décrites dans l'analyse (Youpi !) mais, nouvel écueil, je n'arrive pas à créer une requête liant par exemple deux tables dont chacune serait dans un fichier distinct (donc, dont l'accès aux données devrait utiliser deux connexions, si j'ai bien tout compris ?).
Je n'ai pas trouvé de fonction compatible OLEDB permettant de résoudre une requête SQL en utilisant plusieurs connexions.
J'imagine pourtant que ça doit pouvoir se faire (c'est quand même plutôt fréquent de trouver des environnements multi bases/fichiers et multi serveurs) mais là, j'avoue commencer à être à court d'idées (sachant que je ne veux pas avoir à importer les données dans des fichiers FIC ou des tableaux et autres champs de type table par exemple dans mon application pour les manipuler. l'idée c'est bien ici de pouvoir les lire et requêter directement sur les tables.)
Peut-être avez-vous déjà rencontré (et déjà résolu) ce problème de requêtage multi-bases ou multi-connexions avec OLEDB ?
Merci d'avance pour vos réponses/suggestions/pistes ...
Bonjour,
Finalement, avec un peu d'aide (sur le forum PcSoft) et beaucoup de
tests (!), j'ai fini par réussir à faire ce que je souhaitais :
Dans le principe on crée un projet et une connexion vers la base Access
principale. Pour accéder aux données (via SQL), deux possibilités :
Utilisation d'une requête crée dans Windev :
[MaRequete] est une requête SQL créée dans le module requête de Windev.
[MaConnexionAccess] est une connexion créée vers ma base principale lors
de la création de l'analyse.
J'utilise le code suivant dans l'initialisation d'une fenêtre pour
exécuter ma requête et alimenter une table pour contrôle :
SI
HExécuteRequête(MaRequete,MaConnexionAccess,hRequêteSansCorrection)úux
ALORS
Erreur("Erreur d'initialisation de la requête"+RC+HErreurInfo())
RETOUR
FIN
POUR TOUT MaRequete
TableAjouteLigne(TableTest,MaRequete.Code,MaRequete.Nom,MaRequete.Montant_HT)
FIN
Autre possibilité, l'utilisation de la même requête SQL directement dans
le code d'initialisation de la fenêtre :
SQL est une chaîne = [
SELECT
ADH.CodADH AS Code_ADH,
ADH.NomADH AS Nom_ADH,
SUM(COT.MontantHT) AS Montant_HT
FROM
ADH INNER JOIN COT
ON ADH.CodADH = COT.CodADH
WHERE
COT.AnneeCOT = '2010'
AND COT.NvCOT = '100'
GROUP BY
ADH.CodADH,
ADH.NomADH
]
sdRequête est une Source de Données
sdRequête="MaRequête"+DonneIdentifiant()
SI PAS
HExécuteRequêteSQL(sdRequête,MaConnexionAccess,hRequêteSansCorrection,SQL)
ALORS
Erreur("Erreur HExécuteRequêteSQL", HErreurInfo())
SINON
HLitPremier(sdRequête)
TANTQUE PAS HEnDehors(sdRequête)
TableAjoute(TABLE1,sdRequête.Code_ADH+TAB+sdRequête.Nom_ADH+
TAB+sdRequête.Montant_HT)
HLitSuivant(sdRequête)
FIN
FIN
HAnnuleDéclaration(sdRequête)
Le 08/11/2011 21:44, thierry.jacquart@gmail.com a écrit :
si tu as plusieurs bases différentes, c'est que tu as des connections
différentes.
as tu jeté un oeil du coté de hchangeconnection dans le code de ton
projet
pour reassigner les fichiers sur leurs bases respectives
On 4 nov, 22:40, AGR<pris...@hotmail.fr> wrote:
Bonjour,
Mon problème est le suivant :
Je souhaitais développer une application autour d'une base principale
ACCESS (OLEDB), contenant un ensemble de requêtes et de liens vers
d'autres bases ACCESS disséminées sur plusieurs serveurs de mon réseau.
Après plusieurs tests, et sauf erreur, il semble impossible a priori
d'importer dans une analyse Windev autre chose que la description des
tables physiquement présentes dans la base ainsi que les requêtes.
Du coup, j'ai importé dans mon analyse Windev les descriptions de
plusieurs bases en créant pour chaque fichier ACCESS une connexion.
J'ai donc bien désormais mes tables décrites dans l'analyse (Youpi !)
mais, nouvel écueil, je n'arrive pas à créer une requête liant par
exemple deux tables dont chacune serait dans un fichier distinct (donc,
dont l'accès aux données devrait utiliser deux connexions, si j'ai bien
tout compris ?).
Je n'ai pas trouvé de fonction compatible OLEDB permettant de résoudre
une requête SQL en utilisant plusieurs connexions.
J'imagine pourtant que ça doit pouvoir se faire (c'est quand même plutôt
fréquent de trouver des environnements multi bases/fichiers et multi
serveurs) mais là, j'avoue commencer à être à court d'idées (sachant que
je ne veux pas avoir à importer les données dans des fichiers FIC ou des
tableaux et autres champs de type table par exemple dans mon application
pour les manipuler. l'idée c'est bien ici de pouvoir les lire et
requêter directement sur les tables.)
Peut-être avez-vous déjà rencontré (et déjà résolu) ce problème de
requêtage multi-bases ou multi-connexions avec OLEDB ?
Merci d'avance pour vos réponses/suggestions/pistes ...
Finalement, avec un peu d'aide (sur le forum PcSoft) et beaucoup de tests (!), j'ai fini par réussir à faire ce que je souhaitais :
Dans le principe on crée un projet et une connexion vers la base Access principale. Pour accéder aux données (via SQL), deux possibilités :
Utilisation d'une requête crée dans Windev :
[MaRequete] est une requête SQL créée dans le module requête de Windev. [MaConnexionAccess] est une connexion créée vers ma base principale lors de la création de l'analyse.
J'utilise le code suivant dans l'initialisation d'une fenêtre pour exécuter ma requête et alimenter une table pour contrôle :
SI HExécuteRequête(MaRequete,MaConnexionAccess,hRequêteSansCorrection)úux ALORS Erreur("Erreur d'initialisation de la requête"+RC+HErreurInfo()) RETOUR FIN
POUR TOUT MaRequete TableAjouteLigne(TableTest,MaRequete.Code,MaRequete.Nom,MaRequete.Montant_HT) FIN
Autre possibilité, l'utilisation de la même requête SQL directement dans le code d'initialisation de la fenêtre :
SQL est une chaîne = [ SELECT ADH.CodADH AS Code_ADH, ADH.NomADH AS Nom_ADH, SUM(COT.MontantHT) AS Montant_HT FROM ADH INNER JOIN COT ON ADH.CodADH = COT.CodADH WHERE COT.AnneeCOT = '2010' AND COT.NvCOT = '100' GROUP BY ADH.CodADH, ADH.NomADH ]
sdRequête est une Source de Données sdRequête="MaRequête"+DonneIdentifiant()
SI PAS HExécuteRequêteSQL(sdRequête,MaConnexionAccess,hRequêteSansCorrection,SQL) ALORS Erreur("Erreur HExécuteRequêteSQL", HErreurInfo()) SINON HLitPremier(sdRequête) TANTQUE PAS HEnDehors(sdRequête) TableAjoute(TABLE1,sdRequête.Code_ADH+TAB+sdRequête.Nom_ADH+ TAB+sdRequête.Montant_HT)
HLitSuivant(sdRequête) FIN FIN HAnnuleDéclaration(sdRequête)
Le 08/11/2011 21:44, a écrit :
si tu as plusieurs bases différentes, c'est que tu as des connections différentes.
as tu jeté un oeil du coté de hchangeconnection dans le code de ton projet pour reassigner les fichiers sur leurs bases respectives
On 4 nov, 22:40, AGR wrote:
Bonjour,
Mon problème est le suivant :
Je souhaitais développer une application autour d'une base principale ACCESS (OLEDB), contenant un ensemble de requêtes et de liens vers d'autres bases ACCESS disséminées sur plusieurs serveurs de mon réseau. Après plusieurs tests, et sauf erreur, il semble impossible a priori d'importer dans une analyse Windev autre chose que la description des tables physiquement présentes dans la base ainsi que les requêtes.
Du coup, j'ai importé dans mon analyse Windev les descriptions de plusieurs bases en créant pour chaque fichier ACCESS une connexion.
J'ai donc bien désormais mes tables décrites dans l'analyse (Youpi !) mais, nouvel écueil, je n'arrive pas à créer une requête liant par exemple deux tables dont chacune serait dans un fichier distinct (donc, dont l'accès aux données devrait utiliser deux connexions, si j'ai bien tout compris ?).
Je n'ai pas trouvé de fonction compatible OLEDB permettant de résoudre une requête SQL en utilisant plusieurs connexions.
J'imagine pourtant que ça doit pouvoir se faire (c'est quand même plutôt fréquent de trouver des environnements multi bases/fichiers et multi serveurs) mais là, j'avoue commencer à être à court d'idées (sachant que je ne veux pas avoir à importer les données dans des fichiers FIC ou des tableaux et autres champs de type table par exemple dans mon application pour les manipuler. l'idée c'est bien ici de pouvoir les lire et requêter directement sur les tables.)
Peut-être avez-vous déjà rencontré (et déjà résolu) ce problème de requêtage multi-bases ou multi-connexions avec OLEDB ?
Merci d'avance pour vos réponses/suggestions/pistes ...