Меню

Access sql ошибка синтаксиса при определении поля

От:

Wind

Россия

 
Дата:  20.04.04 05:43
Оценка:

Использую компилятор VC7. Обращаюсь с помощью ADO (через драйвер ODBC) к SQL Server 2К.Ниже следующий код выдает исключение (мол, не могу выполнить). Исключение выдает
Error Code = 3292
Source = DAO.Database
Description = Ошибка синтаксиса при определении поля.

Такого кода в таблице sysmessage (SQL Server) нет (равно как и такой таблицы) => следовательно это не его ошибка

DAODBEngine* DBeng=NULL;
CDaoDatabase *db=NULL;
AfxDaoInit();
DBeng = AfxDaoGetEngine();
db=new CDaoDatabase();
db->Open(«test»,false,false,»ODBC;PWD=xxx;UID=sa;») ;
if (db->IsOpen())
{
db->Execute(«CREATE TABLE time_fond ( id_time int NOT NULL, time datetime NULL, PRIMARY KEY (id_time))»);
}

Вопрос 1) Почему не выполняется запрос (с правами доступа все ОК, с синтаксисом SQL тоже)
Вопрос 2) Чья эта ошибка и кто вернул мне такой код ошибки (где его посмотреть)
P.S. Аналогичный код, но для MS Access выполняется на ура

От:

Sinclair

Россия

http://corp.ingrammicro.com/Solutions/Cloud.aspx
Дата:  20.04.04 06:20
Оценка:

Здравствуйте, Wind, Вы писали:
W>Вопрос 1) Почему не выполняется запрос (с правами доступа все ОК, с синтаксисом SQL тоже)
Хм. Constructing Interoperable SQL Statements? Может быть, дело именно в этом?
W>Вопрос 2) Чья эта ошибка и кто вернул мне такой код ошибки (где его посмотреть)
W>P.S. Аналогичный код, но для MS Access выполняется на ура
Тогда вообче загадка…

… << RSDN@Home 1.1.3 beta 2 >>

Уйдемте отсюда, Румата! У вас слишком богатые погреба.
http://rsdn.org/File/5743/rsdnaddict.GIF

От:

Elena_

Россия

 
Дата:  20.04.04 07:35
Оценка:

Здравствуйте, Wind, Вы писали:

W>Использую компилятор VC7. Обращаюсь с помощью ADO (через драйвер ODBC) к SQL Server 2К.Ниже следующий код выдает исключение (мол, не могу выполнить). Исключение выдает

W>Error Code = 3292
W>Source = DAO.Database
W>Description = Ошибка синтаксиса при определении поля.
)
W>Вопрос 2) Чья эта ошибка и кто вернул мне такой код ошибки (где его посмотреть)

Ошибка DAO — из документации по DAO 3.6:

Ошибка синтаксиса при определении поля. (Ошибка 3292)
Ошибка синтаксиса при описании поля в инструкции CREATE TABLE или ALTER TABLE.

Возможные причины:

Пропущено или неверно указано зарезервированное слово или имя аргумента.
Неверная пунктуация.

Пользователь — друг программиста!

От: Аноним

 
Дата:  20.04.04 09:35
Оценка:

Здравствуйте, Wind, Вы писали:
W>P.S. Аналогичный код, но для MS Access выполняется на ура

Это, да, это Билл Гейтс ещё как может, если чесно — в чём проблема не знаю,
но у меня была похожая фишка — в SQL запросах из под MS ACCESS прокатывали
* в параметрах в качестве любого знака, а через ODBC приходилось заменять
по стандарту SQL-92 — прочти какие-нибудь старые книги с описанием синтаксиса
CREATE TABLE.

P.S. Вроде ещё ; в конце SQL ставить надо …

От:

Wind

Россия

 
Дата:  20.04.04 14:24
Оценка:

Здравствуйте, Аноним, Вы писали:

А>* в параметрах в качестве любого знака, а через ODBC приходилось заменять

А>по стандарту SQL-92 —
Ну это штука достаточно известная, плюс это формальное нарушение синтаксиса для конкретной СУБД (одна хочет *, другая _). Тут вещь другая, я вначале решил не описывать ситуацию полностью, но раз все в тупике… Итак:

Есть скрипт (написанный мной же) для создания БД на SQL Server (в части схемы данных полность компатибал с Access и FoxPro). Скрипт АБСОЛЮТНО рабочий (запускался из QueryAnalizer). Ни каких вопросов по синтаксису.

