Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2124 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [ACCESS] Problème de syntaxe d'une requête !

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ACCESS] Problème de syntaxe d'une requête !

n°419388
dinbougre8​88
Posté le 06-06-2003 à 14:03:20  profilanswer
 

Voilà je voudrais savoir si Access pouvait faire comme SQL Server :
 

SELECT TOP 5 * FROM MaTable


 
voilà la syntaxe qui m'intéresse "TOP". Elle permet de sélectionner un nombre maximal de lignes définies


Message édité par dinbougre888 le 10-06-2003 à 14:14:39
mood
Publicité
Posté le 06-06-2003 à 14:03:20  profilanswer
 

n°419412
Loom the G​loom
Even coders get the blues...
Posté le 06-06-2003 à 14:14:43  profilanswer
 

non


---------------
Music|Market|Feed|Loom|DVD
n°419645
MagicBuzz
Posté le 06-06-2003 à 16:00:18  profilanswer
 

t'es vraiment sûr qu'il peut pas ? :heink:
 
par contre t'as oublié de mettre un nom de champ (ou une étoile) entre le 5 et le FROM

n°422578
dinbougre8​88
Posté le 10-06-2003 à 14:14:27  profilanswer
 

euh oui désolé j'ai mal recopié, je l'avait fait et ça marche pas

n°423098
MagicBuzz
Posté le 10-06-2003 à 19:40:55  profilanswer
 

Dinbougre888 a écrit :

Voilà je voudrais savoir si Access pouvait faire comme SQL Server :
 

SELECT TOP 5 * FROM MaTable


 
voilà la syntaxe qui m'intéresse "TOP". Elle permet de sélectionner un nombre maximal de lignes définies


Bon, ben le "TOP" fonctionne, sous Access 2000 et + en tout cas :
 

SELECT a1.label, (select top 1 u1.name from correction c1, user u1 where u1.id = c1.user_id  
    and c1.id = (
        select max(correction.id) from correction where correction.article_id = a1.id))
FROM article AS a1;


 
J'ai fait cette requête tout à l'heure dans Access pour un autre topic, et je me suis apperçu qu'en fait j'utilisais un TOP.

n°425342
dinbougre8​88
Posté le 12-06-2003 à 17:50:14  profilanswer
 

MagicBuzz a écrit :


Bon, ben le "TOP" fonctionne, sous Access 2000 et + en tout cas :
 

SELECT a1.label, (select top 1 u1.name from correction c1, user u1 where u1.id = c1.user_id  
    and c1.id = (
        select max(correction.id) from correction where correction.article_id = a1.id))
FROM article AS a1;


 
J'ai fait cette requête tout à l'heure dans Access pour un autre topic, et je me suis apperçu qu'en fait j'utilisais un TOP.


 
bon bah je v essayer ce soir

n°425343
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-06-2003 à 17:51:42  profilanswer
 

en général je n'utilise que TOP 1 (je suis quasi sûr qu'il fonctionne dans Access 2000), je pense que d'autres valeurs fonctionnent aussi :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°425363
dinbougre8​88
Posté le 12-06-2003 à 18:31:58  profilanswer
 

antp a écrit :

en général je n'utilise que TOP 1 (je suis quasi sûr qu'il fonctionne dans Access 2000), je pense que d'autres valeurs fonctionnent aussi :D


 
euh une question me trotte :??:
moi j'avais fait un SELECT TOP 0 * FROM MATABLE
 
me demandez pas pk 0 mais j'en avais besoin :)

n°425386
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-06-2003 à 18:59:50  profilanswer
 

je me demande quand même pourquoi :heink:
Si c'est juste pour avoir les colonnes en général je fais WHERE ID = -1 :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°425930
dinbougre8​88
Posté le 13-06-2003 à 09:31:17  profilanswer
 

antp a écrit :

je me demande quand même pourquoi :heink:
Si c'est juste pour avoir les colonnes en général je fais WHERE ID = -1 :D


 
en fait je veux ouvrir mon recordset en écriture donc j'ai pas besoin qu'il me retourne de ligne :)
Sur sqlserver j'ai toujours fait SELECT TOP 0 * FROM MATABLE
du coup sur access j'ai fait SELECT * FROM MATABLE WHERE 0=1
ça donne la même chose que ton ID = -1 :)

mood
Publicité
Posté le 13-06-2003 à 09:31:17  profilanswer
 

n°426003
MagicBuzz
Posté le 13-06-2003 à 09:51:50  profilanswer
 

Je préfère 0=1 à ID=-1, parceque avec un peu de pas de chance, il peut y avoir un id=-1 (je l'utilise souvent quand je fais des tables avec des relations père/fils, afin de différencier l'enregistrement racine des autres)

n°426024
antp
Super Administrateur
Champion des excuses bidons
Posté le 13-06-2003 à 09:58:29  profilanswer
 

Ouais en effet 0=1 c'est encore mieux.
Pour l'id = -1 dans certains cas on est sûr que c'est impossible (autonumber par ex) puis c'est pas un drame qu'un enregistrement soit retourné :D


Message édité par antp le 13-06-2003 à 09:58:51

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°426033
MagicBuzz
Posté le 13-06-2003 à 10:00:07  profilanswer
 

antp a écrit :

Ouais en effet 0=1 c'est encore mieux.
Pour l'id = -1 dans certains cas on est sûr que c'est impossible (autonumber par ex)


Bah dans Access, pas sûr, mais en effet, c'est peut-être impossible.
 
Mais dans SQL Server, non, avec un autonumber on peut mettre -1. Il suffit de faire "set identity off" avant la requête d'inserstion, et on peut spécifier soit-même l'id à inserrer.
 
ou alors c'est "set nocount on", chais pus :D (j'utilise les deux, c'est plus simple ;))

n°426036
MagicBuzz
Posté le 13-06-2003 à 10:00:45  profilanswer
 

sinon, moi je fais "where false", c encore plus simple ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [ACCESS] Problème de syntaxe d'une requête !

 

Sujets relatifs
probleme d'affichage tableau[Access 97] importation d'un module de code complémentaire
Big problème[Apache2] Problème bizarre
[asp]Probleme d'update d'une table !!help[VBA + Access] Comment récupérer la version de tous les formulaires?
[VBA/Access] Copier un formulaire d'une appli à une autre [résolu][HTML/JS] probleme avec frame chez certain hebergeur
probleme de date ASP > SQLProbléme de Comparaison de Dates...
Plus de sujets relatifs à : [ACCESS] Problème de syntaxe d'une requête !


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR