Recherche de doublons dans une table [Résolu]

Signaler
Messages postés
53
Date d'inscription
samedi 27 mars 2004
Statut
Membre
Dernière intervention
1 août 2006
-
roud59
Messages postés
99
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
26 juillet 2007
-
Bonjour,

Avant la fonction Post dans une table Paradox je voudrais vérifier si cet enregistrement n'existe pas dans la table (saisir deux fois une facture par exemple)

j'ai essayé avec une boucle mais je dois mal formuler cette boucle car le prog plante

Si quelqu'un peut expliquer comment faire pour vérifier si un enregistrement existe je l'en remercie à l'avance.

Ce n'est pas parce qu'on débute que l'on est forcement idiot
DGPat

5 réponses

Messages postés
99
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
26 juillet 2007

Je ne pense pas que cette syntaxe SQL existe avec Pradox et voilà peut-être une autre solution :

Tu crées un autre TTable (Table2) avec le même TableName que ta table en edition (Table1)
Dans ton Table1.BeforePost tu fais :

Table2.Refresh; // actualiser, les enregistrement sauf celui de Table1 qui n'est pas posté
if Table2.Locate('Mois;Region;Imputation', VarArrayOf(cbMois.text, ...),[loCaseInsensitive]) then
raise Exception.Create('Doublon'); // par exemple

Tu peux aussi utiliser lookup. Il faut utiliser une autre table (table2) car lookup ou locate font un post sur les tables en edition.

Roud59
Messages postés
1237
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
10
Essaye la commande IF NOT EXISTS juste après le premier mot clé de la requète, style :
INSERT IF NOT EXISTS INTO ...

===========
Validez les réponses si ok...

ViewVite XP : HTML
Messages postés
53
Date d'inscription
samedi 27 mars 2004
Statut
Membre
Dernière intervention
1 août 2006

Merci GrandVizir de m'avoir répondu

C'est justement là que je plante, je ne sais pas formuler correctement cette fonction

J'ai un DBEdit qui s'appele DBEdJustificatif pour un Champ du même nom c'est justement ce champ que je veux vérifier avant de valider l'enregistrement

J'ai Bouton "Valider" sa fonction allégée est la suivante:

DModAnaly.TAnalyt.FieldByName('Mois').Value:= CbMois.Text;
DModAnaly.TAnalyt.FieldByName('Region').Value:= CbReg.Text;
DModAnaly.TAnalyt.FieldByName('Imputation').Value:= CbImput.Text;
DModAnaly.TAnalyt.Post;
end;

Pourrais tu me donner un exemple a partire de cette fonction pour que je comprenne

Merci de ta patience

Ce n'est pas parce qu'on débute que l'on est forcement idiot
DGPat
Messages postés
1237
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
10
Je ne suis pas pro du BDE de Delphi, car je ne gère des BDD qu'avec Php/MySql. C'est comme si je n'avais que le TQuery en somme...

Ce que je peux te dire pour l'instant (et ça sera tout d'ailleurs), c'est de regarder :
c:\program files\Borland\Common Files\BDE\localsql.hlp

Ca fait 101 ko et çà résume tout bien sur le SQL...

===========
Validez les réponses si ok...

ViewVite XP : HTML
Messages postés
53
Date d'inscription
samedi 27 mars 2004
Statut
Membre
Dernière intervention
1 août 2006

Merci,
Je vais regarder

Ce n'est pas parce qu'on débute que l'on est forcement idiot
DGPat