begin process at 2012 02 10 05:20:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

Bases de données

 > 

Indexation DBase / Table level changed ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Indexation DBase / Table level changed ?

jeudi 17 octobre 2002 à 03:35:42 | Indexation DBase / Table level changed ?

byby

Je viens du clipper et voudrais me mettre au DELPHI :

Je n'arrive pas a (re)indexer un fichier DBase (clipper) avec la sequence d'instructions suivantes :

Tfichier: Ttable;
....
....
TFichier.close;
Tfichier.AddIndex('FI000E0','Coderr',[]);

Le fichier en question comporte 2 champs de type String et 1 champ memo....

Le fichier FI000E0.NDX n'est pas cree car une erreur libellee 'Table level changed' survient.

Quelqu'un pourrait-il m'aider ?
Grand merci d'avance.

sybille
jeudi 17 octobre 2002 à 22:49:49 | Re : Indexation DBase / Table level changed ?

Nono40

C'est bizarre car je viens d'essayer sur une base de bas niveau ( LEVEL 3 dans le BDE ) et la création d'index fonctionne...

Par contre le champ servant d'index doit être le premier champ de la table !! Sinon la table DBASE III change de niveau ( ce n'est sans doute pas génant ). Dans ce cas l'index est créé mais avec un fichier .DBT plutôt que .MDX

--- Nono du Moulin ---


-------------------------------
Réponse au message :
-------------------------------

Je viens du clipper et voudrais me mettre au DELPHI :

Je n'arrive pas a (re)indexer un fichier DBase (clipper) avec la sequence d'instructions suivantes :

Tfichier: Ttable;
....
....
TFichier.close;
Tfichier.AddIndex('FI000E0','Coderr',[]);

Le fichier en question comporte 2 champs de type String et 1 champ memo....

Le fichier FI000E0.NDX n'est pas cree car une erreur libellee 'Table level changed' survient.

Quelqu'un pourrait-il m'aider ?
Grand merci d'avance.

sybille
vendredi 18 octobre 2002 à 01:25:10 | Re : Indexation DBase / Table level changed ?

byby

Bonsoir et merci pour ta contribution.

Un fichier DBT n'est pas un fichier index, mais un fichier memo.
Le champ (coderr) sur lequel j'indexe est précisément en première position dans la table, mais ça ne marche pas. De plus, si le champ servant a indexer doit obligatoirement etre en premiere position, je trouve ca tres tres genant.

Je commence a desesperer de pouvoir me servir de Delphi avec des fichiers DBase.

Ce qui est bizarre aussi, c'est que le Database Desktop permet de le faire sans probleme; mais je ne peux tout de meme pas envoyer un utilisateur effectuer cette manoeuvre dans le Database Desktop !!!! Je dois pouvoir automatiser la chose dans mon appli....

sybille


-------------------------------
Réponse au message :
-------------------------------

C'est bizarre car je viens d'essayer sur une base de bas niveau ( LEVEL 3 dans le BDE ) et la création d'index fonctionne...

Par contre le champ servant d'index doit être le premier champ de la table !! Sinon la table DBASE III change de niveau ( ce n'est sans doute pas génant ). Dans ce cas l'index est créé mais avec un fichier .DBT plutôt que .MDX

--- Nono du Moulin ---



dimanche 20 octobre 2002 à 22:23:23 | Re : Indexation DBase / Table level changed ?

Nono40

Quelle version de Delphi Utilises-tu ?
Avec quoi as-tu créé la table ?
Si tu crées la table avec DataBase Desktop, as-tu le même problème ?

Je viens encore d'essayer et ça fonctionne aussi sous Delphi ( 6 version entreprise )

Note que c'est très fréquent dans les bases de données que les index primaires soient sur la(les) première(s) colonne(s). C'est avec les index secondaires qu'ensuite les tri sur des colonnes quelquonques sont effectués.

--- Nono du Moulin ---


-------------------------------
Réponse au message :
-------------------------------

Bonsoir et merci pour ta contribution.

Un fichier DBT n'est pas un fichier index, mais un fichier memo.
Le champ (coderr) sur lequel j'indexe est précisément en première position dans la table, mais ça ne marche pas. De plus, si le champ servant a indexer doit obligatoirement etre en premiere position, je trouve ca tres tres genant.

Je commence a desesperer de pouvoir me servir de Delphi avec des fichiers DBase.

Ce qui est bizarre aussi, c'est que le Database Desktop permet de le faire sans probleme; mais je ne peux tout de meme pas envoyer un utilisateur effectuer cette manoeuvre dans le Database Desktop !!!! Je dois pouvoir automatiser la chose dans mon appli....

sybille


