Accès au contenu des cellules d'un dbgrid [Résolu]

_ben
Messages postés
6
Date d'inscription
dimanche 4 décembre 2005
Dernière intervention
29 décembre 2005
- 20 déc. 2005 à 22:10 - Dernière réponse : _ben
Messages postés
6
Date d'inscription
dimanche 4 décembre 2005
Dernière intervention
29 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?
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
vaughan
Messages postés
207
Date d'inscription
mardi 6 août 2002
Dernière intervention
29 octobre 2008
- 21 déc. 2005 à 09:32
3
Merci
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;

vaughan

Merci vaughan 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de vaughan
Meilleure réponse
cs_Adkiks
Messages postés
40
Date d'inscription
jeudi 20 mai 2004
Dernière intervention
29 janvier 2006
- 21 déc. 2005 à 23:34
3
Merci
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é.

Merci cs_Adkiks 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de cs_Adkiks
Meilleure réponse
yvessimon
Messages postés
647
Date d'inscription
mardi 22 avril 2003
Dernière intervention
9 janvier 2017
- 22 déc. 2005 à 09:44
3
Merci
Avec
DBGrid1.Colums[nc].FieldName tu as le nom du champ

DBGrid1.Colums[nc].asString tu as la valeur de l'enregistrement sélectionné

yvessimon

Merci yvessimon 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de yvessimon
_ben
Messages postés
6
Date d'inscription
dimanche 4 décembre 2005
Dernière intervention
29 décembre 2005
- 26 déc. 2005 à 14:00
0
Merci
Merci,

réponse très...complète.
Commenter la réponse de _ben

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.