Решил автоматизировать его запуск, начал писать эту программу. Хлоп — ошибка (с таблицей — частный случай, базу данных тоже не удалось создать). Процесс отладки опущу, приведу только вывод. В MS Access этот код полностью создает схему данных (от специфичных команд я, разумеется избавился), все правильно и ни каких нареканий. MS SQL — вы уже знаете.

Команды работы с данными SQL Servera выполняются, команды управления схемой данных — нет (команды менеджмента я не пробовал, ибо без схемы данных они не нужны). Вот и всё. Что делать?


А>CREATE TABLE.


А>P.S. Вроде ещё ; в конце SQL ставить надо …

Далеко не ИМХО: это пережиток.

От:

Wind

Россия

 
Дата:  20.04.04 14:26
Оценка:

Здравствуйте, Elena_, Вы писали:

E_>Ошибка DAO — из документации по DAO 3.6:

Ссылочку на документацию не дадите?

E_>Пропущено или неверно указано зарезервированное слово или имя аргумента.

E_>Неверная пунктуация.
см. http://rsdn.ru/Forum/MsgList.aspx?gid=6&amp;start=1&amp;flat=0

От:

Elena_

Россия

 
Дата:  20.04.04 15:19
Оценка:

Здравствуйте, Wind, Вы писали:

W>Ссылочку на документацию не дадите?

Я просто посмотрела в справке по Access, там есть ветка по DAO, в описании объекта Error — Error.Number есть список ошибок.

Я не уверена, что мои соображения на этот счет правильные, но может быть, пригодится:

1) Может быть, ей не нравится слово time, как зарезервированное

2) Я всегда работала с командами DDL SQL Server’а (CREATE TABLE и т.д.) через DAO ODBCDirect, а не через DAO Jet на VB

Раньше обертки MFC для DAO не поддерживали ODBCDirect, см.например, Visual C++ Concepts: Adding Functionality
DAO and MFC

Note MFC now supports DAO 3.5. MFC DAO classes work either with DAO 3.0 or DAO 3.5, but have not been designed to take advantage of any new DAO 3.5 features, including ODBCDirect

Я не уверена, что вообще можно выполнить CREATE TABLE через этот оберточный класс. Может быть, надо подключать DAO напрямую без MFC, или по-моему лучше использовать ADO.

Но очень возможно, что я ошибаюсь, сейчас нет времени проверять.

Пользователь — друг программиста!

От:

Sinclair

Россия

http://corp.ingrammicro.com/Solutions/Cloud.aspx
Дата:  20.04.04 17:28
Оценка:

Здравствуйте, Wind, Вы писали:

W>Команды работы с данными SQL Servera выполняются, команды управления схемой данных — нет (команды менеджмента я не пробовал, ибо без схемы данных они не нужны). Вот и всё. Что делать?

У меня единственное подозрение — в сторону ODBC драйвера для SQL. Это, вроде бы, единственное место, через которое может не пролезть команда, успешно выполняемая в Query Analyser. В связи с этим есть доп вопросы:
1. Вообще никакие DDL не проходят? Пример, приведенный в исходном постинге — довольно сложный. Вот такой тоже не пролазит:

create table t1(id int)

?
2. Что показывает профайлер? Доезжает ли команда до сервера? И если доезжает, то в каком виде?

… << RSDN@Home 1.1.3 beta 2 >>

Уйдемте отсюда, Румата! У вас слишком богатые погреба.
http://rsdn.org/File/5743/rsdnaddict.GIF

От:

Elena_

Россия

 
Дата:  20.04.04 21:41
Оценка:

Здравствуйте, Elena_, Вы писали:

E_>Я не уверена, что вообще можно выполнить CREATE TABLE через этот оберточный класс. Может быть, надо подключать DAO напрямую без MFC, или по-моему лучше использовать ADO.


E_>Но очень возможно, что я ошибаюсь, сейчас нет времени проверять.

Я еще посмотрела, из описания CREATE TABLE для JET:

Note The Microsoft Jet database engine doesn’t support the use of CREATE TABLE, or any of the DDL statements, with non-Microsoft Jet database engine databases. Use the DAO Create methods instead.

Если я не ошибаюсь в терминологии, то «Microsoft Jet engine databases» — это mdb файлы, а SQL server к ним не относится, судя по следующей цитате. Хотя я нигде не нашла четкого определения, что такое «Microsoft Jet engine databases».

