erst mal:
- eine Kategorisierte Ansicht liefert im @DBColumn tatsächlich weniger zurück als eine sortierte
ABER:
Seit R6 spielt das keine Rolle mehr, denn es ist so:
Der DBLookup / DBColumn kann seit R6 MEHR als die 64k zurückliefern, die Grenze existiert nicht mehr.
Warum kommt dann noch die Fehlermeldung, werdet Ihr Euch fragen. In dem Moment wo man mit diesem Ergebnis weiterarbeiten möchte (es also in eine Variable schreibt), kommt man wieder an das Limit, den Variablen haben (genau wie Felder) dieses Limit noch.
ERGO:
Datenmenge[ @Unique( @DBColumn( nichtKategorisierteAnsicht ) ) ] = Datenmenge[ @DBColumn( kategorisierteAnsicht ) ] >>> führt erst dann zu einem >64k Fehler, wenn man dieses Ergebnis einer Variablen zuweist...
Kann man die Datenmenge vorher der Variablen- Zuweisung noch weiter reduzieren, dann kommt der Fehler nicht (in den meisten Fällen geht das aber nicht, weil man ja schon die Spalte so aufgebaut hat, dass sie nur die Werte enthält, die man will).
Trotzdem ein Beispiel:
nehmen wir an, ich habe eine "universelle" Lookup- Ansicht, die so aufgebaut ist:
Vorname~Tido
Vorname~Trude
Vorname~Hans
Nachname~Test
Nachname~Muster
Nachname~Wurst
auch wenn der @DBColumn nun ein Ergebnis >64k zurückliefert, dann KÖNNTE das funktionieren:
Vornamen := @Right( @DBColumn( ... ) ; "Vorname~" )
wenn die Summe der Vornamen wiederum WENIGER als 64k Daten enthält....
Aber als Antwort auf die ursprüngliche Frage kann es nur die "Picklist" geben, denn selbst wenn die Datenmenge temporär so reduziert werden kann, dass die Fehlermeldung nicht mehr kommt, zeigt die Erfahrung, dass in Kürze die Datenmenge wieder so angewachsen ist, dass man wieder an die Grenze stösst.
HTH
Tode