Announcement

Collapse
No announcement yet.

Index zur Laufzeit festlegen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Index zur Laufzeit festlegen

    Hi ihr,

    wie kann ich auf eine DBase-Tabelle einen Index zu Laufzeit erstellen.
    Das Problem ist, wenn ich den Bereich für eine TTable Variable festlege, bekomme ich die Meldung, dass kein Index festgelegt ist. Und in der Hilfe finde ich auch nichts hilfreiches.
    Wenn mir jemand schnell helfen könnte wäre nett. Quelltext wäre vorteilhaft.

    Danke schon im Vorraus, Ralf

  • #2
    Hi Ralf!<br>

    Kurzer Auszug aus meinem source.<br>

    <PRE>
    try
    {
    //TStd->CachedUpdates = true; // Änderungen zwischenspeichern
    TStd->Active = false;
    TStd->CacheBlobs = false;
    TStd->IndexDefs->Clear(); // alle indexes vorsichtshalber löschen
    TStd->IndexDefs->Update();
    TStd->AddIndex("", "LfdNr", TIndexOptions() << ixUnique << ixPrimary,"");
    TStd->AddIndex("Component-ID", "Component-ID", TIndexOptions() << ixCaseInsensitive,"");
    TStd->AddIndex("Name", "Name", TIndexOptions() << ixCaseInsensitive,"");
    TStd->AddIndex("Package", "Package", TIndexOptions() << ixCaseInsensitive,"");
    TStd->AddIndex("Typ", "Typ", TIndexOptions() << ixCaseInsensitive,"");
    TStd->AddIndex("Sauger", "Sauger", TIndexOptions() << ixCaseInsensitive,"");
    TStd->AddIndex("SortP", "Package;Component-ID;Sauger", TIndexOptions() << ixCaseInsensitive,"");
    TStd->AddIndex("SortT", "Typ;Component-ID", TIndexOptions() << ixCaseInsensitive,"");
    TStd->AddIndex("SortS", "Sauger;Component-ID", TIndexOptions() << ixCaseInsensitive,"");
    TStd->AddIndex("CIDAb", "Component-ID", TIndexOptions() << ixCaseInsensitive<<ixDescending,"");
    TStd->AddIndex("SortPAb", "Package;Component-ID;Sauger", TIndexOptions() << ixCaseInsensitive<<ixDescending,"");
    TStd->AddIndex("SortTAb", "Typ;Component-ID", TIndexOptions() << ixCaseInsensitive<<ixDescending,"");
    TStd->AddIndex("SortSAb", "Sauger;Component-ID", TIndexOptions() << ixCaseInsensitive<<ixDescending,"");
    TStd->AddIndex("LfdNrAb", "LfdNr", TIndexOptions() << ixDescending,"");
    TStd->IndexName = ""; // unsortiert
    }// try
    catch(...)
    {
    }
    </PRE>
    Ich hoffe jetzt kommst Du weiter.<br>

    Gruß Fre

    Comment

    Working...
    X