Note For better performance when accessing external databases, including ISAM databases and ODBC data sources, it is recommended that you attach external database tables to a Microsoft Jet engine database (.MDB) rather than connecting directly to the data source.

Пользователь — друг программиста!

От:

Wind

Россия

 
Дата:  22.04.04 07:18
Оценка:

Здравствуйте, Elena_, Вы писали:

E_>>Я не уверена, что вообще можно выполнить CREATE TABLE через этот оберточный класс. Может быть, надо подключать DAO напрямую без MFC, или по-моему лучше использовать ADO.

Ладно, покажу свою безграматность. Чем отличаются DAO и ADO? Как можно подключить DAO без MFC обертки?

E_>Note For better performance when accessing external databases, including ISAM databases and ODBC data sources, it is recommended that you attach external database tables to a Microsoft Jet engine database (.MDB) rather than connecting directly to the data source.

E_>[/q]
Пусть я буду безграмотным до конца. Что такое ISAM?

От:

Wind

Россия

 
Дата:  22.04.04 07:34
Оценка:

Здравствуйте, Sinclair, Вы писали:

S>1. Вообще никакие DDL не проходят? Пример, приведенный в исходном постинге — довольно сложный.

Что такое DDL?
Ни какие команды по управлению(созданию и пр.) схемой данных не проходят. Все команды работы с данными проходят.

S>2. Что показывает профайлер? Доезжает ли команда до сервера? И если доезжает, то в каком виде?

Команды управления не доходят до Сервера. Ни в каком виде.

Еще один интересный момент. Если открывать access через ODBC (весь код тотже, но вместо пути до файла указать его DSN), то команды, также не пролазят, правда код ошибки другой:

Error Code = 3423
Source = DAO.Workspace
Description = Не допускается использование ODBC для импорта, экспорта или присоединения таблицы из внешней базы данных Microsoft Jet или базы данных ISAM.

Вот такое дао для DAO… Простите за каламбур.

Вопрос: какой механизм обращения к БД мне лучше использовать, чтобы избежать таких глюков (вернее не глюков а несовместимостей)? Два условия: 1) Компилятор VC7 2) На машину не должны устанавливатся какие-нибудь специальные пакеты. Только Windows + SP к нему + SQL Server.

От:

Elena_

Россия

 
Дата:  22.04.04 10:10
Оценка:

Здравствуйте, Wind, Вы писали:

W>Чем отличаются DAO и ADO? Как можно подключить DAO без MFC обертки?

W>Что такое ISAM?

Собственно и DAO и ADO это компоненты для работы с базами данных — DAO расшифровывается как Data Access Objects, а ADO как ActiveX Data Objects. Если Вы сделаете поиск в MSDN по любому из этих сокращений или по обоим, то получите кучу всего. Например:

Porting DAO Code to ADO with the Microsoft Jet Provider
Migrating from DAO to ADO Using ADO with the Microsoft Jet Provider
WP: Migrating DAO/ODBCDirect to ADO To Use MSDE

DAO — более старая технология, кажется, после 3.6 ее и не обещают развивать. У нее доволько узкий круг применения —
1) собственно mdb — то, что они называют Microsoft Jet engine database, хотя я не нашла четкого определения
2) через драйверы ISAM: у меня такой список, может быть, он устарел

Microsoft Fox Pro 2.0б 2.5б 2.6ь 3.0 (только для чтения) и DBC
dBASE III, dBASE IV, dBASE 5.0
Paradox 3.x, 4.x, 5.x
Рабочие листы Microsoft Excel 3.0, 4.0, 5.0, 7.0, 8.0
Microsoft Exchange и Outlook
Электронные таблицы Lotus 1-2-3 WK1, WK3, WKS
Таблицы в текстовых файлах с разделителями или колонками фиксированной ширины
Таблицы в файлах на языке гипертекстовой разметки HTML

Я лично с ISAM драйверами совсем не работала, по-моему это все устарело и сейчас не используется.

3) Источники данных ODBC — как раз Microsoft SQL Server и вообще все что угодно через ODBC, например Btrieve или Oracle

ADO — появилась после DAO, продолжает развиваться, и имеет гораздо более широкую область применения. Если есть OLE DB провайдер, то можно работать через ADO.

Welcome to ADO
Microsoft® ActiveX® Data Objects (ADO) enable your client applications to access and manipulate data from a database server through an OLE DB provider.

