IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Transformer le résultat d'une requête en table


Sujet :

Requêtes et SQL.

  1. #1
    Futur Membre du Club
    Homme Profil pro
    autre
    Inscrit en
    Septembre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut Transformer le résultat d'une requête en table
    Bonjour,

    Nouveau sur ce forum et relativement novice dans Access, je sollicite votre aide.

    J'ai importé dans Access un fichier .csv de 3 millions de lignes sur 100 colonnes (avec champs en-tête) et j'en ai fait une table "matable".


    A partir de cette table je réalise une extraction aléatoire de 1000 lignes, grâce à la requête SQL suivante :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT TOP 1000 *
    FROM (SELECT Rnd(ID) AS RandomValue, * FROM matable)  AS [%$##@_Alias]
    ORDER BY RandomValue;

    J’obtiens alors cette extraction sous forme de tableau.
    Jusqu’ici tout va bien.

    Ce que je n’arrive pas à faire, c’est, une fois que j’ai obtenu cette extraction (ce tableau), pouvoir l’enregistrer en table dans Access afin de pouvoir en disposer comme table…
    C’est sans doute simple, mais je bloque.

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour et bienvenue parmi nous,


    À mon avis, comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT TOP 1000 * INTO LaCible
    FROM [SELECT Rnd(ID) AS RandomValue, * FROM matable]. AS [%$##@_Alias]
    ORDER BY [%$##@_Alias].RandomValue;

    Ou, plus simplement avec le QBE :


    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Futur Membre du Club
    Homme Profil pro
    autre
    Inscrit en
    Septembre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Bonjour et merci

    Il faut donc que je définisse la table "macible" avant (avec les mêmes champs) ?

    Cordialement

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Non, c'est inutile : Access le fait pour toi.

    Vois l'exemple en annexe
    Fichiers attachés Fichiers attachés
    • Type de fichier : zip tst.zip (15,3 Ko, 267 affichages)
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  5. #5
    Futur Membre du Club
    Homme Profil pro
    autre
    Inscrit en
    Septembre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Merci
    Je vais essayer

  6. #6
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Je vais essayer
    Préviens-nous si ça provoque le reformatage de ton disque dur !
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  7. #7
    Futur Membre du Club
    Homme Profil pro
    autre
    Inscrit en
    Septembre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    je viens d'essayer et Access me renvoie le message suivant :
    "Impossible d'exécuter la requête. La taille du résultat de la requête est supérieure à la taille d'une base de données (2Go) ou bien l'espace de stockage temporaire sur le disque est insuffisant pour stocker le résultat."

    Pourtant, en exécutant la requête précédente, il me donnait bien une extraction ?!?

  8. #8
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Là, je passe : mes connaissances techniques sont insuffisantes ! Désolé de ne pouvoir t'aider.

    Mais un autre forumeur prendra sans doute le relais...
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  9. #9
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    tu veux enregistrer le résultat de ta requête dans une table temporaire (pour pouvoir réutiliser le résultat dans une autre requete)? ou dans une table fixe (pour pouvoir enregistrer le résultat de manière permanente)?
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  10. #10
    Futur Membre du Club
    Homme Profil pro
    autre
    Inscrit en
    Septembre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par skeud Voir le message
    tu veux enregistrer le résultat de ta requête dans une table temporaire (pour pouvoir réutiliser le résultat dans une autre requete)? ou dans une table fixe (pour pouvoir enregistrer le résultat de manière permanente)?
    Bonjour,
    Ce que je souhaite, c'est extraire, en tirage aléatoire, un échantillon de 10 000 lignes de cette base de 3 millions (cela peut être 4), puis exporter cette extraction vers Excel pour effectuer un certain nombre de calculs statistiques sur cette extraction.

    Lorsque j'exécute la 1ère requête sur la base (requête SQL que j'ai donnée plus haut / sans création de table), Access me retourne bien l'extraction voulue sous forme de tableau.
    Mais lorsque je tente un export direct vers Excel (ou un .txt) de ce tableau, Access me renvoie exactement le même message ("impossible...") que si je tente d'obtenir directement une table via la requête fournie par ClaudeLELOUP.


    Une solution ?

    Merci

  11. #11
    Futur Membre du Club
    Homme Profil pro
    autre
    Inscrit en
    Septembre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Quelqu'un aurait-il des pistes en ce qui concerne ce message suite à l'exécution des requêtes détaillées ci-dessus ?

    Merci

  12. #12
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonsoir,


    Citation Envoyé par vbhdbms Voir le message
    Ce que je n’arrive pas à faire, c’est, une fois que j’ai obtenu cette extraction (ce tableau), pouvoir l’enregistrer en table dans Access afin de pouvoir en disposer comme table…
    C’est sans doute simple, mais je bloque.
    Avez-vous essayé INSERT INTO ?

    Exemple :

    Vous définissez une table (appelons-la TOP1000) dont l’en-tête (la liste des noms des colonnes) est constitué du nom RandomValue, suivi des noms des colonnes constituant l’en-tête de la table matable.

    Ensuite, vous exécutez la requête :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    INSERT INTO TOP1000 
        SELECT TOP 1000 *
        FROM   (SELECT Rnd(ID) AS RandomValue, * FROM matable)  AS [%$##@_Alias]

    Sans oublier de commencer par faire le ménage pour vider TOP1000 les fois suivantes. Disons que le paquet est le suivant :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    DELETE FROM TOP1000 ;
     
    INSERT INTO TOP1000 
        SELECT TOP 1000 *
        FROM   (SELECT Rnd(ID) AS RandomValue, * FROM matable)  AS [%$##@_Alias] ;

    Si le résultat est bien limité à 1000 lignes, l’export ne devrait pas poser de problème...
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  13. #13
    Futur Membre du Club
    Homme Profil pro
    autre
    Inscrit en
    Septembre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Bonjour et merci

    J'ai donc utilisé la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO TOP1000 
        SELECT TOP 1000 *
        FROM   (SELECT Rnd(ID) AS RandomValue, * FROM matable)  AS [%$##@_Alias];
    Access ajoute alors (très rapidement) les 1000 premières lignes de matable à TOP1000. Ce n'est donc pas le résultat que je souhaite puisque l'objectif est d'obtenir un échantillon aléatoire sur les 3 millions de lignes de matable.

    J'ai donc modifié le code comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO TOP1000 
        SELECT TOP 1000 *
        FROM   (SELECT Rnd(ID) AS RandomValue, * FROM matable)  AS [%$##@_Alias]
        ORDER BY [%$##@_Alias].RandomValue;
    Et malheureusement j'ai alors à nouveau le message "Impossible d'exécuter la requête. La taille du résultat de la requête est supérieure à la taille d'une base de données (2Go) ou bien l'espace de stockage temporaire sur le disque est insuffisant pour stocker le résultat."...

    Comment contourner cela ?
    Merci

  14. #14
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonjour,


    Manifestement c’est la clause « Order By » qui pose un problème : on a l’impression qu’ACCESS commence par trier les 3 millions de lignes avant de retenir l’échantillon voulu.

    Je vais regarder cela de plus près, voir comment contourner.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  15. #15
    Futur Membre du Club
    Homme Profil pro
    autre
    Inscrit en
    Septembre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Re-bonjour,

    Afin de répondre à mon besoin, j'ai finalement trouvé une solution toute simple : une fois l'extraction réalisée via la 1ère requête que j'ai décrite en début de discussion, je sélectionne toutes les lignes obtenues aléatoirement (même si je n'ai pas de table à proprement parlé), je les copie et je les colle dans une feuille Excel !

    Cela permet de répondre à mon besoin bien que la solution n'ait pas été trouvée dans Access (raison pour laquelle je ne mets pas "résolu").

    Merci encore

  16. #16
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonsoir,


    Dans la mesure où vous avez besoin de trier les 3 millions de lignes, ACCESS a besoin de place pour les fichiers temporaires, il va donc falloir faire des économies...

    J’utilise ACCESS 2003. Je propose le scénario suivant, et vous me direz si ça continue à coincer...

    1) Je définis une structure pour la table MaTable (deux colonnes suffiront pour l'exercice...) :




    Et j’insère une vingtaine de lignes, ça suffit a priori pour tester :




    2) Je définis la structure d’une table intermédiaire, appelons-la Top1000Id, ne comportant que deux colonnes : une colonne pour les valeurs aléatoires, nommée RandomValue, et une colonne ID hébergeant les 3 millions de clés reprises depuis la table MaTable. Je définis {RandomValue} comme clé primaire de la table (en espérant qu’il n’y aura pas de doublons...), en conséquence la clause « ORDER BY » devient inutile et on peut se dispenser du tri (l’index utilisé pour la clé primaire coûte moins cher) :




    Pour peupler la table Top1000Id :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO Top1000Id ( RandomValue, ID )
        SELECT x.RandomValue AS RandomValue, x.PK AS ID
        FROM   (SELECT RND(ID) AS RandomValue, ID AS PK FROM MaTable)  AS x;

    Contenu de la table Top1000Id après insert (et qui contiendra 3 millions de lignes, mais de taille beaucoup plus réduite) :




    3) Structure de la table Resultat destinée à contenir le résultat final :


    Où les colonnes ID et col1 reprennent la structure définie pour MaTable.


    Pour peupler la table Resultat :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    INSERT INTO Resultat ( RandomValue, ID, Col1 )
        SELECT y.RandomValue, x.ID, x.Col1
        FROM   Matable AS x INNER JOIN (SELECT TOP 10 RandomValue, ID FROM Top1000Id ORDER BY RandomValue)  AS y ON x.ID = y.ID;

    Le tri a été déporté, espérons que ça ne coincera pas, car les ressources requises sont quand même plus réduites...

    Après exécution de la requête :




    Qu’est-ce que ça donne chez vous ? Si ça coince toujours, on creusera...
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  17. #17
    Futur Membre du Club
    Homme Profil pro
    autre
    Inscrit en
    Septembre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Bonsoir,

    Merci tout d'abord de vous être repenché sur ce problème.

    Comme indiqué précédemment j'ai trouvé une solution qui répond précisément à mon besoin via le copier-coller vers Excel.

    Côté Access, il me semble que le problème de limitation tient justement au dimensionnement de la base de départ. Or celles que j'utilise comportent entre 3 et 4 millions de lignes sur une centaine de colonnes.
    De ce fait, l'enchaînement que vous proposez ci-dessus ne risque-t-il pas de passer à côté du problème en limitant le traitement à 2 ou 3 colonnes ?

    Cordialement

  18. #18
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonsoir,


    Citation Envoyé par vbhdbms Voir le message
    Côté Access, il me semble que le problème de limitation tient justement au dimensionnement de la base de départ. Or celles que j'utilise comportent entre 3 et 4 millions de lignes sur une centaine de colonnes.
    Comptons en moyenne 8 octets par colonne. Si vous avez 100 colonnes, pour chaque ligne vous consommez 800 octets . Pour 3 millions de lignes, il faut compter 2,4*10^9 octets à trier (sans compter les octets « de service »), d’où les récriminations d’ACCESS.

    Avec mon système, ACCESS doit trier une table ne comportant que deux colonnes (table Top1000Id), 8 octets pour la colonne RandomValue et 4 octets pour la colonne ID, soit 12 octets par ligne. Pour 3 millions de lignes : 36 millions d’octets en tout : on est loin des 2 giga-octets, on a de la marge...



    Citation Envoyé par vbhdbms Voir le message
    l'enchaînement que vous proposez ci-dessus ne risque-t-il pas de passer à côté du problème en limitant le traitement à 2 ou 3 colonnes ?
    Certainement pas ! Certes, la table MaTable que j’ai mise en œuvre ne comporte pas 100 colonnes, (1) accessoirement parce que je n’ai pas le courage de définir une structure de 100 colonnes, (2) fondamentalement parce qu’a part la colonne ID, les 99 autres colonnes ne participent pas au tri ! (Sachant qu'on va bien entendu les retrouver par la suite).


    La production du résultat final (dans lequel sont évidemment parties prenantes cette fois-ci les 100 colonnes) passe par la jointure sur l’attribut ID de la table Top1000Id et de la table MaTable (à 100 colonnes). Pour un top 1000, la table Resultat comporte 1000 lignes, avec lesquelles on retrouve les 100 colonnes initiales, mais sur la base de 800 octets par ligne (cf. ci-dessus), la taille du résultat est de l’ordre de 800*1000, soit 0,8 mégaoctets. Si c’est un Top 10000, on consomme 8 mégaoctets, on a encore de la marge...


    Excel récupérera bien un résultat complet. Sommes-nous en phase cette fois-ci ?
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  19. #19
    Futur Membre du Club
    Homme Profil pro
    autre
    Inscrit en
    Septembre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2014
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Merci pour ces explications.

    J'ai tenté ce que vous indiquez pour une extraction aléatoire de 10000 lignes sur un fichier MaTable de 4 millions de lignes et 100 colonnes.
    A l'exécution de la 1ère requête (pour remplir la table temporaire Top10000ID, Access me renvoie le message suivant :
    Nom : Copie2.jpg
Affichages : 4487
Taille : 227,9 Ko

    Après validation, la table temporaire Top10000ID contient 2 lignes.


    Mais comme indiqué précédemment, la solution par copier-coller vers Excel me convient et est finalement beaucoup plus simple à mettre en oeuvre.

  20. #20
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonsoir,


    Le message produit par ACCESS est clair : lors du transfert des données d’une table à l’autre, le type de ces données n’est pas le même pour telle(s) ou telle(s) colonne(s). Du coup, vous ne cherchez plus à relever votre défi initial, à savoir loger le résultat dans une table ACCESS, alors que c'est faisable : soit.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [PHP 5.3] Affichage du résultat d'une requête multi-table sur plusieurs pages
    Par leaston dans le forum Langage
    Réponses: 2
    Dernier message: 20/08/2011, 16h19
  2. enregistrer le résultat d'une requête comme table, comment fait-on ?
    Par Monbasinstinct dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 18/02/2007, 16h21
  3. Réponses: 2
    Dernier message: 02/06/2006, 11h26
  4. Transformer les résultats d'une requête dans un autre ordre
    Par keikun dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 12/04/2006, 16h29
  5. Insérer le rsultat d'une requète dans un table
    Par MadMarc dans le forum Access
    Réponses: 4
    Dernier message: 25/01/2006, 12h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo