Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Conversion requete Access en requete MS-Query

5 réponses
Avatar
Claude Barbier
Bonjour,

J'ai mis au point une requête dans Access (elle extrait des données de
tables liées issues d'une base ORACLE). Je voudrais maintenant transposer
cette requête dans Excel via MS-QUERY.
Malheureusement les syntaxes ne sont pas compatibles particulièrement au
niveau des jointures et après deux heures d'essais divers, je ne vois
toujours pas le "bout du tunnel".

Voila la requête SQL telle qu'elle est générée par Access ("BASE" est la
base de données) :

SELECT
BASE_TEST.TS_TEST_ID,
BASE_CYCL_FOLD_1.CF_ITEM_NAME,
BASE_CYCL_FOLD.CF_ITEM_NAME,
BASE_CYCLE.CY_CYCLE,
BASE_TEST.TS_STEPS,
BASE_TEST.TS_NAME,
BASE_TEST.TS_STATUS,
BASE_TEST.TS_RESPONSIBLE,
BASE_TEST.TS_CREATION_DATE,
BASE_TEST.TS_RESPONSIBLE,
BASE_TEST.TS_EXEC_STATUS,
BASE_TESTCYCL.TC_EXEC_DATE,
BASE_TEST.TS_TYPE,
BASE_TEST.TS_USER_02,
BASE_TEST.TS_USER_09,
BASE_TEST.TS_USER_01,
BASE_RUN.RN_STATUS,
BASE_RUN.RN_TESTER_NAME,
BASE_RUN.RN_EXECUTION_DATE,
BASE_RUN.RN_EXECUTION_TIME

FROM ((((BASE_TEST INNER JOIN BASE_TESTCYCL ON BASE_TEST.TS_TEST_ID =
BASE_TESTCYCL.TC_TEST_ID) INNER JOIN BASE_CYCLE ON BASE_TESTCYCL.TC_CYCLE_ID
= BASE_CYCLE.CY_CYCLE_ID) INNER JOIN BASE_CYCL_FOLD ON
BASE_CYCLE.CY_FOLDER_ID = BASE_CYCL_FOLD.CF_ITEM_ID) INNER JOIN
BASE_CYCL_FOLD AS BASE_CYCL_FOLD_1 ON BASE_CYCL_FOLD.CF_FATHER_ID =
BASE_CYCL_FOLD_1.CF_ITEM_ID) LEFT JOIN BASE_RUN ON
BASE_TESTCYCL.TC_TESTCYCL_ID = BASE_RUN.RN_TESTCYCL_ID

ORDER BY BASE_TEST.TS_TEST_ID, BASE_CYCL_FOLD_1.CF_ITEM_NAME,
BASE_CYCL_FOLD.CF_ITEM_NAME, BASE_CYCLE.CY_CYCLE,
BASE_RUN.RN_EXECUTION_DATE, BASE_RUN.RN_EXECUTION_TIME;

Si une bonne âme pouvait m'aider à "traduire" la ligne "FROM....", je lui en
serait très reconnaissant.

Merci par avance pour toute aide
Claude Barbier

5 réponses

Avatar
isabelle
bonjour Claude,

sur excel il est possible de faire une requête ayant comme source une requete Access,
une fois celle ci créer il est possible de la modifier via MS-QUERY.

isabelle


Claude Barbier a écrit :
Bonjour,

J'ai mis au point une requête dans Access (elle extrait des données de
tables liées issues d'une base ORACLE). Je voudrais maintenant transposer
cette requête dans Excel via MS-QUERY.
Malheureusement les syntaxes ne sont pas compatibles particulièrement au
niveau des jointures et après deux heures d'essais divers, je ne vois
toujours pas le "bout du tunnel".

Voila la requête SQL telle qu'elle est générée par Access ("BASE" est la
base de données) :

SELECT
BASE_TEST.TS_TEST_ID,
BASE_CYCL_FOLD_1.CF_ITEM_NAME,
BASE_CYCL_FOLD.CF_ITEM_NAME,
BASE_CYCLE.CY_CYCLE,
BASE_TEST.TS_STEPS,
BASE_TEST.TS_NAME,
BASE_TEST.TS_STATUS,
BASE_TEST.TS_RESPONSIBLE,
BASE_TEST.TS_CREATION_DATE,
BASE_TEST.TS_RESPONSIBLE,
BASE_TEST.TS_EXEC_STATUS,
BASE_TESTCYCL.TC_EXEC_DATE,
BASE_TEST.TS_TYPE,
BASE_TEST.TS_USER_02,
BASE_TEST.TS_USER_09,
BASE_TEST.TS_USER_01,
BASE_RUN.RN_STATUS,
BASE_RUN.RN_TESTER_NAME,
BASE_RUN.RN_EXECUTION_DATE,
BASE_RUN.RN_EXECUTION_TIME

