2010-01-08 11 views
10

में आईडी द्वारा तालिका का नाम कैसे ढूंढें एओटी में प्रत्येक तालिका में एक आईडी है, मैं आईडी नाम के तालिका नाम को कैसे खोज सकता हूं?डायनेमिक्स एएक्स

उत्तर

15

एक्स ++ से, tableId2Name फ़ंक्शन का उपयोग करें।

जीयूआई से, टूल्स/डेवलपमेंट टूल्स/एप्लिकेशन ऑब्जेक्ट्स/एप्लिकेशन ऑब्जेक्ट्स का चयन करें और टेबल इन्टरनेटर के रिकॉर्ड टाइप के लिए फ़िल्टर करें और तालिका आईडी के अभिभावक आईडी जिसे आप ढूंढ रहे हैं।

या एओटी में, टेबल्स पर राइट क्लिक करें और खोजें चुनें। नाम & स्थान टैब पर, सभी नोड्स पर खोजें सेट करें। प्रॉपर्टी टैब पर आईडी के बगल में चयनित क्लिक करें और रेंज फ़ील्ड में टेबल आईडी भरें।

+0

मैं ऐसा कर सकता हूँ AOT से? – David

1

एओटी में, सिस्टम प्रलेखन नोड पर जाएं। टेबल्स नोड में, SqlDictionary ढूंढें और इसे तालिका ब्राउज़र के साथ खोलें। अपनी आईडी के साथ कॉलम टैबआईडी फ़िल्टर करें।

+0

यह आपको टेबल का नाम नहीं देगा। यह आपको केवल उन फ़ील्ड की सूची देगा जो उस तालिका आईडी में मौजूद हैं। –

1

एओटी में, सिस्टम प्रलेखन नोड पर जाएं। टेबल्स नोड में, SqlDictionary ढूंढें और दायाँ क्लिक करें और इसे तालिका ब्राउज़र के साथ खोलें। कॉलम टैबआईडी को अपनी आईडी और फ़ील्ड आईडी == 0 के साथ फ़िल्टर करें, उसकी इच्छा आपको तालिका का नाम देगी।

19

एसक्यूएल dictironary को देखकर वास्तव में सही विधि है। FieldId के साथ लाइन 0. TSQL का उपयोग करते हुए इस TableID के लिए तालिका का नाम बता 505

select NAME 
    from SQLDICTIONARY 
where TABLEID = 505 
    and FIELDID = 0 
+0

आप एक किंवदंती हैं। सभी खोज रहा था - यहां तक ​​कि मॉडल डीबी। –

1

आप कुल्हाड़ी प्रणाली तालिका नाम की जरूरत है आप tableId2name या DictTable.name विधि का उपयोग कर सकते हैं करने के लिए बराबर के लिए खोजें ।

आप एसक्यूएल तालिका नाम की जरूरत है आप के DbBackend::Sql

उदाहरण पहला तर्क के साथ DictTable.name विधि का उपयोग shoud:

print new DictTable(tableNum(DirPartyTable)).name(DbBackend::Sql); 
print new DictTable(tableNum(OMOperatingUnit)).name(DbBackend::Sql); 
pause; 

// result: 
// DIRPARTYTABLE 
// DIRPARTYTABLE 
2

मैं dont'know अगर यह आपका जवाब, है आप करना चाहते हैं टेबल आईडी को अपनी आईडी के साथ दें, आप विधि का उपयोग कर सकते हैं: str tableId2Name (int _tableid)

उदाहरण के लिए: यदि आपकेटेबल में आईडी है: 123456; उपयोग विधि

 tableId2PName(123456) 

स्ट्रेट नाम YourTable वापस कर देगा।

info(strFmt("%1" , tableId2PName(123456))); -> VideoStamp the name. 

मैं जानकारी https://msdn.microsoft.com/en-us/library/aa498759.aspx

मुझे आशा है कि में उपयोगी करने के लिए, बधाई इस्तेमाल किया!

1

या आप कोशिश कर सकते हैं:

select Name, AxId 
from MicrosoftDynamicsAX_model.dbo.ModelElement (nolock) 
where ElementType = 44 
order by AxId 
+0

एनबी: यह समाधान एक्स -2012 के लिए काम करेगा; एक्स 200 9 नहीं। – JohnLBevan

संबंधित मुद्दे