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

Résolu/Fermé
16-MARCO Messages postés 8 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 7 mars 2007 - 23 févr. 2007 à 18:27
16-MARCO Messages postés 8 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 7 mars 2007 - 26 févr. 2007 à 11:37
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 !

4 réponses

programmeur_access.com
23 févr. 2007 à 21:46
Il existe une propriété de requête qui s'appelle "Premières valeurs". Inscris N dans cette propriété
0
blux Messages postés 24654 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 25 novembre 2022 3 273
23 févr. 2007 à 22:12
Salut,
INSERT INTO T_Prime SELECT TOP N * FROM T;
devrait faire l'affaire...
0
16-MARCO Messages postés 8 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 7 mars 2007
24 févr. 2007 à 01:10
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
blux Messages postés 24654 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 25 novembre 2022 3 273
25 févr. 2007 à 14:54
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
16-MARCO Messages postés 8 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 7 mars 2007
26 févr. 2007 à 11:37
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