OVH Cloud OVH Cloud

Import de table

5 réponses
Avatar
Nicolas CONRAD
Bonjour à tous,

Voila j'ai un petit soucis, j'utilise la commande "DoCmd.TransferDatabase
acImport" pour importer une table qui n'est pas de type access et le
problème est que cette méthode importe toute la table. Cette table externe
étant énorme, j'aimerais savoir s'il est possible d'importer uniquement
certaines colonnes de cette table.

Soit en gros exécuter une requête sur la table externe avant d'importer les
données dans ma table access.

Merci de vos Réponses
A+

5 réponses

Avatar
Raymond [mvp]
Bonjour.

si tu peux importer ta base par TransferDatabase c'est que access reconnait
le type de base. Donc, au lieu d'importer, essaie d'attacher ta table
externe dans ton appli et ensuite tu feras une requête sur cette table liée.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Nicolas CONRAD" <nconrad~@~ifrance.com> a écrit dans le message de
news:eN%
Bonjour à tous,

Voila j'ai un petit soucis, j'utilise la commande "DoCmd.TransferDatabase
acImport" pour importer une table qui n'est pas de type access et le
problème est que cette méthode importe toute la table. Cette table externe
étant énorme, j'aimerais savoir s'il est possible d'importer uniquement
certaines colonnes de cette table.

Soit en gros exécuter une requête sur la table externe avant d'importer
les

données dans ma table access.

Merci de vos Réponses
A+




Avatar
Benoit Compoint [MS]
Bonjour,

On peut même faire une importation en sélectionnant certaines colonnes et
sans attacher préalablement la table.
Il suffit d'exécuter une requête du type :
SELECT * INTO MaTableCible FROM <Source>

où <Source> donne toutes les informations sur la table source, qui peut être
accessible via un driver ISAM ou ODBC.

Par exemple pour la table Employes de la base NorthwindCS :
SELECT Villes INTO LesVilles from [ODBC;Driver=SQL
Server;SERVER=(local);DATABASE=NorthwindCS;UID=sa;PWD=sesame].Employes;

Benoit Compoint

"Raymond [mvp]" wrote in message
news:
Bonjour.

si tu peux importer ta base par TransferDatabase c'est que access
reconnait

le type de base. Donc, au lieu d'importer, essaie d'attacher ta table
externe dans ton appli et ensuite tu feras une requête sur cette table
liée.


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Nicolas CONRAD" <nconrad~@~ifrance.com> a écrit dans le message de
news:eN%
Bonjour à tous,

Voila j'ai un petit soucis, j'utilise la commande
"DoCmd.TransferDatabase


acImport" pour importer une table qui n'est pas de type access et le
problème est que cette méthode importe toute la table. Cette table
externe


étant énorme, j'aimerais savoir s'il est possible d'importer uniquement
certaines colonnes de cette table.

Soit en gros exécuter une requête sur la table externe avant d'importer
les

données dans ma table access.

Merci de vos Réponses
A+








Avatar
Nicolas CONRAD
Merci pour votre aide, je vais creuser dans cette direction !
A+

"Benoit Compoint [MS]" a écrit dans le
message de news:
Bonjour,

On peut même faire une importation en sélectionnant certaines colonnes et
sans attacher préalablement la table.
Il suffit d'exécuter une requête du type :
SELECT * INTO MaTableCible FROM <Source>

où <Source> donne toutes les informations sur la table source, qui peut
être

accessible via un driver ISAM ou ODBC.

Par exemple pour la table Employes de la base NorthwindCS :
SELECT Villes INTO LesVilles from [ODBC;Driver=SQL
Server;SERVER=(local);DATABASE=NorthwindCS;UID=sa;PWD=sesame].Employes;

Benoit Compoint

"Raymond [mvp]" wrote in message
news:
Bonjour.

si tu peux importer ta base par TransferDatabase c'est que access
reconnait

le type de base. Donc, au lieu d'importer, essaie d'attacher ta table
externe dans ton appli et ensuite tu feras une requête sur cette table
liée.


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Nicolas CONRAD" <nconrad~@~ifrance.com> a écrit dans le message de
news:eN%
Bonjour à tous,

Voila j'ai un petit soucis, j'utilise la commande
"DoCmd.TransferDatabase


acImport" pour importer une table qui n'est pas de type access et le
problème est que cette méthode importe toute la table. Cette table
externe


étant énorme, j'aimerais savoir s'il est possible d'importer
uniquement



certaines colonnes de cette table.

Soit en gros exécuter une requête sur la table externe avant
d'importer



les
données dans ma table access.

Merci de vos Réponses
A+












Avatar
sirgio
Bonjour,
peut on effectuer une requete plus complexe ?? tout type de requete?
par exemple sur une base oracle:

ca passerait?

perso j'y arrive pas mais mais c'est peut etre parceque je suis
debutant!
Ma requete:

