4

これは簡単な質問に思えるかもしれませんが、なぜか私はイライラしています。

InventTable、、、の 3 つのデータソースを持つフォームがありInventSumますInventDim

たとえば、私のグリッドは次のように表示されます。

アイテム、名前、サイト、倉庫、物理的在庫

InventDimフォーム DataSource に表示メソッドを配置しましたが、またはItemIdからにアクセスする必要があります。(明らかに「現在の」itemIdを探しています)。inventTransInventSum

私がアクセスできるのは、標準としてinventDimパラメータとして渡される だけです。_inventDim

「現在の」itemIdにアクセスする最良の方法は何ですか?

4

1 に答える 1

8

わかりました、Joris de Gruyter によるこの参照のおかげで、私は答えを見つけました。

http://daxmusings.blogspot.co.uk/2011/10/forum-advanced-display-method-querying.html

重要なのは、表示方法をInventSumデータソースに配置することでした。

_inventSum.joinChild()次に、リンクされた を取得するために使用できます。これinventDimは Joris の例です。

display Qty AvailPhysical(InventSum _inventSum)
{
    InventDim       joinDim, dimValues;
    InventDimParm   dimParm;
    InventSum       localSum;

    //THE IMPORTANT LINE...
    dimValues.data(_inventSum.joinChild());

    dimParm.initFromInventDim(dimValues);

    select sum(AvailPhysical) from localSum where localSum.ItemId == _inventSum.ItemId
        #InventDimExistsJoin(localSum.InventDimId, joinDim, dimValues, dimParm);

    return localSum.AvailPhysical;
}

これは将来誰かを助けると確信しています!

于 2012-07-12T14:40:14.080 に答える