Dbase indexer champs caractère avec numeri
Fermé
BRUNOROB
Messages postés
3
Date d'inscription
mercredi 24 janvier 2007
Statut
Membre
Dernière intervention
4 avril 2007
-
4 avril 2007 à 01:38
MB - 17 avril 2007 à 01:39
MB - 17 avril 2007 à 01:39
A voir également:
- Dbase indexer champs caractère avec numeri
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
- Caractere speciaux mac - Guide
- Caractère spéciaux couronne - Forum Windows
1 réponse
Bonjour,
Je ne sais pas quel dBase tu utilise, mais quand j'écris :
en dBase III + ou en db2k(dBase PLUS),
use c:\maTABLE.DBF
index on SUBSTR(NOM,1,25) +STR(NOMBRE,13,O) to c:\monINDEX.NDX
SET INDE TO c:\monINDEX.NDX
ça fonctionne.
En dBase actuel, il faut toujours passer les décimales de la fonction STR(), même si c'est à zéro.
Bonne nuit
BM
Je ne sais pas quel dBase tu utilise, mais quand j'écris :
en dBase III + ou en db2k(dBase PLUS),
use c:\maTABLE.DBF
index on SUBSTR(NOM,1,25) +STR(NOMBRE,13,O) to c:\monINDEX.NDX
SET INDE TO c:\monINDEX.NDX
ça fonctionne.
En dBase actuel, il faut toujours passer les décimales de la fonction STR(), même si c'est à zéro.
Bonne nuit
BM
17 avril 2007 à 01:39
use c:\maTABLE.DBF
index on left(NOM,25) +transform(NOMBRE,"####") to c:\monINDEX.NDX
*SET INDE TO c:\monINDEX.NDX && Pas la peine, l'index est activé automatiquement suite à l'indexation
Remarques :
> Au lieu de SUBSTR(NOM,1,25) utilise plutot left(NOM,25) && (ca donne le même résultat)
> Avec str(...), la suite 1,2,10,20 par ex est ordonnée ainsi : 1,10,2,20. Alors qu'avec transform(..), elle est ordonnée normalement : 1,2,10,20
> Utilise le même nombre de dièses que la largeur de ton champ NOMBRE
> Si celui-ci comporte des décimales, utilise "####.##" (pour un champ NOMBRE à 2 décimales)
>> Bonne débasation. BM