Использовать DAO можно через Microsoft JET или через ODBCDirect. Если Вы при создании DAO.Workspace указываете dbUseODBC, то напрямую обращаетесь к ODBC источнику, соответственно при работе с SQL server через ODBCDirect Вы просто выполняете команды T-SQL, в частности CREATE TABLE и вообще любые DDL. Если Workspace имеет тип dbUseJet, так по умолчанию (там в DBEngine есть DefaultType), то все DAO операции идут через Jet, в частности и CREATE TABLE — это не CREATE TABLE T-SQL, а CREATE TABLE для Jet SQL, а для нее имеется ограничение, о котором я говорила — только для mdb (если я правильно поняла документацию), соответственно Вы не можете через DAO без ODBCDirect выполнить CREATE TABLE и другие DDL. Вроде бы в этом случае они предлагают использовать методы DAO CreateTableDef, CreateQueryDef и т.п., я не пробовала.

А обертка MFC не включала эту возможность, там просто нет параметра, чтобы поменять тип Workspace, поэтому через оберточный класс CDAOWorkspace не получить ODBCDirect.

Я сама никогда не подключала DAO напрямую из C++, только через MFC обертку, из VB идет просто доступ к объектам и там нет проблем установить ODBCDirect, но думаю, что можно через #import или CoCreateInstance, потом GetIDsOfNames и Invoke, или любым другим способом, как компоненты подключаются.

Вообще говоря, если Вы начинаете задачу, наверное, лучше ориентироваться на ADO. Иногда при работе с Access действительно может пригодиться DAO, но это скорее уже личный выбор. При работе с SQL server однозначно лучше использовать ADO, DAO c ODBCDirect — худший выбор (собственно это появилось, когда ADO по-моему еще не было), а DAO Jet вообще по-моему не имеет смысл использовать для SQL Server’а.

Конечно, лучше если Вы посмотрите MSDN, так как я могу и наврать в теории, на практике у меня вот такие выводы.

Пользователь — друг программиста!

Подождите ...

Wait...

  • Переместить
  • Удалить
  • Выделить ветку

Пока на собственное сообщение не было ответов, его можно удалить.

I want to alter a table and add multiple columns to my table but I am getting error

syntax error in field definition

I am working with vb.net and MS Access 2013.

Here is my code:

cmd.Connection = con

cmd.CommandText = "ALTER TABLE Game_Player ADD QUESTIONS TEXT(50),USER_ANSWER TEXT(10),TIME TEXT(10),SECOND (10),lbl_Lock TEXT(10),lbl_vis TEXT(10)"
cmd.ExecuteNonQuery()

HansUp's user avatar

HansUp

95.3k11 gold badges74 silver badges135 bronze badges

asked Feb 17, 2016 at 19:03

Ashutosh's user avatar

3

Access SQL does support adding multiple columns with one ALTER TABLE statement.

The field definition error likely occurs due to the lack of a data type for the SECOND field. However two of the column names, SECOND and TIME, are reserved words. (Also see the link @Andrew provided.) Those names may also trigger errors, but it’s not always easy to predict when they will cause trouble. The safest alternative would be to choose column names which are not reserved words. If you must keep those names, bracket them in your SQL statement …

ALTER TABLE Game_Player
ADD COLUMN
    QUESTIONS TEXT(50),
    USER_ANSWER TEXT(10),
    [TIME] TEXT(10),
    [SECOND] TEXT(10),
    lbl_Lock TEXT(10),
    lbl_vis TEXT(10)

I included the COLUMN keyword and assumed TEXT as the data type for SECOND.

Community's user avatar

answered Feb 17, 2016 at 19:32

HansUp's user avatar

HansUpHansUp

95.3k11 gold badges74 silver badges135 bronze badges

0

I want to alter a table and add multiple columns to my table but I am getting error

syntax error in field definition

I am working with vb.net and MS Access 2013.

Here is my code:

cmd.Connection = con

cmd.CommandText = "ALTER TABLE Game_Player ADD QUESTIONS TEXT(50),USER_ANSWER TEXT(10),TIME TEXT(10),SECOND (10),lbl_Lock TEXT(10),lbl_vis TEXT(10)"
cmd.ExecuteNonQuery()

HansUp's user avatar

HansUp

95.3k11 gold badges74 silver badges135 bronze badges

asked Feb 17, 2016 at 19:03

Ashutosh's user avatar

3

Access SQL does support adding multiple columns with one ALTER TABLE statement.

