AOT の各テーブルには ID があります。ID からテーブル名を見つけるにはどうすればよいですか?
8 に答える
SQL辞書を見るのは本当に正しい方法です。FieldId が 0 の行を検索します。TSQL を使用すると、tableid 505 のテーブルの名前がわかります
select NAME
from SQLDICTIONARY
where TABLEID = 505
and FIELDID = 0
X ++から、tableId2Name関数を使用します。
GUIから、[ツール]/[開発ツール]/[アプリケーションオブジェクト]/[アプリケーションオブジェクト]を選択し、TableInternalHeaderのrecordTypeと探しているテーブルIDのparentIdをフィルター処理します。
または、AOTで、[テーブル]を右クリックして、[検索]を選択します。[名前と場所]タブで、[検索]を[すべてのノード]に設定します。[プロパティ]タブで、[ID]の横にある[選択済み]をクリックし、[範囲]フィールドにテーブルIDを入力します。
または、次を試すことができます。
select Name, AxId
from MicrosoftDynamicsAX_model.dbo.ModelElement (nolock)
where ElementType = 44
order by AxId
AXシステム テーブル名が
必要な場合は、tableId2name
またはDictTable.name
メソッドを使用できます。
SQLテーブル名が必要な場合はDictTable.name
、最初の引数でメソッドを使用する必要がありますDbBackend::Sql
例:
print new DictTable(tableNum(DirPartyTable)).name(DbBackend::Sql);
print new DictTable(tableNum(OMOperatingUnit)).name(DbBackend::Sql);
pause;
// result:
// DIRPARTYTABLE
// DIRPARTYTABLE
AOTで、[システムドキュメント]ノードに移動します。[テーブル]ノードで、SqlDictionaryを見つけて右クリックし、テーブルブラウザで開きます。IDとfieldid==0で列TabIdをフィルタリングすると、テーブルの名前が表示されます。
AOT で、システム ドキュメント ノードに移動します。テーブル ノードで SqlDictionary を見つけ、テーブル ブラウザーで開きます。ID で列 TabId をフィルター処理します。