_ben
Messages postés6Date d'inscriptiondimanche 4 décembre 2005StatutMembreDernière intervention29 décembre 2005
-
20 déc. 2005 à 22:10
_ben
Messages postés6Date d'inscriptiondimanche 4 décembre 2005StatutMembreDernière intervention29 décembre 2005
-
26 déc. 2005 à 14:00
Bonjour,
je veux parcourir le contenu du premier champ (toutes les lignes) d'un
DBGrid afin d'en comparer le contenu avec le contenu d'une cellule d'un
TStringgrid..comment faire?
J'ai trouvé la valeur Query.RecordCount comme limite de ma boucle....(nombre d'enregistrements contenu dans le DBGrid donc)
mais je ne sais pas comment récupérer la valeur du champ de l'enregistrement n puis n+1..puis n+2 etc...?
DBGrid.Fields[0].AsString...mais comment sélectionner la valeur
du champ dans la première ligne...puis la deuxième ligne etc?
OU est ce que je suis positionné par défaut pour lire le contenu d'un champ?
vaughan
Messages postés198Date d'inscriptionmardi 6 août 2002StatutMembreDernière intervention29 octobre 2008 21 déc. 2005 à 09:32
Voici une solution, il en existe toujours un max ...
Tu vas utiliser un DBNavigator que tu va mettre en "hide" afin de ne pas le voir à l'écran et le connecter à ta DBGrid.
Ensuite il te reste à faire ce genre de code :
For vCptChamps:=0 To DataSource.DataSet.RecordCount-1 Do
Begin
// Ton traitement champ 1
... := DBGridW.Fields[0].AsString;
// Ton traitement champ 2
...:= DBGridW.Fields[1].AsString;
// Ligne suivante Suivant
DBNaviW.BtnClick(nbNext);
End;
Attnetion si tu navige dans ta DBGrid remettre le DBNavigator à la première occurence avant traitement ...
Pour Avoir les informations de la ligne sélectionnée, simplement faire :
// Ton traitement champ 1
... := DBGridW.Fields[0].AsString;
cs_Adkiks
Messages postés40Date d'inscriptionjeudi 20 mai 2004StatutMembreDernière intervention29 janvier 2006 21 déc. 2005 à 23:34
Si je comprends bien tu utilises une requete.Alors ton probleme est facile à résourdre.Le DBGrid est simplement un outil de visualisation.C'est la requete que tu vas utiliser pour parcourir les champs.C'est la meme chose qu'avec une table.
Dans ton exemple: Query.RecordCount est le nombre d'enregistrement. Admettons que vous avez un champs nommé NomCl:
Query.FieldByName('NomCl').AsString donne accés au champs NomCl.
En résumé c'est comme tu utilises une table.j'espere vous avoir un peu aidé.