Gestion des Erreurs ACCESS [Résolu]

guitare77210 5 Messages postés vendredi 9 octobre 2009Date d'inscription 27 novembre 2010 Dernière intervention - 26 nov. 2010 à 20:47 - Dernière réponse : guitare77210 5 Messages postés vendredi 9 octobre 2009Date d'inscription 27 novembre 2010 Dernière intervention
- 27 nov. 2010 à 15:51
Chers Delphinautes,Bonsoir

J'utilise une base ACCESS avec un composant ADOTABLE nommé COMPTES

Dans cette table j'ai plusieurs champs dont

la clé primaire COMPTE sans doublon
Le champ LIBELLE qui doit être renseigné.

j'ai créé un fenêtre contenant un DDNavigator et les
deux champs COMPTE et LIBELLE.

Quand je teste la gestion des erreurs ai problemo
J'effectue mes tests avec DBNavigator

J'utilise BeforePost et OnPostErreur sans grand résultat.
- Je n'arrive pas à gérer le le champs libellé quand il est vide, même en utilisant OnBeforePost, puisqu'il va en suite faire son OnPostError

- Dans OnPostErreur je ne vois pas comment gérer finement les erreurs, de doublon, d'intégrité, Champs vide, ..
Bien sur Avant de poster ce message j'ai cherché sans résultats probant.

Existe il un exemple de gestion des erreur ADO/ACCESS ? si oui ou ?

Merci d'avance pour vos réponses
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
guitare77210 5 Messages postés vendredi 9 octobre 2009Date d'inscription 27 novembre 2010 Dernière intervention - 27 nov. 2010 à 15:51
3
Merci
Bonjour YvesSimon
Bonjour les dephinautes

Merci pour ta patience

La connexion avec la table est faite et l'affichage dans un DBGRID est possible.

Je pense avoir trouvé une soluce

pour le test des doublons j'ai créé un deuxième ADOTABLE nommé COMPTES2
en ReadOnly.
Ensuite sur la gestion de l’évènement BeforePost du composant COMPTES j'ai écris le code suivant :

var
Clé, Libellé : string;
begin
COMPTES2.Refresh; // actualiser, les enregistrement sauf celui de Table1
// qui n'est pas posté
clé := COMPTESCompte.Value;
if COMPTES2.Seek(Clé) then
raise Exception.Create('Doublon sur le compte : ' + clé);

if COMPTES.FieldByName('Compte').IsNull then
raise Exception.Create('Compte non renseigné......');

Libellé := COMPTESLibellé.Value;
if Length(Trim(Libellé)) < 1 then
raise Exception.Create('Le libellé du compte : ' + clé + ' est vide');


Je déclenche une exception à chaque erreur de saisie sur la fiche.
cela semble fonctionner.
A moins que je m'égare ??
Est ce que j'utilise la procédure correct ?

Guitare77

Merci guitare77210 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de guitare77210
yvessimon 647 Messages postés mardi 22 avril 2003Date d'inscription 9 janvier 2017 Dernière intervention - 27 nov. 2010 à 10:29
0
Merci
Bonjour,

La connexion à la table est-elle faite ?

Un affichage dans un DBGRID est-il possible ?

BON COURAGE


yvessimon
Commenter la réponse de yvessimon

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.