FROM ((((BASE_TEST INNER JOIN BASE_TESTCYCL ON BASE_TEST.TS_TEST_ID =
BASE_TESTCYCL.TC_TEST_ID) INNER JOIN BASE_CYCLE ON BASE_TESTCYCL.TC_CYCLE_ID
= BASE_CYCLE.CY_CYCLE_ID) INNER JOIN BASE_CYCL_FOLD ON
BASE_CYCLE.CY_FOLDER_ID = BASE_CYCL_FOLD.CF_ITEM_ID) INNER JOIN
BASE_CYCL_FOLD AS BASE_CYCL_FOLD_1 ON BASE_CYCL_FOLD.CF_FATHER_ID =
BASE_CYCL_FOLD_1.CF_ITEM_ID) LEFT JOIN BASE_RUN ON
BASE_TESTCYCL.TC_TESTCYCL_ID = BASE_RUN.RN_TESTCYCL_ID

ORDER BY BASE_TEST.TS_TEST_ID, BASE_CYCL_FOLD_1.CF_ITEM_NAME,
BASE_CYCL_FOLD.CF_ITEM_NAME, BASE_CYCLE.CY_CYCLE,
BASE_RUN.RN_EXECUTION_DATE, BASE_RUN.RN_EXECUTION_TIME;

Si une bonne âme pouvait m'aider à "traduire" la ligne "FROM....", je lui en
serait très reconnaissant.

Merci par avance pour toute aide
Claude Barbier




Avatar
isabelle
ps,

lors de la création de la requete, à la page 2 "Choisir les colonnes"
click sur le bouton "Options" et coches "requêtes"

isabelle

Claude Barbier a écrit :
Bonjour,

J'ai mis au point une requête dans Access (elle extrait des données de
tables liées issues d'une base ORACLE). Je voudrais maintenant transposer
cette requête dans Excel via MS-QUERY.
Malheureusement les syntaxes ne sont pas compatibles particulièrement au
niveau des jointures et après deux heures d'essais divers, je ne vois
toujours pas le "bout du tunnel".

Voila la requête SQL telle qu'elle est générée par Access ("BASE" est la
base de données) :

SELECT
BASE_TEST.TS_TEST_ID,
BASE_CYCL_FOLD_1.CF_ITEM_NAME,
BASE_CYCL_FOLD.CF_ITEM_NAME,
BASE_CYCLE.CY_CYCLE,
BASE_TEST.TS_STEPS,
BASE_TEST.TS_NAME,
BASE_TEST.TS_STATUS,
BASE_TEST.TS_RESPONSIBLE,
BASE_TEST.TS_CREATION_DATE,
BASE_TEST.TS_RESPONSIBLE,
BASE_TEST.TS_EXEC_STATUS,
BASE_TESTCYCL.TC_EXEC_DATE,
BASE_TEST.TS_TYPE,
BASE_TEST.TS_USER_02,
BASE_TEST.TS_USER_09,
BASE_TEST.TS_USER_01,
BASE_RUN.RN_STATUS,
BASE_RUN.RN_TESTER_NAME,
BASE_RUN.RN_EXECUTION_DATE,
BASE_RUN.RN_EXECUTION_TIME

FROM ((((BASE_TEST INNER JOIN BASE_TESTCYCL ON BASE_TEST.TS_TEST_ID =
BASE_TESTCYCL.TC_TEST_ID) INNER JOIN BASE_CYCLE ON BASE_TESTCYCL.TC_CYCLE_ID
= BASE_CYCLE.CY_CYCLE_ID) INNER JOIN BASE_CYCL_FOLD ON
BASE_CYCLE.CY_FOLDER_ID = BASE_CYCL_FOLD.CF_ITEM_ID) INNER JOIN
BASE_CYCL_FOLD AS BASE_CYCL_FOLD_1 ON BASE_CYCL_FOLD.CF_FATHER_ID =
BASE_CYCL_FOLD_1.CF_ITEM_ID) LEFT JOIN BASE_RUN ON
BASE_TESTCYCL.TC_TESTCYCL_ID = BASE_RUN.RN_TESTCYCL_ID

