bonjour,
je cherche a réaliser un bouton de recherche par ID ou NOM ....
j'utilise ado
prière j'ai besoin d'aide
bonjour,
je cherche a réaliser un bouton de recherche par ID ou NOM ....
j'utilise ado
prière j'ai besoin d'aide
Salut,
Le bouton rechercher n'est ni plus ni moins qu'un simple bouton qui va exécuter une requête SQL ...
Tu auras donc surement un TEdit qui contiendra la valeur recherché :
La requête SQL sera quand à elle, de cette façon :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT * FROM MaTable WHERE JOINTURE AND NomTable LIKE '%ValeurDuTEdit%'
Si tu veux un peu plus d'infos, il nous faudra avoir un peu plus de détail sur ce que tu souhaite faire
bein
j'ai une petite application, ou je vais insérer des données ( nom, prenom, adresse ....);
j'ai creer
-edit
-bouton de recherche
je veux faire une recherche dans une table nomée Contact par ID
Salut
Avec un Locate sur le OnClick du bouton Recherche:
A noter que si ta table est en cours de modification (dsInsert ou dsEdit) un Post sera effectué avant le Locate.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 procedure TFormMain.ButtonRechercheClick(Sender: TObject); begin if EditRechID.Text <> '' then begin if not ADOTblContact.Locate('ID', EditRechID.Text, []) then ShowMessage('ID: ' + EditRechID.Text + ' non trouvé.'); end else ShowMessage('Veuillez saisir l''ID du contact.'); end;
@+ Claudius
La requête devrait être celle-ci :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT * FROM Contact WHERE ID := IDAChercher;
Le code delphi pour l'ID à chercher :
Ici, j'ai fait une recherche stricte. Si tu veux plus de souplesse, utilises le mot clé LIKE dans le requête ... Après tout dépend de ton besoin
Code : Sélectionner tout - Visualiser dans une fenêtre à part AdoQuery1.FieldByName('IDAChercher').AsInteger := 1;
A+
PS :
Ou utiliser la méthode de Cl@audius
salut
supposant votre table s'apple table1:
donc:
fieldname :nom de champ;table1.locate('filedname',search value,option)
searche : la valeur rechercher
option:
Option = [loCaseInsensitive ] :ne pas faire destingtion entre le majiscule et miniscule.
Option = [ loPartiaKey ] la recherche dans un partie de mot.
Option = [ loCaseInsensitive , loPartiaKey ]: concatination entre premiere et deuxieme option.
Option = [ ] :on veut pas travailer avec les options au dessus.
pour la recherche avec pusieur champs:
exemple:Locate ( 'FieldName1; FieldName2; FieldName3',VarArrayOf ( [SearchValue1,
SearchValue2, SearchValue3]),Option ) ;
vararrayof : une matrice de de variant.table1.Locate('pname;Nationalty',vararrayof([ edit1.Text,Edit2.text]) , [
locaseinsensitive , lopartialkey ] )
cordialement rec82.
Salut,
Je ferais comme ero-sennin à savoir une requête paramètrée.
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT * FROM Contact WHERE ID = :IDAChercher;
sans affectation Delphi
Le locate de cl@udius implique que la table soit ouverte. Et je suis pas fan mais bon les goûts et les couleurs.....
Bonjour,
Dans le code Delphi j'ai taper ceci :
malheureusement quand j’exécute sa m'affiche le code erreur ci-dessous, je ne comprend pas !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 sqlbdd.SQL.Clear; sqlbdd.SQL.Add( 'Select * From Draw_doc'); sqlbdd.SQL.Add ('WHERE titre like %'+ quotedstr(titre.Text)+'%'); sqlbdd.Active; sqlbdd.ExecSQL
Merci
Bonsoir,
En SQL, la syntaxe LIKE doit être :
WHERE titre like '%laChaine%'
Les % sont entre simple quote.
En Delphi ça donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 sqlbdd.SQL.Clear; sqlbdd.SQL.Add( 'Select * From Draw_doc'); sqlbdd.SQL.Add ('WHERE titre like '+ quotedstr('%'+titre.Text+'%')); sqlbdd.Active; sqlbdd.ExecSQL
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager