Сообщения

Сообщения за сентябрь, 2009

Как проверить существует ли объект в семействе?

У меня достаточно часто возникала ситуация, когда перед тем как обращаться к какому-либо объекту, надо было проверить - а существует ли он? Если такой объект отсутствует, то VBA возвращает ошибку: 3265 Item not found in this collection Элемент не обнаружен в данном семействе В общем возник закономерный вопрос: "Как лучше с этим разобраться?" Покажу решение на примере такой ситуации.  В Access надо временно создать некий запрос, который сохраняется в семействе CurrentDb.QueryDefs . Впоследствии этот запрос используется для некоторых действий, после чего его надо удалить. То есть код должен быть примерно такой: Set qd = CurrentDb.CreateQueryDef("zv_data") qd.SQL = "SELECT * , 'today is " & Now() & " '" FROM my_table;" '... используем запрос и производим "действия"... CurrentDb.QueryDefs.Delete "zv_data" Если в процессе работы возникнет какая-либо ошибка ( допустим, пользователь банально нажал ресет на