ORDER BY BASE_TEST.TS_TEST_ID, BASE_CYCL_FOLD_1.CF_ITEM_NAME,
BASE_CYCL_FOLD.CF_ITEM_NAME, BASE_CYCLE.CY_CYCLE,
BASE_RUN.RN_EXECUTION_DATE, BASE_RUN.RN_EXECUTION_TIME;

Si une bonne âme pouvait m'aider à "traduire" la ligne "FROM....", je lui en
serait très reconnaissant.

Merci par avance pour toute aide
Claude Barbier




Avatar
Claude Barbier
En fait, ma requête est trop compliquée pour la configurer avec l'assistant
"requete", c'est pourquoi je l'ai "codée" en utilisant le requeteur
d'Access, puisque même celui d'Excel 2003 ne le permet pas non plus.
Mon idée c'est donc d'obtenir le SQL via access et ensuite de le convertir
dans MS-QUERY (qd je crée la requete dans Excel, je décoche "Utiliser
l'assistant requete...." en page 1).

Claude


"isabelle" a écrit dans le message de news:
%
ps,

lors de la création de la requete, à la page 2 "Choisir les colonnes"
click sur le bouton "Options" et coches "requêtes"

isabelle

Claude Barbier a écrit :
Bonjour,

J'ai mis au point une requête dans Access (elle extrait des données de
tables liées issues d'une base ORACLE). Je voudrais maintenant transposer
cette requête dans Excel via MS-QUERY.
Malheureusement les syntaxes ne sont pas compatibles particulièrement au
niveau des jointures et après deux heures d'essais divers, je ne vois
toujours pas le "bout du tunnel".

Voila la requête SQL telle qu'elle est générée par Access ("BASE" est la
base de données) :

SELECT
BASE_TEST.TS_TEST_ID,
BASE_CYCL_FOLD_1.CF_ITEM_NAME,
BASE_CYCL_FOLD.CF_ITEM_NAME,
BASE_CYCLE.CY_CYCLE,
BASE_TEST.TS_STEPS,
BASE_TEST.TS_NAME,
BASE_TEST.TS_STATUS,
BASE_TEST.TS_RESPONSIBLE,
BASE_TEST.TS_CREATION_DATE,
BASE_TEST.TS_RESPONSIBLE,
BASE_TEST.TS_EXEC_STATUS,
BASE_TESTCYCL.TC_EXEC_DATE,
BASE_TEST.TS_TYPE,
BASE_TEST.TS_USER_02,
BASE_TEST.TS_USER_09,
BASE_TEST.TS_USER_01,
BASE_RUN.RN_STATUS,
BASE_RUN.RN_TESTER_NAME,
BASE_RUN.RN_EXECUTION_DATE,
BASE_RUN.RN_EXECUTION_TIME

FROM ((((BASE_TEST INNER JOIN BASE_TESTCYCL ON BASE_TEST.TS_TEST_ID =
BASE_TESTCYCL.TC_TEST_ID) INNER JOIN BASE_CYCLE ON
BASE_TESTCYCL.TC_CYCLE_ID = BASE_CYCLE.CY_CYCLE_ID) INNER JOIN
BASE_CYCL_FOLD ON BASE_CYCLE.CY_FOLDER_ID = BASE_CYCL_FOLD.CF_ITEM_ID)
INNER JOIN BASE_CYCL_FOLD AS BASE_CYCL_FOLD_1 ON
BASE_CYCL_FOLD.CF_FATHER_ID = BASE_CYCL_FOLD_1.CF_ITEM_ID) LEFT JOIN
BASE_RUN ON BASE_TESTCYCL.TC_TESTCYCL_ID = BASE_RUN.RN_TESTCYCL_ID

ORDER BY BASE_TEST.TS_TEST_ID, BASE_CYCL_FOLD_1.CF_ITEM_NAME,
BASE_CYCL_FOLD.CF_ITEM_NAME, BASE_CYCLE.CY_CYCLE,
BASE_RUN.RN_EXECUTION_DATE, BASE_RUN.RN_EXECUTION_TIME;

Si une bonne âme pouvait m'aider à "traduire" la ligne "FROM....", je lui
en serait très reconnaissant.

