Добрый день.
Не вижу принципиальной разницы:
моё:
ADOQuery1.SQL.Text:=('CREATE TABLE '+protname+' (`№п/п` counter(1,1) PRIMARY KEY UNIQUE ,
Ваше:
ADOQuery1.SQL.Text := 'create table Test (id counter(1,1) primary key, Context char(50))';
Что-то не то, видимо не включено авто обновление/заполнение или ещё что-то, типо авто пресчёта... раз он срабатывает после пере-открытия базы....
Во вложении проект.
При создании базы требует файл шаблон (пустую базу ACCESS 2003) куда и будут писаться таблицы. Прикрепил бы, но не лезет сюда. Хотя разбил RARом на 3 части и залилось сюда.