Affecter des valeurs à un champ

cs_tommyy Messages postés 7 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 12 mai 2004 - 20 févr. 2004 à 20:56
cs_tommyy Messages postés 7 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 12 mai 2004 - 21 févr. 2004 à 11:01
Bonjour ,j'ai une fiche de renseignement reliée à une table avec un dbcombobox(item A,B,C,D).Comment peut-on sur un click faire passer automatiquement les personnes qUI SONT DANS LE GROUPE A DANS LE GROUPE B ,du B dans le C.....Mais pas pour le dernier groupe

à un bouton click
Table1.edit;
if Table1.FieldByName('Niveau').AsString= 'A'then

Table1.FieldByName('Niveau').AsString:= 'B'

ça marche pour une fiche mais comment balayer toute la table?
Comment faire passer dans le meme click B dans le C?
merci

4 réponses

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
20 févr. 2004 à 23:56
Certes, tu peux y parvenir en parcourant tous les enregistrements d'une table et en comparant chacun à une valeur pour savoir si tu dois effectuer les changements.

Mais il y a plus radical et efficace comme méthode : l'emploi d'une requête SQL :update 'NomTable' set niveau 'C' where niveau 'B'

changera le contenu de la colonne 'Niveau' de tous les enregistrements pour lesquels la valeur est 'B'
en prenant soin de commencer par la fin, c'est à dire de B->C puis de A->B
Attention : c'est la méthode ExecSql qu'il faudra appeler et non la méthode Open pour le composant TQuery.
May Delphi be with you
0
cs_tommyy Messages postés 7 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 12 mai 2004
21 févr. 2004 à 08:18
Merci de ton aide.Mais je débute et je ne sais pas faire la difference entre les 2 methodes sql.Pourrais tu m'expliquer davantage?
merci
0
cs_tommyy Messages postés 7 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 12 mai 2004
21 févr. 2004 à 09:38
j'ai trouvé un controle tupdatesql (UpdateSQL1) qui genere ça mais comment l'executer

update group
set
Niveau = :B
where
Niveau = :A
merci
0
cs_tommyy Messages postés 7 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 12 mai 2004
21 févr. 2004 à 11:01
finalement j'ai trouvé çà

à un bouton click plus tquery deposer sur form

uery1.SQL.Clear;
Query1.SQL.Add('UPDATE group SET Niveau="B" WHERE Niveau="A'');

Query1.ExecSQL;

mais comment faire pour qu'ils passent tous en meme sur un click
merci
0
Rejoignez-nous