Merci par avance pour toute aide
Claude Barbier





Avatar
Blaise Cacramp
Bonjour ou bonsoir, selon.

Je suis loin d'être un spécialiste SQL, mais je crois qu'Access utilise une
version, disons, pas vraiment universelle.
Attendre d'autres réponses.


Cdt, Blaise
---- ---- ----


"Claude Barbier" a écrit dans le message de news:

En fait, ma requête est trop compliquée pour la configurer avec
l'assistant "requete", c'est pourquoi je l'ai "codée" en utilisant le
requeteur d'Access, puisque même celui d'Excel 2003 ne le permet pas non
plus.
Mon idée c'est donc d'obtenir le SQL via access et ensuite de le convertir
dans MS-QUERY (qd je crée la requete dans Excel, je décoche "Utiliser
l'assistant requete...." en page 1).

Claude


"isabelle" a écrit dans le message de news:
%
ps,

lors de la création de la requete, à la page 2 "Choisir les colonnes"
click sur le bouton "Options" et coches "requêtes"

isabelle

Claude Barbier a écrit :
Bonjour,

J'ai mis au point une requête dans Access (elle extrait des données de
tables liées issues d'une base ORACLE). Je voudrais maintenant
transposer cette requête dans Excel via MS-QUERY.
Malheureusement les syntaxes ne sont pas compatibles particulièrement au
niveau des jointures et après deux heures d'essais divers, je ne vois
toujours pas le "bout du tunnel".

Voila la requête SQL telle qu'elle est générée par Access ("BASE" est la
base de données) :

SELECT
BASE_TEST.TS_TEST_ID,
BASE_CYCL_FOLD_1.CF_ITEM_NAME,
BASE_CYCL_FOLD.CF_ITEM_NAME,
BASE_CYCLE.CY_CYCLE,
BASE_TEST.TS_STEPS,
BASE_TEST.TS_NAME,
BASE_TEST.TS_STATUS,
BASE_TEST.TS_RESPONSIBLE,
BASE_TEST.TS_CREATION_DATE,
BASE_TEST.TS_RESPONSIBLE,
BASE_TEST.TS_EXEC_STATUS,
BASE_TESTCYCL.TC_EXEC_DATE,
BASE_TEST.TS_TYPE,
BASE_TEST.TS_USER_02,
BASE_TEST.TS_USER_09,
BASE_TEST.TS_USER_01,
BASE_RUN.RN_STATUS,
BASE_RUN.RN_TESTER_NAME,
BASE_RUN.RN_EXECUTION_DATE,
BASE_RUN.RN_EXECUTION_TIME

FROM ((((BASE_TEST INNER JOIN BASE_TESTCYCL ON BASE_TEST.TS_TEST_ID =
BASE_TESTCYCL.TC_TEST_ID) INNER JOIN BASE_CYCLE ON
BASE_TESTCYCL.TC_CYCLE_ID = BASE_CYCLE.CY_CYCLE_ID) INNER JOIN
BASE_CYCL_FOLD ON BASE_CYCLE.CY_FOLDER_ID = BASE_CYCL_FOLD.CF_ITEM_ID)
INNER JOIN BASE_CYCL_FOLD AS BASE_CYCL_FOLD_1 ON
BASE_CYCL_FOLD.CF_FATHER_ID = BASE_CYCL_FOLD_1.CF_ITEM_ID) LEFT JOIN
BASE_RUN ON BASE_TESTCYCL.TC_TESTCYCL_ID = BASE_RUN.RN_TESTCYCL_ID

ORDER BY BASE_TEST.TS_TEST_ID, BASE_CYCL_FOLD_1.CF_ITEM_NAME,
BASE_CYCL_FOLD.CF_ITEM_NAME, BASE_CYCLE.CY_CYCLE,
BASE_RUN.RN_EXECUTION_DATE, BASE_RUN.RN_EXECUTION_TIME;

Si une bonne âme pouvait m'aider à "traduire" la ligne "FROM....", je
lui en serait très reconnaissant.

Merci par avance pour toute aide
Claude Barbier








Avatar
Claude Barbier
Bonjour,

Effectivement, avec MS-QUERY, si on établit une première jointure entre
deux tables, par exemple TESTCYCL et RUN :

FROM {oj base.TESTCYCL TESTCYCL LEFT OUTER JOIN base.RUN RUN ON
TESTCYCL.TC_TESTCYCL_ID = RUN.RN_TESTCYCL_ID}

