Premier élement d'un TDataset

Sat83 Messages postés 166 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 13 octobre 2008 - 21 juil. 2008 à 11:21
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 21 juil. 2008 à 18:42
Bonjour a tous!

Alors j'ai une petite question suite a un problème qui m'a sembler simple à la base, mais au final pas tant que ça.

Alors voici un exposer simplifier du problème :

J'ai un TQuery, un TDataSource et un TBGrid reliés entre eux. J'ai donc dans mon DBGrid les résultats de ma requête.

Le problème c'est que j'aimerais détérminer si l'element sélectionné dans le DBGrid est le premier élement de la requete (si c'est le cas, j'effectue un traitement, sinon non). A la base, je pensais regarder simplement BoF mais celui-ci n'a la valeur true qu'a l'ouverture de la requete ou apès un appel à First.

---------------------------
// ne marche pas car BoF a toujours la valeur false
if myQuery.Bof then  
begin
  // traitement
end
--------------------------

Si vous avez une solution a ce problème, je suis preneur!

Merci!

3 réponses

hajerhajer Messages postés 17 Date d'inscription vendredi 11 juillet 2008 Statut Membre Dernière intervention 30 juillet 2008
21 juil. 2008 à 13:20
slt, tu utiliser la commande
query1.first
comme ça, le query pointe sur le 1er enreg résultant sur lequel tu fait le traitement.
bn chance
0
Sat83 Messages postés 166 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 13 octobre 2008
21 juil. 2008 à 16:16
En attendant de trouver mieux, je sauvegarde le premier enregistrement lors de l'ouverture de ma requete :

------------------
myQuery.Active := true ;
ValeurDuPremierEnregistrement := myQuery.FieldByName("NOM_CLEF_PRIMAIRE").AsInteger ;
------------------

et ensuite au niveau de mon test :

---------------------------
if ValeurDuPremierEnregistrement =myQuery.FieldByName("NOM_CLEF_PRIMAIRE").AsInteger then  
begin
  // traitement
end
--------------------------

Mais je suis ouvert à d'autres idées si l'un d'entre vous a une meilleure solution!

Merci d'avance
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
21 juil. 2008 à 18:42
Bonsoir,
à l'ouverture d'un query, si rien n'est précisé, la table se cale par défaut
sur le premier enregistrement.

Bien sûr, tout dépend de ce que tu fais après...

cantador
0
Rejoignez-nous