Locate

Signaler
Messages postés
8
Date d'inscription
mardi 31 octobre 2000
Statut
Membre
Dernière intervention
11 septembre 2002
-
Messages postés
1
Date d'inscription
samedi 16 avril 2011
Statut
Membre
Dernière intervention
12 janvier 2012
-
bonjour, j'ai un locate qui marchait et qui ne marche plus. l'erreur est une violation de clé je ne comprends vraiment pas.

voici mon code:
with joueur do
Locate ('J_login', VarArrayOf ([edit7.text]),[loPartialKey]);

J_login est l'index (l'identifiant) de ma table joueur.
Edit7.text contient le nom du joueur qui me permet de me placer sur sa ligne dans la table.
aurais-je oublié une option,dans les proprietes de la table?

merci :)

2 réponses

Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
28
1/- La méthode Locate renvoie une valeur booléenne.
2/- Utiliser loCaseInsensitive dans les options de recherche.
3/- avant de continuer, vérifier que l'enregistrement existe bel et bien, sinon, tu as de fortes chances d'obtenir uen violation de clé...

En résumé :
with joueur do
if Locate ('J_login', VarArrayOf ([edit7.text]),[loPartialKey, loCaseInsensitive]) then
begin...end
else
ShowMessageFmt('%s non trouvé !',[edit7.text]);

May Delphi be with you.
Delphi advanced
Messages postés
1
Date d'inscription
samedi 16 avril 2011
Statut
Membre
Dernière intervention
12 janvier 2012

bonjour, j'ai un locate qui ne marche pas comme il faut ????????
saisieDAIS.extraitSaisier.Tabsaisie.Edit ;
if(((FrmRech.Table1.Locate('PrenomAR',edit1.Text,[loCaseInsensitive]))and
(FrmRech.Table1.Locate('NomAR',edit2.Text,[loCaseInsensitive]))
or(FrmRech.Table1.Locate('PrenomAR',edit2.Text,[loCaseInsensitive]))and
(FrmRech.Table1.Locate('NomAR',edit1.Text,[loCaseInsensitive])) and
(FrmRech.Table1.Locate('Datenaiss',edit3.Text,[loCaseInsensitive]))))