Bonjour!
Comment faire pour convertir ou traiter toutes les lignes d'une colonne d'un DataGrid ou d'un DBGrid?
Version imprimable
Bonjour!
Comment faire pour convertir ou traiter toutes les lignes d'une colonne d'un DataGrid ou d'un DBGrid?
salut
As-tu dans ton recordset des données provenant d'un recordset?
Oui, en fait les données le résultat d'une requête sur une base
tu fais une boucle
Est-ce que ça te va?Code:
1
2
3
4
5
6
7
8
9
10 'Faire jusqu'à la fin du recordset do while Recordset.EOF 'Ton traitement sur le champs que tu veux ... 'On passe à l'enregistrement suivant Recordset.MoveNext Loop
Ca pourrais m'aller ! :) Mais je n'arrive pas à modier les valeurs d'un champs :(
tu voudrais modifier un champs par requête sql?
En fait dans la table de ma base, il y a une colonne avec des numéro. Mon but est de les convertir en lettres. Pour ça j'ai une fonction qui me permet la convertion.
J'aimerai convertir la colonne à partir de VB sois avec une requête SQL (je ne pense pas que ce soit possible), soit effectuer la conversion dans le recordset
pas tout compris, faut-il modifier la base de données en insérant les nouvelles valeurs converties ou y a-t-il convertion pour ton traitement plus tard?
En fait il faut convertir la colonne pour un traitement (à l'affichage par exemple), mais pas dans la base.
ce que tu peux faire, c'est effectuer le traitement dans ta boucle (un peu bourrin), c'est à dire que chaque fois que tu es sur un enregistrement, tu fais ta conversion, tu la traites et tu passes à la suivante.
oui c'est ce que je pensais faire, mais je n'y arrive pas en fait :s
dans ta boucle:
1) je récupère le champs qui me va bien,
2) je le converti et enregistre la chaine convertie dans une nouvelle variable,
3) j'utilise cette variable selon mes besoins
En fait c'est au niveau technique, c'est un truc du genre que je voudrais faire:
Je pense que je ne m'y prend pas super :roll:Code:
1
2
3
4
5
6
7
8
9
10
11
12 Do While DataAffichageSuiviDétaillé.Recordset.EOF Temp= DataAffichageSuiviDétaillé.Recordset.Fields("CHAMP_A_CONVERT").Value resu = Conversion(Temp) DataAffichageSuiviDétaillé.Recordset.Fields("CHAMP_A_CONVERT").Value = resu Recordset.MoveNext Loop
plutôt comme ça non?Code:
1
2
3
4
5
6
7
8 Do While Recordset.EOF Temp= Recordset!NomChamps resu = Conversion(Temp) Recordset.MoveNext Loop
Ben en fait une fois la conversion effectuée, j'aimerais remplacer la valeur par la valeur convertie, c'est pas possible?
mais remplacer où? dans la base ou dans le dataGrid
Excuse moi si c'est pas très clair :s
Juste dans la datagrid, pas de motif dans la base
je ne crois pas que ce soit possible de changer les valeurs du DataGrid, mais je peux me tromper,
as-tu réussi à afficher toutes les données dans le datagrid?
Oui j'ai bien réussi
y'as beaucoup d'enreg a récupéré en plus du champ à modifier?