Привет всем! Вопрос по MSAccess 97 и DAO Помогите с проблемой - как из программы создать в таблице поле типа "Счетчик", но не лонговый, а "Код репликации" (т.е. GUID). В Access'e ставлю тип счетчик, а размер указываю "Код репликации" В программе же ставлю тип dbGUID, но поле получается не типа счетчик, а просто числовое. Стоит же в кач-ве аттрибута указать dbAutoIncrField - получаю ошибку. Пробовал ставить в качестве DefValue "GenGUID()" - в принципе даже работает, но тип счетчик ВСЕ РАВНО не получается! ПОМОГИТЕ! Пропадаю нафик!
посмотри раздел справки MS Access 97 "Сравнение типов данных". Там сказано что в VB счетчики c GUID не поддерживаются.... Попробуй сделать через SQL, например так:
NewDB.Execute _ "CREATE TABLE Questions (Id Counter PRIMARY KEY, Name Text, Question LONGTEXT, GRF TEXT);"
это делает обычный счетчик....
P.S. как прикрутить GUID я в принципе не вкурсе, не приходилось работать с репликацией... но может быть тебе поможет мой совет....
Да в том то и дело, что все прекрасно поддерживается. Попробуй (если есть
Access97 ) ) в конструкторе таблиц создать поле счетчик, а в кач-ве размера указать "Код репликации" - получишь GUID. Тоже самое можно сделать и не со счетчиком, а с полем типа "Числовое".
Так дело то в том и есть, что в конструкторе счетчик
GUID я сделать могу, а программно - нет! Программно получаются только числовые (не счетчики)
внимательнее прочти мое предыдущее сообщение, в нем не сказано что Access не поддерживает эти поля, там сказано что VB в (частности средствами DAO) не может этого делать (по крайней мере со слов Microsoft). Я в принципе нашел ответ на твой вопрос: Используй SQL (DDL), мой пример (только Counter замени на Guid) с инструкцией DDL Create Table это должен делать (либо используй инструкцию ALTER TABLE).....