Axapta 如何在Dynamics AX中按ID查找表名
AOT中的每个表都有一个ID,如何查找给定ID的表名?从X++,使用该函数 从GUI中,选择工具/开发工具/应用程序对象/应用程序对象,并筛选TableInternalHeader的记录类型和要查找的表id的父idAxapta 如何在Dynamics AX中按ID查找表名,axapta,dynamics-ax-2009,Axapta,Dynamics Ax 2009,AOT中的每个表都有一个ID,如何查找给定ID的表名?从X++,使用该函数 从GUI中,选择工具/开发工具/应用程序对象/应用程序对象,并筛选TableInternalHeader的记录类型和要查找的表id的父id 或者在AOT中,右键单击表并选择“查找”。在“名称和位置”选项卡上,将“搜索”设置为“所有节点”。在属性选项卡上,单击ID旁边的选定项,并在范围字段中填写表格ID。在AOT中,转到系统文档节点。 在“表”节点中,找到SqlDictionary并使用表浏览器打开它。 使用您的ID筛选列
或者在AOT中,右键单击表并选择“查找”。在“名称和位置”选项卡上,将“搜索”设置为“所有节点”。在属性选项卡上,单击ID旁边的选定项,并在范围字段中填写表格ID。在AOT中,转到系统文档节点。 在“表”节点中,找到SqlDictionary并使用表浏览器打开它。
使用您的ID筛选列选项卡ID。在AOT中,转到系统文档节点。在“表”节点中,找到SqlDictionary并单击鼠标右键,然后使用表浏览器打开它。使用您的ID和fieldid==0筛选列TabId,his将为您提供表的名称。查看SQL词典确实是正确的方法。 搜索字段ID等于0的行。 使用TSQL,这将告诉tableID505的表名
select NAME
from SQLDICTIONARY
where TABLEID = 505
and FIELDID = 0
如果需要AX系统表名,可以使用或DictTable.name
方法
如果需要SQL表名,则应使用第一个参数为的方法
例如:
打印新的DictTable(tableNum(DirPartyTable)).name(DbBackend::Sql);
打印新的DictTable(tableNum(OMOperatingUnit)).name(DbBackend::Sql);
暂停;
//结果:
//肮脏的
//肮脏的
我不知道这是否是你的答案,
如果您想给TableName加上他的ID,可以使用
方法:
str tableId2Name(int\u tableid)
例如:
如果您的表具有ID:123456;
使用方法
tableId2PName(123456)
将返回str名称YourTable
info(strFmt("%1" , tableId2PName(123456))); -> VideoStamp the name.
我把这些信息用在了电脑上
希望对大家有用,问候 或者您可以尝试:
select Name, AxId
from MicrosoftDynamicsAX_model.dbo.ModelElement (nolock)
where ElementType = 44
order by AxId
最简单的方法:
它提供所有表名及其各自的ID。只要过滤你想要的。如果您知道表ID,请搜索它。如果您知道表名,请搜索该表。这不会给出表名。它将只提供该表ID中存在的字段列表。您是一个图例。正在搜索所有均匀的模型数据库。