DbSetScope()

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

Antworten
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14658
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

DbSetScope()

Beitrag 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
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9367
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 102 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: DbSetScope()

Beitrag 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.
Herzlich,
Tom
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14658
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: DbSetScope()

Beitrag 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
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Antworten