14

AOT の各テーブルには ID があります。ID からテーブル名を見つけるにはどうすればよいですか?

4

8 に答える 8

26

SQL辞書を見るのは本当に正しい方法です。FieldId が 0 の行を検索します。TSQL を使用すると、tableid 505 のテーブルの名前がわかります

select NAME 
  from SQLDICTIONARY
 where TABLEID = 505
   and FIELDID = 0
于 2012-10-11T12:16:47.160 に答える
18

X ++から、tableId2Name関数を使用します。

GUIから、[ツール]/[開発ツール]/[アプリケーションオブジェクト]/[アプリケーションオブジェクト]を選択し、TableInternalHeaderのrecordTypeと探しているテーブルIDのparentIdをフィルター処理します。

または、AOTで、[テーブル]を右クリックして、[検索]を選択します。[名前と場所]タブで、[検索]を[すべてのノード]に設定します。[プロパティ]タブで、[ID]の横にある[選択済み]をクリックし、[範囲]フィールドにテーブルIDを入力します。

于 2010-01-08T04:05:55.753 に答える
2

または、次を試すことができます。

select  Name, AxId
from MicrosoftDynamicsAX_model.dbo.ModelElement (nolock) 
where ElementType = 44
order by AxId
于 2016-02-22T15:08:37.657 に答える
2

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
于 2014-04-28T11:01:18.990 に答える
1

AOTで、[システムドキュメント]ノードに移動します。[テーブル]ノードで、SqlDictionaryを見つけて右クリックし、テーブルブラウザで開きます。IDとfieldid==0で列TabIdをフィルタリングすると、テーブルの名前が表示されます。

于 2012-08-28T13:18:16.800 に答える
1

AOT で、システム ドキュメント ノードに移動します。テーブル ノードで SqlDictionary を見つけ、テーブル ブラウザーで開きます。ID で列 TabId をフィルター処理します。

于 2010-11-12T18:36:12.130 に答える