TLDR:ルックアップを使用するフィールドが空でないのに、ルックアップでgroup by句が無効になっているのはなぜですか?
フォームのフィールドでカスタムルックアップを実行したい。テーブルCTable
は次のようになります。
Val Spec
------------
A alpha
A beta
A gamma
B delta
C epsilon
ルックアップはVal
、基本的な関係を持つEDTを使用して定義された列のみに関係します。Val == CTable.Val
ルックアップは明らかに私にこのようなリストを与えます:
A
A
A
B
C
重複したすべてのAsを取り除くために、グループに参加しましょう。次のようなもの:
QueryBuildDataSource.orderMode(OrderMode::GroupBy);
QueryBuildDataSource.addGroupByField(fieldNum(CTable, Val));
今、私が持っている奇妙な行動と私の質問の実際のポイントが来ます。空のフィールドでは、group byが正しく実行され、次のようになります。
A
B
C
次に、ルックアップで「A」を選択してから、代わりに「B」をクリックしたかったので、ルックアップを再度実行します。不明な理由でgroupbyが無効になり、以前と同じルックアップ結果が得られます。
なんでそうなの?どうすればそれを克服できますか?