I got a request from a customer about finding the list of classes that have attributes typed with another. Indeed this is useful to know the consequences of deleting a class that doesn't appears on a diagram but is still used for typing attributes.
No standard functionality worked but as usual there is an answer with Enterprise Architect !
Here it is:
Finding the classes:
SELECT t_object.Name, t_attribute.Name, t_attribute.Type
FROM t_object INNER JOIN t_attribute ON t_object.Object_ID = t_attribute.Object_ID
WHERE t_attribute.Type = 'ExpleA'
ORDER BY t_object.Name;
With the package name if you have a lot of them or classes in different namespaces:
SELECT t_package.Name, t_object.Name, t_attribute.Name, t_attribute.Type
FROM t_package INNER JOIN (t_object INNER JOIN t_attribute ON t_object.Object_ID = t_attribute.Object_ID) ON t_package.Package_ID = t_object.Package_ID
WHERE (((t_attribute.Type)='ExpleA'))
ORDER BY t_object.Name;
FROM t_package INNER JOIN (t_object INNER JOIN t_attribute ON t_object.Object_ID = t_attribute.Object_ID) ON t_package.Package_ID = t_object.Package_ID
WHERE (((t_attribute.Type)='ExpleA'))
ORDER BY t_object.Name;
I used MSAccess2K to do it since you can open an EAP file directly from access:

Frankly, this level of possibilities is yet to be matched by Together, XDE and friends. And they cost 10x the price.