select T1."NUM_CLIENT_LIVR" "CLIENT",
T1."CODE_CIAL" "ARTICLE",
TO_NUMBER(TO_CHAR(T1."DATE_CREATION" ,'YYYY')) "AN",
TO_NUMBER(TO_CHAR(T1."DATE_CREATION" ,'MM')) "MOIS",
T1."QTE_FACTUREE" "QTE",
100*T1."MONTANT_HT_SITE" "Prixnet Euro",
100*T1."COUT_STD" "CoutRevient Euro",
T1."VALEUR1" "FAMCOM",
T1."AGENCE_CIALE" "AgentCommercial",
T1."NUMERO_CHRONO" "numFacture",
T2."TYPE_CLI_AG_FOUR" "Categorie"

from "FACT_AVOIR_CLI" T1, "CLIENTS" T2

where T1."NUM_CLIENT_LIVR"=T2."NUM_CLIENT" and
T1."DATE_CREATION" between to_date('2002-09-01
00:00:00', 'YYYY-MM-DD HH24:MI:SS') and to_date('2002-09-30 00:00:00',
'YYYY-MM-DD HH24:MI:SS') and
T1."CODE_CIAL"<>'PORT'

order by 10 asc, 1 asc, 2 asc

*******************************************************************
"Benoit Compoint [MS]" wrote in message news:...
Bonjour,

On peut même faire une importation en sélectionnant certaines colonnes et
sans attacher préalablement la table.
Il suffit d'exécuter une requête du type :
SELECT * INTO MaTableCible FROM <Source>

où <Source> donne toutes les informations sur la table source, qui peut être
accessible via un driver ISAM ou ODBC.

Par exemple pour la table Employes de la base NorthwindCS :
SELECT Villes INTO LesVilles from [ODBC;Driver=SQL
Server;SERVER=(local);DATABASE=NorthwindCS;UID=sa;PWD=sesame].Employes;

Benoit Compoint



Avatar
Benoit Compoint [MS]
Bonsoir,

Vous pouvez effectivement effectuer des requêtes SELECT INTO aussi complexes
que la vôtre (utilisation de fonctions et d'une jointure).
Mais les requêtes de type SELECT INTO diffèrent de votre requête puisque ce
ne sont pas des requêtes "SQL Direct".
Les fonctions définies au niveau d'Oracle ne sont donc pas utilisables dans
ces requêtes SELECT INTO.
Mais vous pouvez utiliser des fonctions VBA à la place des fonctions
"Oracle".

En reprenant votre exemple, vous pouvez essayer de remplacer :
TO_CHAR(T1."DATE_CREATION" ,'YYYY')
par :
Format(T1.DATE_CREATION ,'YYYY')
ou par :
Year(T1.DATE_CREATION)

Benoit Compoint


"Serge" wrote in message
news:
Bonjour,
peut on effectuer une requete plus complexe ?? tout type de requete?
par exemple sur une base oracle:

ca passerait?

perso j'y arrive pas mais mais c'est peut etre parceque je suis
debutant!
Ma requete:

select T1."NUM_CLIENT_LIVR" "CLIENT",
T1."CODE_CIAL" "ARTICLE",
TO_NUMBER(TO_CHAR(T1."DATE_CREATION" ,'YYYY')) "AN",
TO_NUMBER(TO_CHAR(T1."DATE_CREATION" ,'MM')) "MOIS",
T1."QTE_FACTUREE" "QTE",
100*T1."MONTANT_HT_SITE" "Prixnet Euro",
100*T1."COUT_STD" "CoutRevient Euro",
T1."VALEUR1" "FAMCOM",
T1."AGENCE_CIALE" "AgentCommercial",
T1."NUMERO_CHRONO" "numFacture",
T2."TYPE_CLI_AG_FOUR" "Categorie"

from "FACT_AVOIR_CLI" T1, "CLIENTS" T2

where T1."NUM_CLIENT_LIVR"=T2."NUM_CLIENT" and
T1."DATE_CREATION" between to_date('2002-09-01
00:00:00', 'YYYY-MM-DD HH24:MI:SS') and to_date('2002-09-30 00:00:00',
'YYYY-MM-DD HH24:MI:SS') and
T1."CODE_CIAL"<>'PORT'

order by 10 asc, 1 asc, 2 asc

*******************************************************************
"Benoit Compoint [MS]" wrote in message
news:...

Bonjour,

On peut même faire une importation en sélectionnant certaines colonnes
et


sans attacher préalablement la table.
Il suffit d'exécuter une requête du type :
SELECT * INTO MaTableCible FROM <Source>

où <Source> donne toutes les informations sur la table source, qui peut
être


accessible via un driver ISAM ou ODBC.

Par exemple pour la table Employes de la base NorthwindCS :
SELECT Villes INTO LesVilles from [ODBC;Driver=SQL
Server;SERVER=(local);DATABASE=NorthwindCS;UID=sa;PWD=sesame].Employes;

Benoit Compoint