Seite 1 von 1

[erledigt] Temp. Index bei FoxBase

Verfasst: Di, 12. Mai 2020 19:18
von adrian
Hallo zusammen

Ich bin am umstellen von DBFNTX auf FOXCDX, dies ist alles soweit kein Problem.

Doch bei Temp.Index Erstellung habe ich Probleme (Absturz)

Code: Alles auswählen

IF AppIni():GetEntry("INIT", "FOXPRO", "0", "L")
      	sTmpFibu := TEMPFILE(sTemp,"CDX")

	USE &sName ALIAS oFIBU SHARED NEW
	INDEX ON DATUM TAG AFRA TO (sTmpFibu)		// hier gibt es einen Absturz, bei fixen Namen geht es
ELSE
	sTmpFibu := TEMPFILE(sTemp,"NTX")

	USE &sName ALIAS oFIBU SHARED NEW
	INDEX ON DATUM TO (sTmpFibu)
ENDIF
Im unteren Bereich (DBFNTX) kein Problem, im oberen Bereich stürzt das Programm bei der Index-Zeile ab.

Wie erstellt Ihr einen Temp.Index? (ich kann, infolge Netzwerk keinen fixen Namen nehmen)

Adrian

Re: Temp. Index bei FoxBase

Verfasst: Di, 12. Mai 2020 19:53
von Tom
Setz mal ein

Code: Alles auswählen

FErase(sTempFibu)
vor die Zeile mit dem "INDEX ON". Sonst versucht die Engine, eine Indexdatei zu aktualisieren, die gar kein Index ist, sondern eine leere Datei.

Re: Temp. Index bei FoxBase

Verfasst: Di, 12. Mai 2020 19:57
von Marcus Herz
Was steht denn in sTempfibu

Muss man nicht exclusiv zum indizieren öffnen ? (hab schon lang nicht mehr mit FOCDX gearbeitet)

Re: Temp. Index bei FoxBase

Verfasst: Di, 12. Mai 2020 20:09
von adrian
Herzlichen Dank für die rasche Antwort, Tom hatte Recht, aber darauf wäre ich gar nie gekommen.

adrian

Re: [erledigt] Temp. Index bei FoxBase

Verfasst: Di, 12. Mai 2020 20:30
von Tom
CDX erzeugt Indexe nicht neu beim Reindexieren, sondern aktualisiert sie immer. Dadurch wachsen sie auch mit der Zeit an. Deshalb löscht man die Dateien explizit vor dem Reindexieren. TempFile() erzeugt aber eine leere Datei mit dem Namen, den die Funktion zurückreicht. CDX denkt, hier wäre ein bestehender Index zu aktualisieren. NTX demgegenüber erzeugt einen Index immer komplett neu, deshalb kann in der NTX-Datei vor dem Reindexieren drinstehen, was auch immer man sich vorstellen kann. Dort tritt dieses Problem nicht auf.

Schön, dass es gelöst ist! :)

Re: [erledigt] Temp. Index bei FoxBase

Verfasst: Di, 12. Mai 2020 22:16
von adrian
Hoi Tom

Danke Dir für die Erklärung, jetzt ist mir alles klar.

Adrian