| |
|
|
Martin Kempf | vorhanden ist eine DBase Datenbank mit nach Datum sortierter Indexdatei. Ich möchte nun das erste Vorkommen einer Jahreszahl suchen lassen. Da Datumsfelder als JJJJMMTT abgespeichert sind, dachte ich, daß i% = @db("find","2010",0) zum ersten Eintrag in 2010 führen müsste. Mag er aber nicht. Obwohl Io l' Parameter "0" per "Suche nach dem ersten Datensatz, mit dem der Suchbegriff beginnt" verwende, ignoriert er diesen Parameter. Wenn ich ihm i% = @db("find","20100101",0) angebe, dann findet er den ersten Datensatz sauber. Hab ich nen Denkfehler oder ist das ein Programmfehler? Wenn ich mit SEEK suche, i%=@db("seek","AZDATUM",Jahr$,1), dann komm ich schon hin, potrebbe dann aber keinen Index mehr verwenden, und das ist eigentlich Käse... Lösungen? |
|
|
| |
|
|
|
Thomas Freier | Im Prinzip führen SEEK und FIND zum selben Ziel. FIND eben nur mit *.ndx und es wird automatisch im ersten Indexfeld gesucht. Bei SEEK mußt du das Suchfeld mit angeben. Ich glaube, die *dbf kann indiziert oder nicht indiziert sein. |
|
|
| |
|
|
|
| Vlt. hilt in un Liste exportieren und dann mit SelectString suchen. |
|
|
| |
|
|
|
Stephan Sonneborn | Ciao,
bin mir nicht sicher, aber evtl. liegts am Datumfeld. Bei dbPUT steht in der Aiuto (ab XPROFAN 10) D: Datumsfelder müssen im richtigen db-Format (also wie bisher "JJJJMMTT") eingegeben werden. Außerdem muss das Datum ein gültiges gregorianisches Datum sein. Im Fehlerfall gibt @db("Put" 0 zurück. Vielleicht wird das auch bei Indexdateien beachtet. Und "2010" wäre dann kein gültiges Datum...
Wenn Du das Datumfeld in ein normales Textfeld kopierst und dann den Indexsuchlauf darauf machst, was findet XProfan dann? |
|
|
| Schöne Grüße aus Wittgenstein von Stephan
Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz | 17.01.2010 ▲ |
|
|
|