The field definition error likely occurs due to the lack of a data type for the SECOND field. However two of the column names, SECOND and TIME, are reserved words. (Also see the link @Andrew provided.) Those names may also trigger errors, but it’s not always easy to predict when they will cause trouble. The safest alternative would be to choose column names which are not reserved words. If you must keep those names, bracket them in your SQL statement …

ALTER TABLE Game_Player
ADD COLUMN
    QUESTIONS TEXT(50),
    USER_ANSWER TEXT(10),
    [TIME] TEXT(10),
    [SECOND] TEXT(10),
    lbl_Lock TEXT(10),
    lbl_vis TEXT(10)

I included the COLUMN keyword and assumed TEXT as the data type for SECOND.

Community's user avatar

answered Feb 17, 2016 at 19:32

HansUp's user avatar

HansUpHansUp

95.3k11 gold badges74 silver badges135 bronze badges

0

 
alex_1234 ©
 
(2005-10-10 14:46)
[0]

Строка подключения:

  dbIK.ConnectionString:=
  "Provider=MSDASQL.1;Persist Security Info=False;"+
  "Extended Properties="DSN=Ôàéëû dBASE;DBQ="+
  PathIK+";DefaultDir="+PathIK+";DriverId=533;"+
  "MaxBufferSize=2048;PageTimeout=5;"";

где PathIK — содержит путь к папке с таблицами.
При попытке выполнить запрос:
  q2.Close;
  q2.SQL.Clear;
  q2.SQL.Add("CREATE TABLE PLUCASH(");
  q2.SQL.Add("ARTICUL char(30),");
  q2.SQL.Add("NAME char(80),");
  q2.SQL.Add("MESURIMENT char(10),");
  q2.SQL.Add("MESPRESISI NUMERIC(16,6)");
  q2.SQL.Add(")");
  q2.ExecSQL;

ругается следующим макаром:
....Ошибка синтаксиса в инструкции CREATE TABLE....


 
alex_1234 ©
 
(2005-10-10 14:52)
[1]

Забыл написать:
ориентировочно ошибка в q2.SQL.Add(«MESPRESISI NUMERIC(16,6)»);
т.к. без этого поля все прекрасно создается.
А БДЕ — (СКуэЛь експлорер) — все прекрасно работает 🙁


 
Reindeer Moss Eater ©
 
(2005-10-10 14:56)
[2]

А БДЕ — (СКуэЛь експлорер) — все прекрасно работает 🙁

Работает, потому что в LocalSQL есть такой тип поля.


 
alex_1234 ©
 
(2005-10-10 15:00)
[3]

Но ведь не может быть такого, чтобы в ADO не было аналогичного типа….
Подскажите, в каком хлп-файле нарыть типы полей поддерживаемых АДО…


 
sniknik ©
 
(2005-10-10 15:38)
[4]

> CREATE TABLE PLUCASH … ARTICUL …
;о) супермаг dos. ;о)

просто
MESPRESISI NUMERIC
и все без всяких (16,6). поддерживается только емулируемый тип (под double) с размерностью 20,5 который и будет создан по умолчанию. без указаний.

но это тебе конечно не поможет. -> супермаг… %о)

> в каком хлп-файле нарыть типы полей поддерживаемых АДО…
Jet — JETSQL40.CHM. а АДО поддерживает все что поддерживает подключаемый драйвер/провайдер. кроме разных мелких 🙂 досадных недоразумений. (бигинт…)


 
mr.il ©
 
(2005-10-10 15:47)
[5]

Попробуй прописать название таблицы с расширением — PLUCASH.dbf.


 
alex_1234 ©
 
(2005-10-10 16:04)
[6]

mr.il : писал — не выходит каменный цветок.
Попробую как писал sniknik — а вдруг «съест»


 
Reindeer Moss Eater ©
 
(2005-10-10 16:56)
[7]

Но ведь не может быть такого, чтобы в ADO не было аналогичного типа….

Почему не может? Может. Зависит от завихрений автора используемого провайдера. Кроме того, этот типа там может просто называться по другому.


 
Reindeer Moss Eater ©
 
(2005-10-10 16:58)
[8]

Судя по всему у тебя провайдер использует ODBC.
Вот и посмотри как по стандарту ODBC зовется такое поле.


 
Anatoly Podgoretsky ©
 
(2005-10-10 18:55)
[9]

Reindeer Moss Eater ©   (10.10.05 16:58) [8]
Не судя по всему, а так и есть MSDASQL


 
alex_1234 ©
 
(2005-10-11 16:23)
[10]

