Рассмотрим следующий код vb.net для служебной надстройки (для доступа):
td = db.TableDefs(objectName)
For Each fld In td.Fields
For Each fldprp In fld.Properties
Debug.Print(fldprp.Value.ToString())
Next
Next
переменная "db" представляет собой .net-представление результата возврата vba для доступа из "Приложения".CurrentDb ()».«td» имеет тип «DAO.TableDefClass».
Этот код вызывает исключение типа «InvalidOperationException», когда значение свойства fldprp.value не может быть определено (в Visual Studio оно отображается как{"Недопустимая операция."} В окне просмотра).Однако, fldprp.name доступен.
Есть только несколько свойств, с которыми это происходит.Я хотел бы иметь возможность перебрать все свойства fld.properties и вывести значения, но ТОЛЬКО если это не исключение.
Я почти уверен, почему это происходит (некоторые свойства недоступны в этом контексте).Что мне нужно знать, так это как обнаружить это во время выполнения, чтобы я мог пропустить свойство.
Кажется, я не могу найти решение, которое будет работать.Помощь будет принята с благодарностью.