Индекс | |
---|---|
rusl Сообщений: 200 Откуда: СПб Дата регистрации: 01.02.2005 |
Создаю структурный индекс для таблицы.
Чтобы потом использовать его в:
Но на строке Set Order To Tag Word (если таблица с индексом не создается заново, а используется уже созданная (то есть 'NormalTab.DBF' уже существует)) Фокс ругаясь говорит: Table has no index order set. (26). Видно при открытии таблицы он не открыл индекс. Но разве такое может быть если индекс составной? Отредактировано (03.04.05 17:42) ------------------ |
Re: Индекс | |
---|---|
Aries Сообщений: 4349 Откуда: Николаев Дата регистрации: 24.12.2002 |
Естественно! Ты открыл таблицу, не открыл индекс. Надо так
------------------ Я бы переписал жизнь, но Бог не дает мне исходники (с) ============================== Злостный линуксоид! |
Re: Индекс | |
---|---|
Владимир Максимов Сообщений: 14100 Откуда: Москва Дата регистрации: 02.09.2000 |
Цитата:Нет, проблема не в этом. Он же создает структурный индексный файл, который должен открываться автоматически с открытием таблицы. Скорее всего, у него проблема в выборе текущей директории. Есть сильное подозрение, что он создает и открывает разные таблицы. Т.е. команда USE дается для одной таблицы, а CREATE TABLE - создает таблицу в другой директории. Или опять что-то намулрил с алиасами. Например, открыл какую-нибудь другую таблицу с алиасом NormalTab. |
Re: Индекс | |
---|---|
rusl Сообщений: 200 Откуда: СПб Дата регистрации: 01.02.2005 |
Владимир, Вы кажется правы. Потому что даже когда она запускается (то есть в цикле IF.. ENDIF срабатывает ELSE и создается новая таблица) процедура работает, но ничего в NormalTab не сохраняет. Таблица остается пустой.
Но я же создаю таблицу один раз и у нее не должно быть дубликатов.
Может есть какие то хитрости при переходе от одной процедуры к другой? |
Re: Индекс | |
---|---|
rusl Сообщений: 200 Откуда: СПб Дата регистрации: 01.02.2005 |
Про не сохранение в NormalTab кажется погаречился. Вставил в цикл FLUSH и стал сохранять. Но с индексом все равно проблема.
|
Re: Индекс | |
---|---|
Владимир Максимов Сообщений: 14100 Откуда: Москва Дата регистрации: 02.09.2000 |
Это все слишком сложно. "Надо быть проще, и народ к тебе потянется" (с)
Имею в виду, что нет смысла проверять каждую таблицу. Вообще не вижу смысла во всех этих "навротах". Ты либо создаешь базу данных целиком, либо используешь ранее созданную базу данных. А делать проверку на каждую таблицу - просто бессмысленно. Т.е. общая логика должна быть примерно такая:
Контроль факта существования таблиц не имеет смысла ни в одном из вариантов. Если база данных существует, то пути доступа к таблицам прописаны в самой базе данных. Просто открываем таблицы не задумываясь о том, где они лежат и лежат ли вообще. Если базы данных НЕ существует, то, разумеется, нет и таблиц, ее составляющих. Просто создаем безо всякого контроля их существования. |
Re: Индекс | |
---|---|
rusl Сообщений: 200 Откуда: СПб Дата регистрации: 01.02.2005 |
О! Убрал "навороты" и заработало
Скажите Владимир, а если у меня две БД. Могу я из одной БД обратится к таблице другой БД или есть какие то сложности? |
Re: Индекс | |
---|---|
Igor Korolyov Автор Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi rusl!
Цитата:Что значит "из БД"? Фокс не обращается "ИЗ БД" - он обращается из контекста некоторой программы (метода/формы и т.п.) - и нету никаких проблем в том, чтобы открыть 2, 3, ... 100 БД и обращаться к их таблицам. Да, если БД имеют одинаковые имена, то сложно не запутаться в них - SET DATABASE TO полный_путь_к_БД\Имя_БД.dbc + USE SomeTable помогут конечно, но это слишком сложно IMHO. ------------------ WBR, Igor |
Re: Индекс | |
---|---|
rusl Сообщений: 200 Откуда: СПб Дата регистрации: 01.02.2005 |
То есть если открыто две БД я могу открывать во всех процедурах программы любую таблицу из этих баз?
|
Re: Индекс | |
---|---|
Igor Korolyov Автор Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi rusl!
Да. Впрочем даже если БД НЕ открыта, ты можешь открывать её таблицы (БД откроется автоматически). Просто для "текущей" БД не обязательно указывать пути... ------------------ WBR, Igor |
© 2000-2024 Fox Club  |