[ACCESS] Extraire N 1eres lignes d'une table

Résolu
Bonjour
j'ai besoin de votre aide pour résoudre un problème urgent qui s'exprime très simplement.

Soit une table T avec x enregistrements.
Soit un paramètre N.

Comment faire pour copier dans une nouvelle table T' (au même format que T) les N 1ers enregistrements de la table T ?

Je précise que je maitrise access pour une utilisation courante, mais que ne connais rien à VB et ne sais faire que les macros les plus simples (enchainement d'actions type "ouvrir requête"...)

J'ai essayé de créer une macro avec l'assistant Access, mais sans succès. En gros je n'arrive pas à faire intervenir la notion de boucle...ou de condition

Existe-t-il une solution élégante sans rentrer de code ? ie qu'on puisse faire avec les assistants ?

Merci par avance pour votre aide !
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  1. Il existe une propriété de requête qui s'appelle "Premières valeurs". Inscris N dans cette propriété
    0
    1. Modérateur
      Salut,
      INSERT INTO T_Prime SELECT TOP N * FROM T;
      devrait faire l'affaire...
      0
      1. Merci bcp Blux ça marche :-)

        juste une précision de plus vu mon faible niveau en SQL : que faut-il écrire pour aller chercher N dans le champ x d'une autre table ou requête Y ?

        j'ai essayé sans succès ceci

        INSERT INTO T_Prime
        SELECT TOP Y.x *
        FROM T,Y;

        A+ et merci d'avance
        0
        1. Modérateur
          Je ne sais pas si c'est possible de mettre une variable, mais en tous cas, ça ne serait pas Y.x, mais x.Y (où x est le nom du champ et Y le nom de la table...)
          INSERT INTO T_Prime
          SELECT TOP x.Y *
          FROM T,Y; 
          --
          A+ Blux
           "Les cons, ça ose tout.
          C'est même à ça qu'on les reconnait"
          0
          1. cette dernière solution ne marche pas non plus mais merci qd meme.

            Je vais donc cloturer le sujet principal en l'indiquant comme résolu et en ouvrir un autre.

            A+
            0