So, das hier arbeitet nun genau so, wie ich es haben will.
cDBE wechseln und der Rest geht automatisch.
Natürlich voher immer die Indexdatei löschen
. Ist aber immer schon der Fall gewesen.
Code: Alles auswählen
PROCEDURE main()
LOCAL bSaveError := ErrorBlock()
LOCAL bIndexKey := NIL
LOCAL oError
LOCAL lNewArea := .T., lShared := .F., lReadOnly := .F.
LOCAL lUnique := .F.
LOCAL lAdditive := .F.
LOCAL cDBE := "DBFNTX", cAlias := "Test"
LOCAL cIndexFile := "text", cTagName := "Titel"
LOCAL cIndexKey := "UPPER(test->v_titel)"
DO WHILE .T.
ErrorBlock( {|e| BREAK(e)})
BEGIN SEQUENCE
DBUSEAREA(lNewArea,cDBE,"test",cAlias,lShared,lReadOnly)
OrdCreate(cIndexFile,cTagName,cIndexKey,bIndexKey,lUnique,lAdditive)
RECOVER USING oError
ErrorBlock( bSaveError)
IF fehlerbehandlung(oError)
BREAK
ENDIF
LOOP
END SEQUENCE
ErrorBlock( bSaveError)
EXIT
ENDDO .T.
RETURN
********************************************************************************
FUNCTION fehlerbehandlung(oError)
LOCAL lSuccess := .T.
IF ! oError:canRetry
lSuccess := .F.
ENDIF
RETURN(lSuccess)
Jetzt hoffe ich nur noch, dass das alles auch im Livesystem klappt und nicht irgendwann später Probleme bringt mit der Mischerei.
Besten Dank für eure Ausdauer....
Bis demnächst.