2011-12-23 1 views
0

У меня есть следующий код, который генерирует исключение «COM Исключение было необработанным» в строке я установил атрибут:Установить поле автозапуска?

var tbdefinition = dbase.TableDefs["MyDB"]; 
var field_auid = tbdefinition.Fields["myColumn"]; 
field_auid.Attributes = 4; 

Что я делаю неправильно?

+0

Вы пытались пройти через это или получить исключение? Возможно, это даст вам более подробную информацию. – Xaisoft

+0

Используйте отладчик и посмотрите, имеет ли это исключение 'InnerException', которое дает больше информации. Вы уверены, что «4» является допустимым значением здесь? И, пожалуйста, объясните (отредактируйте вопрос), что это имеет отношение к полю autonumber. –

+0

Извините за это, 4 - это число значений VBA перечисления, которое присваивает атрибуту autoNumber значение true. – Pantelis

ответ

1

В базах данных Jet вы не можете изменить тип существующего поля на Autonumber, если таблица уже содержит записи. Однако вы можете добавить новое поле, которое является полем Autonumber.

+0

Эй, извините за поздний ответ, но мне потребовалось несколько часов, чтобы настроить мою новую систему дома. Спасибо, что поняли @Olivier. Причина, по которой я обратилась к DAO, заключалась в том, что я обнаружил, что поле не было АЛЬТЕРИРОВАНИЕМ AutoNumber, когда я выполнил команду OledbCommand ALTER. Это странно, потому что это трюк для другой таблицы, которую я создал. В моей базе данных есть две таблицы, в которых у одного есть внешний ключ для первичного ключа другого. Позволяет называть их «Родительский и детский» для упрощения следующего объяснения моего кода. – Pantelis

+0

1) Создание Parent1 и установка PK. Затем, используя DAO, я устанавливаю поле BIT в качестве флажка и заполняю таблицу из DataSet, которая содержит записи родительских записей + другой копии одной и той же базы данных с разными данными. 2) Создание Child2 аналогичным образом. 3) ALTER ing table Поля, которые я хочу установить как AutoNumber. 4) Отбрасывание столов с родителями и дочерними элементами и переименование родительского 1 на родителя и ребенка1 на ребенка. 5) Наконец, я добавляю FK в таблицу Child. – Pantelis

+0

Пара странных вещей. Поле моего родителя успешно изменяет значение AutoNumber, но мой ребенок этого не делает. Ну, это на самом деле! Но кажется, что когда я переименую таблицу из Child1 в Child, она теряет атрибут. – Pantelis

 Смежные вопросы

  • Нет связанных вопросов^_^