Il est ensuite impossible d'ajouter une troisième table table, on obtient le
message :
"Il n'est possible d'utiliser que deux tables avec jointure externe"

Comme solution palliative, je vais utiliser deux requêtes figurant dans deux
onglets distincts et consolider ensuite en VB.

Cordialement,


"Blaise Cacramp" a écrit dans le message de news:


Bonjour ou bonsoir, selon.

Je suis loin d'être un spécialiste SQL, mais je crois qu'Access utilise
une version, disons, pas vraiment universelle.
Attendre d'autres réponses.


Cdt, Blaise
---- ---- ----


"Claude Barbier" a écrit dans le message de news:

En fait, ma requête est trop compliquée pour la configurer avec
l'assistant "requete", c'est pourquoi je l'ai "codée" en utilisant le
requeteur d'Access, puisque même celui d'Excel 2003 ne le permet pas non
plus.
Mon idée c'est donc d'obtenir le SQL via access et ensuite de le
convertir dans MS-QUERY (qd je crée la requete dans Excel, je décoche
"Utiliser l'assistant requete...." en page 1).

Claude


"isabelle" a écrit dans le message de news:
%
ps,

lors de la création de la requete, à la page 2 "Choisir les colonnes"
click sur le bouton "Options" et coches "requêtes"

isabelle

Claude Barbier a écrit :
Bonjour,

J'ai mis au point une requête dans Access (elle extrait des données de
tables liées issues d'une base ORACLE). Je voudrais maintenant
transposer cette requête dans Excel via MS-QUERY.
Malheureusement les syntaxes ne sont pas compatibles particulièrement
au niveau des jointures et après deux heures d'essais divers, je ne
vois toujours pas le "bout du tunnel".

Voila la requête SQL telle qu'elle est générée par Access ("BASE" est
la base de données) :

SELECT
BASE_TEST.TS_TEST_ID,
BASE_CYCL_FOLD_1.CF_ITEM_NAME,
BASE_CYCL_FOLD.CF_ITEM_NAME,
BASE_CYCLE.CY_CYCLE,
BASE_TEST.TS_STEPS,
BASE_TEST.TS_NAME,
BASE_TEST.TS_STATUS,
BASE_TEST.TS_RESPONSIBLE,
BASE_TEST.TS_CREATION_DATE,
BASE_TEST.TS_RESPONSIBLE,
BASE_TEST.TS_EXEC_STATUS,
BASE_TESTCYCL.TC_EXEC_DATE,
BASE_TEST.TS_TYPE,
BASE_TEST.TS_USER_02,
BASE_TEST.TS_USER_09,
BASE_TEST.TS_USER_01,
BASE_RUN.RN_STATUS,
BASE_RUN.RN_TESTER_NAME,
BASE_RUN.RN_EXECUTION_DATE,
BASE_RUN.RN_EXECUTION_TIME

FROM ((((BASE_TEST INNER JOIN BASE_TESTCYCL ON BASE_TEST.TS_TEST_ID =
BASE_TESTCYCL.TC_TEST_ID) INNER JOIN BASE_CYCLE ON
BASE_TESTCYCL.TC_CYCLE_ID = BASE_CYCLE.CY_CYCLE_ID) INNER JOIN
BASE_CYCL_FOLD ON BASE_CYCLE.CY_FOLDER_ID = BASE_CYCL_FOLD.CF_ITEM_ID)
INNER JOIN BASE_CYCL_FOLD AS BASE_CYCL_FOLD_1 ON
BASE_CYCL_FOLD.CF_FATHER_ID = BASE_CYCL_FOLD_1.CF_ITEM_ID) LEFT JOIN
BASE_RUN ON BASE_TESTCYCL.TC_TESTCYCL_ID = BASE_RUN.RN_TESTCYCL_ID

ORDER BY BASE_TEST.TS_TEST_ID, BASE_CYCL_FOLD_1.CF_ITEM_NAME,
BASE_CYCL_FOLD.CF_ITEM_NAME, BASE_CYCLE.CY_CYCLE,
BASE_RUN.RN_EXECUTION_DATE, BASE_RUN.RN_EXECUTION_TIME;

Si une bonne âme pouvait m'aider à "traduire" la ligne "FROM....", je
lui en serait très reconnaissant.

Merci par avance pour toute aide
Claude Barbier