Bonjour a tous,

J'ai un petit probleme...
J'ai une DBGrid connecter a une base de donnees Access, et j'aimerais que l'utilisateur futur puisse remplir une "cellule" en cliquant simplement sur un bouton.

J'ai donc creer 2 boutons, AfficherV et AfficherF, avec ce code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
procedure TForm1.AfficheVClick(Sender: TObject);
 
begin
ADOquery1.SQL.Clear;
ADOquery1.SQL.Add('UPDATE prospects') ;
ADOquery1.SQL.Add('SET Bon_numero = "V"');
ADOquery1.SQL.Add('WHERE ='+QuotedStr(DBEdit5.text));
ADOquery1.ExecSQL;
DBGrid1.Refresh;
end;
 
procedure TForm1.AfficherFClick(Sender: TObject);
 
begin
ADOquery1.SQL.Clear;
ADOquery1.SQL.Add('UPDATE prospects') ;
ADOquery1.SQL.Add('SET Bon_numero = "F"');
ADOquery1.ExecSQL;
DBGrid1.Refresh;
end;
J'ai creer un DBEdit qui se rempli automatiquement du numero de telephone lorsque l'utilisateur clique sur une ligne. J'essayais donc d'utiliser ce DBEdit comme "variable" pour que la requete update la bonne ligne.



La seconde procedure met un F dans la bonne colonne (ici, bon_numero) et cela pour toutes les lignes (normal ^^). J'ai donc tester par la suite sur la premiere requete pour que seule la ligne selectionner par l'utilisateur soit updater.

Mais.... cela ne fonctionne pas, je me retrouve avec l'erreur "Erreur de syntaxe (operateur absent) dans l'expression '=""...
J'ai pas mal fafouiller sur les fora et autres google mais je tombe toujours sur des explications de cas tres complexes (au moins j'aurais des sources pour mes programmes futurs...) et rarement pour des cas simples comme celui ci... ca doit etre tout bete, mais je ne trouve pas


2eme probleme, le DBGrid.refresh; ne fonctionne pas.... je dois relancer le programme pour que les "V" ou "F" s'affichent.

Quelqu'un pourrait m'aider ?
Merci d'avance