-------------------------------
Réponse au message :
-------------------------------

C'est bizarre car je viens d'essayer sur une base de bas niveau ( LEVEL 3 dans le BDE ) et la création d'index fonctionne...

Par contre le champ servant d'index doit être le premier champ de la table !! Sinon la table DBASE III change de niveau ( ce n'est sans doute pas génant ). Dans ce cas l'index est créé mais avec un fichier .DBT plutôt que .MDX

--- Nono du Moulin ---




lundi 21 octobre 2002 à 20:23:00 | Re : Indexation DBase / Table level changed ?

byby

Bonsoir Nono,

J'utilise Delphi6 Pro et il s'agit de tables clipper (sans les index .NTX) qui proviennent d'une appli que je voudrais porter en DELPHI.

Tu m'as mis sur la piste de l'erreur 'Table level changed' -> en fait, je n'avais pas bien configuré le BDE pour qu'il génère des index dBase III+.
De plus, j'ai du passer par la fonction dbiAddIndex du BDE au lieu de la méthode Table.AddIndex
Maintenant, c'est OK pour des index .NDX.

Ceci dit, j'ai aussi pensé upgrader mes fichiers .dbf du format dBase III+ au format dBase IV. Pour effectuer cette manoeuvre, je suis passee par le Database DeskTop et il m'a bien transforme mes fichiers Clipper en dBase IV. MAIS, MAIS,... Là où ça devient incompréhensible, c'est pour (ré)générer les index .MDX via mon appli (DELPHI 6 Pro) : si le fichier .MDX est absent avant de lancer la fonction de reindexation, je reçois un message d'erreur (fichier inexistant lors de l'ouverture du fichier) et si le fichier est présent, je reçois un autre message d'erreur pour me dire que le fichier .MDX existe déjà : donc pas de (ré)-indexation possible ! Que les index soient de type Maintained ou non ne change rien au problème.
Alors, je retournée au format DBASE III+....

Merci encore pour ta réponse.

sybille


-------------------------------
Réponse au message :
-------------------------------

Quelle version de Delphi Utilises-tu ?
Avec quoi as-tu créé la table ?
Si tu crées la table avec DataBase Desktop, as-tu le même problème ?

Je viens encore d'essayer et ça fonctionne aussi sous Delphi ( 6 version entreprise )

Note que c'est très fréquent dans les bases de données que les index primaires soient sur la(les) première(s) colonne(s). C'est avec les index secondaires qu'ensuite les tri sur des colonnes quelquonques sont effectués.

--- Nono du Moulin ---




Cette discussion est classée dans : fichier, table, dbase, level, changed


Répondre à ce message

Sujets en rapport avec ce message

Creation de table avec DAO [ par kristof708 ] bonjourComment fait-on pour creer dynamiquement une base de donnée avec DAOsachant que ma base de donnée doit etre de format dbase(Dbase III+ ou Dbas mettre dans une table des données d'un fichier [ par chloe1511 ] bonjour, j'arrive( ggrace a julio merci;-)) a mettre des données dans un tmemo, mais je voudrais enfait prendre dans mon fichier et les inserer dans u import de contenu d'un fichier excel vers une table de base interbase [ par alberto_djabara ] Rapatriement d'un CSV assez volumineux [ par rickless ] Mesdames, Messieurs, bien le bonjour. Jusqu'à présent je n'ais pas eu beaucoup de problème avec la gestion des fichiers textes. En effet je découpais Table fichier ascii; la galère. [ par defluc ] Bonjour Cela fait des semaines que je bloque sur des erreurs lors de l'activation d'une table de type Ttascii constituée d'un fichier .txt : - EdbEng Message précédent (La galère). En clair [ par defluc ] Bonjour Cela fait des semaines que je bloque sur des erreurs lors de l'activation d'une table de type Ttascii constituée d'un fichier .txt : - EdbE JPEG ET BDD [ par stevenleferran ] Bonjour,JE bosse sous Delphi 7Je rencontre un problème concernant l'ajout d'un fichier image JPEG à une table paradoxe 7 (créé avec le module de base Importer fichier Excel vers table BDE [ par delphi5user ] Bonjour, Je cherche à réaliser un import d'un fichier excel vers une table de ma base de données. J'ai vu qu'on pouvait facilement réaliser cette op Utilisation d'un dbgrid [ par frbos ] Bonjour, voila mon probleme.J'utilise un DBGrid connecté a une table SqlServer.Cette table a, entre autre, 2 champs :nom : un nom de fichier (non vide convertir une table Interbase en un fichier XML [ par demande001 ] Bonjour;Comment je peut convertir une table Interbase en un fichier XML sous Delphi ?Merci d'avance...


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,636 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales