! Requete enreg.a partir de ligne n°) X !

Fermé
tony020422 Messages postés 445 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 19 janvier 2010 - 23 juil. 2008 à 17:18
amjahed Messages postés 335 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 21 mars 2010 - 26 juil. 2008 à 19:52
Bonjour a tous et a toutes,

Je bosse sous Access 07 et j'aimerais savoir comment faire pour que ma requete ne récupére, pour les champs sélectionnés, que les enregistrements à partir de la ligne n°) 4 (c'est a dire que sur mon excel qui me sert de table sur laquelle s'applique ma requete, je ne veux pas récupérer les valeurs des lignes 1,2, et 3...

Merci par avance a tous car je ne sais pas comment faire!!
A voir également:

3 réponses

amjahed Messages postés 335 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 21 mars 2010 123
24 juil. 2008 à 04:13
0
tony020422 Messages postés 445 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 19 janvier 2010 6
24 juil. 2008 à 09:03
Bonjour, merci pour ces tutoraiux; bien qu'étant trés complet et relativement bien fait, je n'ai pas trouvé de réponse à mes questions: un cas s'en rapproche mais reste ineploitable: recueillir les enregistrements n° 50 à 100....car il convient d'abord de choisir les 100 1ers enregistrements, puis de ne garder que les 50 derniers de ces 100 choisis initialement...
Or, je voudrais récupérer TOUS mes enregistrements, sauf ceux des lignes 1,2 et 3..donc je ne vois pas comment appliquer l'aide du tuto a ce que ej voudrais faire!

Merci de m'aiguiler car je n'ai pas d'idée!!
0
amjahed Messages postés 335 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 21 mars 2010 123
24 juil. 2008 à 11:52
Au lieu de choisir 100, optez pour un nombre suffisamment grand et qui doit obligatoirement être en dehors la porté des enregistrement de la table. Exemple : 9999999
0
tony020422 Messages postés 445 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 19 janvier 2010 6
24 juil. 2008 à 12:09
merci d'etre toujours la!
J'ai fais comme le dit le tuton, en 2 requetes:
j'ai rentré dans ma 1ere requete:

Select TOP 99999 ID, ladate
FROM [ASSISTANCE 2008]
Order By ladate Asc;

Mais ca ne marche pas du tout... en même temps je ne vois pas a quoi correspond "ladate" !
pour la 2eme requete je voulais écrire:

Select TOP 3 ID, ladate (je sais pas si je dois mettre "3" pour dire que je veux les enregistrements a partir de Ligne)3
FROM Requete1
OrderBy ladate Desc;


mais je ne l'ai meme pas crée puisque la 1ere requete ne fonctionne déjà pas!

Si vous avez des idées je vous écoute !!
0
amjahed Messages postés 335 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 21 mars 2010 123
26 juil. 2008 à 19:52
Oui, ça n'a pas l'air de marcher.
Je propose (Supposant que la table est nommé La_table et qu'elle contienne un champ ID servant comme champ de tri ):
1-
Définissez variable global nb et lui attribuez :
nb = DCount("*", "La_table") - 3

Ça donne le nombre de lignes dans la table moins 3.

2-
Vous pouvez définir une requête dynamiquement, exemple :
strSQL = "SELECT TOP "
strSQL = strSQL & nb
strSQL = strSQL & " ID FROM La_table Order By ID Desc;"


Vous aurez La_table en ordre décroissant (Selon ID), avec élimination des 3 lignes d'en bas.

Ces manipulations utilisent l'onglet Modules. Ça peut paraître compliqué mais ça sera très pratique d'utiliser du code pour résoudre divers situation problème.
En espérant que ça vous sera utile.
0