Bonjour,

J'ai un logiciel d'édition d'étiquette qui me permet d'aller piocher des info dans une base de donnée.
Ce logiciel s'appelle Codesoft et la base de données est issue d'une base hyperfile.

Mon problème:
Je souhaiterais faire une requête SQL qui me permettrais de lire les x derniers enregistrements et ce sans lire le reste de la table.

Pourquoi? Ma base se trouve sur un serveur distant et la table comporte pas loin de 60 000 enregistrements. Lors de la lecture complete, j'ai forcement un time out !

Precision : ma table s'appelle AFFAIRE et le champ qui m'interresse s'appelle NAF

J'ai testé avec ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT AFFAIRE.NAF
 FROM AFFAIRE
ORDER BY NAF DESC 
LIMITE 1
Le "LIMIT" n'est pas reconnu.
Pour esquiver, j'ai tenté ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SELECT AFFAIRE.NAF
 FROM AFFAIRE 
WHERE NAF BETWEEN 55000 and 56000
Ca marche sur un fichier qui est sur mon disque dur mais le fichier est quand même lu en entier donc sur le serveur ça ne fonctionne pas, j'ai un message d'erreur qui dit "Erreur de définition de la requête"

Ce qu'il faudrait c'est donc une fonction qui permettrait de lire UNIQUEMENT les 1000 derniers enregistrements.

Après quelques recherches sur le net j'ai trouvé ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SELECT AFFAIRE.NAF
 FROM AFFAIRE 
WHERE NAF>55000
Là j'ai l'impression que le fichier n'est pas lu en entier. Ca fonctionne très bien sur mon disque local mais rebelotte j'ai le message d'erreur : "Erreur de définition de la requête" quand j'essaye sur le serveur

Quelqu'un aurait-il une idée???
Je vous remercie d'avance!!!