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