Recherche de doublons dans une table [Résolu]

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

5 réponses

Répondre au sujet
roud59 103 Messages postés jeudi 16 septembre 2004Date d'inscription 26 juillet 2007 Dernière intervention - 26 juil. 2005 à 22:44
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de roud59
cs_grandvizir 1237 Messages postés samedi 8 novembre 2003Date d'inscription 3 septembre 2006 Dernière intervention - 26 juil. 2005 à 13:01
0
Utile
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
DGPat 54 Messages postés samedi 27 mars 2004Date d'inscription 1 août 2006 Dernière intervention - 26 juil. 2005 à 13:41
0
Utile
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
cs_grandvizir 1237 Messages postés samedi 8 novembre 2003Date d'inscription 3 septembre 2006 Dernière intervention - 26 juil. 2005 à 13:54
0
Utile
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
DGPat 54 Messages postés samedi 27 mars 2004Date d'inscription 1 août 2006 Dernière intervention - 26 juil. 2005 à 14:07
0
Utile
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.