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:
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.
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;
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![]()
Partager