Блин, как бы мне этого не хотелось — а пришлось делать через «ж..у»:

  dbMag.ConnectionString:=
  "Provider=MSDASQL.1;Persist Security Info=False;"+
  "Extended Properties="DSN=Òàáëèöû Visual FoxPro;UID=;"+
  "SourceDB="+PathMag+";SourceType=DBF;Exclusive=No;"+
  "BackgroundFetch=Yes;Collate=Machine;Null=Yes;"+
  "Deleted=Yes;"";
  dbIK.ConnectionString:=
  "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+PathIK+
  ";Extended Properties=dBase IV;Persist Security Info=False";

т.е. для разных запросов — разные типы полключения:
для таблиц FoxPro — MSDASQL,
а для dBase — Microsoft.Jet.OLEDB

Утешает, что в предыдущих версиях был еще БДЕ, а тут его не будет…


 
sniknik ©
 
(2005-10-11 17:39)
[11]

> был еще БДЕ, а тут его не будет…
будет!!! ;о)) оно живее всех живых. Jet использует BDE.  полное если стоит, либо урезаное(лайт версия унутрях) если нет.


 
alex_1234 ©
 
(2005-10-11 17:53)
[12]

Да я бы все на БДЕ делал-бы (да и в комплект 4 СуперМага она входит), но она не хочет делать один запрос (4 таблички вяжутся, правда весьма несложно) — ругается на индексный файл (таблица Фокса)….


Правила форума
При создании новой темы не забывайте указывать используемую СУБД.

VINNY-PYX
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя

 
Сообщения: 125
Зарегистрирован: 02.02.2004 (Пн) 17:24
Откуда: из роддома
  • ICQ

Создать таблицы в Access 2003 с помощью SQL

Мне нужно создать две таблицы и потом связать их. Для оракула делал так:

Код: Выделить всё


CREATE TABLE permitions (

  id NUMBER PRIMARY KEY,

  name varchar(16)

);

CREATE TABLE users (

  id NUMBER PRIMARY KEY,

  login varchar(16),

  pass varchar(32),

  perm REFERENCES permitions(id)

);

Но ВБ ругается: «ошибка синтаксиса при определении поля». Я думаю это изза REFERENCES так как первая таблица успешно создается.

Как мне вооплотить замысел?

Если вручную добавить таблицу users, то при исполнении

Код: Выделить всё


CREATE TABLE staff (

  id NUMBER PRIMARY KEY,

  pid NUMBER,

  firstname varchar(20),

  middlename varchar(20),

  lastname varchar(20),

  salary NUMBER,

  CONSTRAINT pers_id

   FOREIGN KEY (pid)

   REFERENCES users(id)

   ON DELETE CASCADE

);

вылазит ошибка: «отношение должно быть задано для одинакового количества с одинаковыми типами данных»

Как исправить?

И еще: триггеры работают?


alibek
Большой Человек
Большой Человек
 
Сообщения: 14204
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 13.08.2007 (Пн) 8:00

Триггеров в настольной базе данных нет.

Типа данных NUMBER тоже нет, используй INT или DECIMAL.

Lasciate ogni speranza, voi ch’entrate.


VINNY-PYX
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя

 
Сообщения: 125
Зарегистрирован: 02.02.2004 (Пн) 17:24
Откуда: из роддома
  • ICQ

Сообщение VINNY-PYX » 16.08.2007 (Чт) 0:11

При програмном добавлении таблицы ADOX.Catalog.Tables.Count не изменяется до перезапуска программы. как это исправить?


alibek
Большой Человек
Большой Человек
 
Сообщения: 14204
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 16.08.2007 (Чт) 7:45

А как добавляешь?

Refresh делаешь?

Lasciate ogni speranza, voi ch’entrate.


VINNY-PYX
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя

 
Сообщения: 125
Зарегистрирован: 02.02.2004 (Пн) 17:24
Откуда: из роддома
  • ICQ

Сообщение VINNY-PYX » 17.08.2007 (Пт) 18:08

спс. рефрешить католог надо было. Я refresh в ADOX.Catalog’е искал, а он был в ADOX.Catalog.Tables.


Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя

 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край
  • ICQ

Сообщение Денис » 17.08.2007 (Пт) 22:17

VINNY-PYX

Чтобы поймать юзера — думай, как юзер: В Access открой редактором новый запрос на создание таблицы, визуально создай все поля, а затем открой полученный запрос в SQL-виде.

Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.



Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Access 2010 ошибка 2001
  • Acrobat reader ошибка инициализации приложения при установке