Subject Re: INVALID INDEX DESCRIPTOR
From Mervyn Bick <invalid@invalid.invalid>
Date Thu, 17 Jul 2014 13:40:55 +0200
Newsgroups dbase.getting-started

On Thu, 17 Jul 2014 10:05:07 +0200, Mervyn Bick <invalid@invalid.invalid>  
wrote:


> The basic syntax (see the online help for the full syntax) for building  
> this type of index is
>
> INDEX ON <key exp> TAG <tag name>

The second cup of coffee has kicked in and I realise I didn't go quite far  
enough with the explanation. <g>

To create an index using this syntax the table must be opened for  
exclusive use in a workarea

USE tablename EXCLUSIVE
INDEX ON <key exp> TAG <tag name>
USE tablename //to release exclusive lock.  USE on it's own if table no  
longer needed.

As with any of the built-in dBASE commands, only the first 4 characters of  
any command longer than 4 characters are actually required so the  
following would also work.

USE tablename EXCL
INDE ON <key exp> TAG <tag name>


When using the SQL CREATE INDEX command the table must not be open at  
all.  If the table is open dBASE will show an "In use by another" error.

SQL commands must be used in full and cannot be abbreviated as with dBASE  
commands.  Chapter 3 of Ken Mayer's book lists the SQL commands available  
in dBASE.  The localSQL help file is at C:\Program Files\Common  
Files\Borland\BDE\localsql.hlp

Both dBASE and SQL commands are not case sensitive.

Mervyn.