Текущий архив: 2005.03.06;
Скачать: CL | DM;
Вниз
Импорт таблиц dbf в Access Найти похожие ветки
← →
Lelik (2005-01-14 07:13) [0]Есть проблема. В таблицу Access 2002 импортируются файлы Dbase IV, используя DAO 3.6 версии. При установке на комп Delphi 6,
та же операция невозможна, Access выдает ошибку "Индекс не найден". Пробовал в реестре копаться, исправлять ветки соотв.- не помогает. Убираю Delphi 6 - все работает. Где что исправить
чтобы Access работал совместно с Delphi?
← →
sniknik © (2005-01-14 08:36) [1]не ставь BDE, тогда оно будет работать по старым методам.
но лучше исправь ошибку в программе, гдето ты не учитываеш индекс (к примеру те файлы откуза идет загрузка скопированы, только dbf без лежаших рядом индексов. а признак индексации в файлах не снят).
← →
Lelik (2005-01-14 09:00) [2]Дело в том, что BDE не хочет не ставиться. А потом, если я буду
пользоваться стандартными компонентами Delphi доступа к данным,
то я понимаю что они без BDE не работают.
Насчет второго варианта, где копируются индексы, тоже не работает. Ошибку выдает (щас точно не помню). Дело еще в том,
что в коде программы, где происходит импорт вообще не указывается
индекс (синтаксис не предусматривает)
← →
sniknik © (2005-01-14 11:23) [3]> Дело в том, что BDE не хочет не ставиться
может быть, не обращал специально на это внимания но вроде была там при установке такая галочка "установить BDE", или это раньше было на более старых версиях дельфей.
в любом случаае это неправильный вариант, вроде шутки. ошибку исправить эффективнее.
> А потом, если я буду
> пользоваться стандартными компонентами Delphi доступа к данным,
> то я понимаю что они без BDE не работают.
неправильно понимаеш, есть куча не менее стандартных компонент для бд которым не нужен BDE.
> Насчет второго варианта, где копируются индексы, тоже не работает.
т.е. то что оно так делалось я угадал? ;).
> Ошибку выдает (щас точно не помню).
записывай, если не запоминаеш. ошибка прямо указывает (если возможно) на то от чего произходит.
> Дело еще в том,
> что в коде программы, где происходит импорт вообще не указывается
> индекс (синтаксис не предусматривает)
таблица открывается? (может ты ее там просто копируеш как файл не открывая) если да то индекс подключается (пытается), если есть признак индексированности в файле (если не находит/нестандартный индексный файл/и .т.д. дает ошибку). и плевать на синтаксис.
← →
Lelik (2005-01-14 11:56) [4]Еще раз повторюсь, что у меня все работало и я использую
команду
DoCmd.TransferDatabase(TransferType, DatabaseType, DatabaseName, ObjectType, Source, Destination, StructureOnly, StoreLogin)
там вообще ни про какие индексы нет и речи. Скорее всего это
борланд (инпрайс) устанавливает свои драйвера и программа ссылается на них. Мне просто надо, чтобы Access2002 работала
и Delphi6 тоже. От BDE отказаться не получилось, иначе она не ставиться. Делать загрузку с разными операционками считаю тоже не правильно, т.е. обходной вариант
← →
sniknik © (2005-01-14 12:05) [5]> Еще раз повторюсь, что у меня все работало и я использую
еше раз повторюсь, с BDE и без разные методы для работы через теже команды. т.е. на уровне самого движка. если есть BDE то работает через него.
← →
Lelik (2005-01-14 14:06) [6]Значит не устанавливаем BDE?
← →
sniknik © (2005-01-14 14:09) [7]тебе решать, но я бы приорететнее поставил задачу о нахождении/искоренении ошибки в программе.
← →
Lelik (2005-01-14 16:04) [8]Но почему ошибка? Мне в Access не нужны индексные файлы, ведь оно
все работало. Мне главное чтобы эти две системы должны работать
параллельно. У меня раньше были подобного рода (правда без Д.)
но я обходился другими способами, т.е. не исправляя код.
Ну либо, какие скажем команды в Access (если есть) импортируют
файлы, используя индексы?
← →
sniknik © (2005-01-14 16:21) [9]> Но почему ошибка?
какаято у нас сказка про белого бычка получается, по моему я уже пару раз все обьяснил.
> Мне в Access не нужны индексные файлы
не нужны не используй. (отключи)
> ведь оно все работало.
потому что движок тобой используемый сам в свою очереди использовал другие драйвера... что поменялось при установке BDE. а впрочем см. 1 высказывание.
> Мне главное чтобы эти две системы должны работать
> параллельно. У меня раньше были подобного рода (правда без Д.)
> но я обходился другими способами, т.е. не исправляя код.
твои проблемы (мне например надо чтобы каждый день на работе был днем получки... ;о)), кого бы ради этого "исправить"? ;)
> Ну либо, какие скажем команды в Access (если есть) импортируют
> файлы, используя индексы?
они все... пытаются, вот реакция на ненайденный может быть разной. (разные исамы тоже ведут себя по разному)
← →
Lelik (2005-01-14 16:43) [10]Ладно, не будем за рыбу деньги. Ясно что это не я виноват :-)
Не знаю, пока не нашел, где индексы отключить.
Если б знал не спрашивал, да и ты туманно так не отвечал бы,
еслиб точно знал
← →
sniknik © (2005-01-14 16:56) [11]> Если б знал не спрашивал, да и ты туманно так не отвечал бы,
> еслиб точно знал
я то как раз знаю, как минимум 3 варианта отключения индекса. но ты это как раз и не спрашивал.
так разговор "за жисть", вместо описания процесса, типа файлов/подключения, проблемы в общем. (единственно ценная инфа что файлы копируются без индексных и то это я догадался а не в исходных данных "проблемы")
а туманные ответы у меня исключительно на туманные вопросы (надеюсь ;), люблю поговорить туманно (особенно с незарегистрированными никами). развлечение у меня такое.
← →
Lelik (2005-01-14 17:23) [12]Ну, пока не зарегистрировался, токмо первый раз на форуме, на этом. И меня привела к этому нужда (см. выше), т.к. мне нужно поставить Дельфи и еще работать в Акцесс (см.выше)
Ну если знаешь способы отключения этих индексов, то скажи пожалуйста, либо как обойти эту проблему. Хотя боюсь дело в том, что если
быть может эту проблему устраня, можно получить другую, при других операциях в Accesse будет выдаваться другая ошибка. Т.к.
драйвер останеться тот же. Скорее всего у него более старая версия, чем я использую.
Насчет файлов. Файлы импортируются Dbase IV. Строка кода указана
выше.(TransferDatabase). Что хочешь узнать еще?
← →
sniknik © (2005-01-14 17:55) [13]> Ну если знаешь способы отключения этих индексов, то скажи пожалуйста, либо как обойти эту проблему.
это надо до копирования делать (пока еще индекс есть, "обойдеш" "проблему")
DbiDeleteIndex - удаление пока еще все нармально. (то же самое можно у компанента)
DROP INDEX [index] ON [table] - естественно тоже пока еще нормально, в любом sql движке который поддерживает данные таблицы.
это можно после (до открытия "штатными"/твоими средствами)
DbiRegisterCallBack - это при потере файлов индексов, в хелпе есть пример снятия "индексности"
открыть таблицу через VFP ODBC драйвер, он снимает признак при ненайдености нужных файлов. (но блокирует файлы на удаление до "выгрузки" движка ;)
обнулить байт 28 (по правильному счету ;о) в файле ("хакерский" способ, неприветствуется)
> Что хочешь узнать еще?
все что считаеш нужным сообшить. если этого не хватит для "обозначения" проблемы, то это мы уже проходили... ;о))
например то, что ты сказал что пробовал копировать и индексные файлы, это хорошо, но не написал названия... а по названиям (примеров) можно сказать а найдет ли вообше такие (при несовпадении имен таблиц/индексов, или руские названия... и т.д. и т.п. я даже не знаю что возможно будет, много вариантов, а тебе для решения это нужно (или разговор за жизнь?), т.что пиши процесс по максимуму но не "растекаясь" мыслью (как я сейчас ;о)))
← →
Lelik (2005-02-04 07:25) [14]Ошибку можно исправить вот как
http://am.rusimport.ru/MSAccess/topic.aspx?ID=234
Страницы: 1 вся ветка
Текущий архив: 2005.03.06;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.038 c