La propriété de clé primaire n'est pas valide

Résolu
ducker88 Messages postés 277 Date d'inscription lundi 9 février 2004 Statut Membre Dernière intervention 4 mai 2008 - 26 janv. 2007 à 11:05
ducker88 Messages postés 277 Date d'inscription lundi 9 février 2004 Statut Membre Dernière intervention 4 mai 2008 - 29 janv. 2007 à 17:20
Bonjour à tous,

Voici mon problème, auquel je ne trouve aucune solution.
J'ai une database et dans celle-ci j'ai une table qui me renvoi l'erreur "La propriété de clé primaire n'est pas valide, validez la base de données".

j'ai donc ouvert la base en mode exclusif et j'ai fait un "validate database" mais ca ne resoud pas le problème. Avez vous une solution à me proposer ?

Merci d'avance pour votre aide.

duck88

6 réponses

michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
29 janv. 2007 à 11:39
Pour corriger, il faut la clause RECOVER dans le validate data (c'est très mal documenté dans l'aide, je sais)

quand une table est rattachée à un dbc, l'expression de clé primaire est référencée dans le dbc (donc quand ça crashe, ça crashe dans le dbf, le cdx, ET le dbc...)

attention, si tu as des triggers ou des clés externes qui sont basés sur cette clé primaire, le VALIDATE DATABASE RECOVER risque de les supprimer. Donc, sauvegarde, et re-sauvegarde, avant de lancer la commande.
3
michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
26 janv. 2007 à 14:34
Bonjour,

peux-tu donner l'expression de l'index que tu as défini en clé primaire, ainsi que la structure de la table?
sur quelle commande as-tu cette erreur?
0
ducker88 Messages postés 277 Date d'inscription lundi 9 février 2004 Statut Membre Dernière intervention 4 mai 2008
29 janv. 2007 à 09:31
Bonjour Michel, merci pour ta réactivité.

num_ligdep n9
type_dep c3
code_arti c10
code_inte c10
num_cmd n3
code_four c14
quantite n13
prix n13
montant n13
remise n5
date_dep d8
code_arbo c30
type_mvt c2
type_terven m
num_ligcmd n10
code_mach c12
code_prev n10
num_di n9
consigne l
heure c8
qte_rest n13
tps_arret n3

Les index sont placé sur :
num_ligdep (primaire)
code_inter (régulière)
code_arti (régulière)
num_cmd (régulière)
code_arbo (régulière)
code_mach (régulière)
code_prev (régulière)
code_four (régulière)
num_di (régulière)

Il n'y à pas vraiment de commande qui pose le problème, un simple USE sur la table déclenche l'erreur.

Encore merci pour ton aide.

duck88
0
ducker88 Messages postés 277 Date d'inscription lundi 9 février 2004 Statut Membre Dernière intervention 4 mai 2008
29 janv. 2007 à 15:40
Merci Michel, cela marche impecable, c'est bizarre j'ai fait la même manip vendredi et ca n'a pas marché...

duck88
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
michelatoutfox Messages postés 828 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 7 mai 2013 1
29 janv. 2007 à 16:35
peut-être avais-tu oublié le exclusive du open data, ou bien le recover du validate data...
0
ducker88 Messages postés 277 Date d'inscription lundi 9 février 2004 Statut Membre Dernière intervention 4 mai 2008
29 janv. 2007 à 17:20
Je pense plutot qu'une appli a mal fermé la table et donc impossible de l'ouvrir en exclusif. j'aurai du redemarrer mon PC ca aurai certainement aidé.

duck88
0
Rejoignez-nous