L'instruction TOP

cs_comme Messages postés 122 Date d'inscription dimanche 19 mars 2006 Statut Membre Dernière intervention 18 juillet 2009 - 29 avril 2006 à 00:10
cs_comme Messages postés 122 Date d'inscription dimanche 19 mars 2006 Statut Membre Dernière intervention 18 juillet 2009 - 29 avril 2006 à 17:15
Bonsoir
 Toujours en visual basic,une connexion à l'aide de l'objet ADO je souhaite selectionner quelques enregistrements  d'une table (ACCESS) , à l'aide d'une instruction Sql :
tout le monde me dit qu'il faut faire comme ça:
SELECT TOP 10  FROM  Matable, cela fonctionne  bien pour les 10 premiers enregistrements, mais si je veux avoir les enreg de 10 à 20, de 20 à 30....... comment peut on agir avec  TOP.
Remarque: l'instruction  'LIMIT x,y  '  de MySql  ne fonctionne pas avec le vb.
quelqu'un peut me dir comment resoudre ce problème .

5 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
29 avril 2006 à 15:03
Salut,

Regarde cette page,

http://www.devparadise.com/technoweb/code/sql/a453.php

bien sur c'est moins rapide q'un vrai limite mais c'est déjà mieux que rien.

Bon prog
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
29 avril 2006 à 15:31
Bonjour,

C'est bizarre !

Je pensais que "TOP 10" servait à extraire les 10 premiers recordsets,
si je ne trompe pas.
Pour ouvrir une base Access,j 'utilise:

MaRequete = "SELECT JOBID,AMJ FROM " & MaTable & " ORDER BY AMJ"

'MaRequete = SELECT TOP 10 JOBID,RON FROM " & MaTable... permet de lire les 10 premiers recordsets

jean-marc
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
29 avril 2006 à 15:36
Re,

Autant pour moi,

Il suffit de changer le "TOP nn" et relire la base dans une boucle, ou
éventuellement d'utiliser un Randomize.

jean-marc
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
29 avril 2006 à 16:11
Salut,

JMO je ne vois pas enquoi un randomize est utilisable.

Il faut mettre un order by pour etre sur de l'ordre, et utilisé la solution que j'ai indiqué.
Il n'y a pas d'autre solution.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_comme Messages postés 122 Date d'inscription dimanche 19 mars 2006 Statut Membre Dernière intervention 18 juillet 2009
29 avril 2006 à 17:15
Bonsoir NHERVAGAULT
j'ai proposé cette discussion concernat l'utilisation de top dans une instruction sql,beaucoup de personne ont le meme souci,ta réponse (l'adresse www.Devparadise.com) est impécable.
la seule solution pour le moment est l'incrementation de 3 instructions select.
Merci .....
0
Rejoignez-nous