Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
rastiniak
Зарегистрирован: 05.10.2012 Сообщения: 20
|
Добавлено: Пт 09 Ноя 2012 10:42 Заголовок сообщения: Определить неиспользуемые слои |
|
|
Требуется упорядочить стили.Их много и они называются одинаково и бессмысленно.
Поэтому необходимо определить какими стилями не представлены объекты и убрать их.В INGEO_OBJINFO и INGEO_STYLES такой информации не содержится. |
|
Вернуться к началу |
|
 |
Михаил Власов

Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
|
Добавлено: Пт 09 Ноя 2012 13:04 Заголовок сообщения: |
|
|
Не надо лазить в базу напрямую.
Используйте API:
Код: | sub ShowActiveLayerStylesWithoutObjects
dim aLayer
set aLayer = Application.ActiveProjectView.ActiveLayerView.Layer
dim aMapObjects
set aMapObjects = Application.ActiveDb.MapObjects
dim aStyle, aLog
aLog = ""
for each aStyle in aLayer.Styles
dim anObjectCount
anObjectCount = 0
dim aQuery
set aQuery = aMapObjects.QueryByStyle(aStyle.Id, inqsOneOrMore)
do while not aQuery.Eof
anObjectCount = anObjectCount + 1
aQuery.MoveNext
loop
if anObjectCount = 0 then
aLog = aLog & "[" & aStyle.Id & "] " & aStyle.Name & vbNewLine
end if
next
MsgBox aLog
end sub |
_________________ С уважением, Михаил Власов. |
|
Вернуться к началу |
|
 |
rastiniak
Зарегистрирован: 05.10.2012 Сообщения: 20
|
Добавлено: Пт 09 Ноя 2012 16:17 Заголовок сообщения: |
|
|
То что надо, спасибо большое ! |
|
Вернуться к началу |
|
 |
|