HI
The default of SET COLLATE is MACHINE.
Earlier version had this as default. However, if you are using different Language in your database, you can set it to a more suitable one for you.
The point is that, if you have created an INdex with SET COLLATE TO GENERAL or your other language.. and then you switch to your default setting of SET COLLATE TO MACHINE, it could give an error.
Another chance is the index is corrupt (could be due to switching of the SET COLLATE without proper re-indexing. SO the remedy could be to reindex.
A utility to reindex CDX files (not the conventional reindexing.. it drops the TAG and then recreates it), is provided by me in FAQ...
****************************
ReBuild your CDX index files
faq184-1033
****************************
Hope you find this useful
So when the index is created using this default and after that, if you SET COLLATE
If your data doesn't include diacritical marks, such as accents (á) or umlauts (ü), you can improve performance by using the machine collating sequence because:
Non-machine index keys are twice as large because they contain the diacritical information.
Non-machine collation uses many special rules for indexing characters to return proper results.
Because the machine collate sequence is faster, it's usually preferred for joins and searching, while other collate sequences are perfect for ordering records.
When you create an index, Visual FoxPro uses the current setting of SET COLLATE. Therefore, if you want to create two indexes with two collating sequences, you can use a sequence of commands such as the following:
ramani :-9
(Subramanian.G)
FoxAcc
ramani_g@yahoo.com
LET KNOW IF THIS HELPED. ENOUGH EXPERTS ARE HERE TO HELP YOU OUT! BEST OF LUCK
