Recherche de doublons dans une table [Résolu]

Messages postés
54
Date d'inscription
samedi 27 mars 2004
Dernière intervention
1 août 2006
- 26 juil. 2005 à 12:53 - Dernière réponse :
Messages postés
103
Date d'inscription
jeudi 16 septembre 2004
Dernière intervention
26 juillet 2007
- 26 juil. 2005 à 22:44
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
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
103
Date d'inscription
jeudi 16 septembre 2004
Dernière intervention
26 juillet 2007
- 26 juil. 2005 à 22:44
3
Merci
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

Merci roud59 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de roud59
Messages postés
1237
Date d'inscription
samedi 8 novembre 2003
Dernière intervention
3 septembre 2006
- 26 juil. 2005 à 13:01
0
Merci
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
Commenter la réponse de cs_grandvizir
Messages postés
54
Date d'inscription
samedi 27 mars 2004
Dernière intervention
1 août 2006
- 26 juil. 2005 à 13:41
0
Merci
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
Commenter la réponse de DGPat
Messages postés
1237
Date d'inscription
samedi 8 novembre 2003
Dernière intervention
3 septembre 2006
- 26 juil. 2005 à 13:54
0
Merci
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
Commenter la réponse de cs_grandvizir
Messages postés
54
Date d'inscription
samedi 27 mars 2004
Dernière intervention
1 août 2006
- 26 juil. 2005 à 14:07
0
Merci
Merci,
Je vais regarder

Ce n'est pas parce qu'on débute que l'on est forcement idiot
DGPat
Commenter la réponse de DGPat

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.