Seite 1 von 1

DbSetScope()

Verfasst: Di, 22. Aug 2023 8:58
von Jan
Moin,

ich kann ja einen Scope setzen auf einen bestimmten Wert, oder auf alle Werte zwischen einem Top und einem Bottom-Wert. Aber gibt es die Möglichkeit einen Scope auf zwei oder mehr Werte zu setzen, die nicht zusammen hängen? Um mal das Beispiel von Alaska zu nutzen: TOP = "B" und BOTTOM = "K" zeigt alle Sätze mit einem Wert zwischen "B" und "K" an. Aber was wenn ich NUR "B" und "K" haben möchte, nicht aber all die Buchstaben dazwischen?

Jan

Re: DbSetScope()

Verfasst: Di, 22. Aug 2023 9:08
von Tom
Aber was wenn ich NUR "B" und "K" haben möchte, nicht aber all die Buchstaben dazwischen?
Dann geht das nicht mit einem Scope.

Aber es ginge mit zweien, auf zwei Workareas, die die gleiche Tabelle enthalten. Oder mit einem Scope (B ... K) und einem Filter (!Left(name,1) $ "BK"), dessen Performance aber stark von der Tabellengröße abhängt. Wichtig auch: Das DbSetScope() enthält ein implizites DbGotop(), aber der Filter nicht.

Re: DbSetScope()

Verfasst: Di, 22. Aug 2023 9:52
von Jan
Hallo Tom,

so etwas hatte ich befürchtet.

Den Filter zu bauen wäre kein großes Problem. Ist aber halt langsamer. Deswegen wollte ich den wenn irgend möglich vermeiden.

Das mit dem DbGoTop() war mir schon klar. Wobei ich aus reiner Angewohnheit den meist auch bei einem Scope setze. Keine Ahnung ob das irgend wann früher mal noch nicht so perfekt funktionierte. Aber ja, an sich ist der dort unnütz.

Jan