| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Foxpro/Clipper/Dbase > странная dbf |
| Автор: Graers 14.6.2007, 07:48 |
| Прошу помощи (совета) в такой вот связи: Есть dbf состоящая из 600 полей. Постояно возникает необходимость создания запросов к ней при помощи VBA. Драйвера VFP не видят этот файл как таблицу dbf. DBASe тоже не позволяет с ней работать т.к. в заголовке у неё стоит F5. Существуют ли какие способы работы с такими вот dbf на предмет создания к ним запросов, поключений? |
| Автор: Cashey 14.6.2007, 13:03 |
| попробуй через OLE DB. ODBC глючит при работе с локальными таблицами, ей контейнер БД подавай |
| Автор: nitr 14.6.2007, 22:25 |
| Graers, вам верно подсказали, вы загляните ещё на форум VBA, там были примеры работы с БД через OLE DB (это конечно если вы не знаете как). А по идее - даже Excel может открыть такую БД. А что значит ваш F5, в hex? |
| Автор: Данкинг 14.6.2007, 22:51 |
| А как сиё возможно, в DBF же только 254 поля может быть?! |
| Автор: Cashey 15.6.2007, 08:58 |
я подумал, что речь идет о записях, а не о полях хотя лучше получить пояснения у автора вопроса...... |
| Автор: Graers 15.6.2007, 11:43 |
| Именно о полях идёт речь полей-601. вот такая dbf... Ч-з OLE DB-нужно все равно нужно указывать провайдера. Как только указываю провайдером фокса то таблица сразу попадает в разряд "не фоксовских" из-за числа полей. Если ломаю заголовок на DBASE (типа 0Х03), то теряю мемо-поля . Некоторые редакторы успешно открывают эту таблицу, в т.ч. видят и мемополя. Так что выхода не видится мне. |
| Автор: nitr 15.6.2007, 12:48 |
| Тогда может стоит выложить эту dbf-ку? Я тож несразу заметил слово "полей"... |
| Автор: Graers 15.6.2007, 13:04 |
| выложил пустую |
| Автор: nitr 15.6.2007, 15:51 |
| "тупо" открылся в Excel'е, предпоследний столбец "TEMPLATE" |
| Автор: Данкинг 15.6.2007, 20:27 |
| Фокс пишет, что мемо-поле испорчено. А как вообще создали такую таблицу?! |
| Автор: Graers 15.6.2007, 20:34 |
| Да понятно,что ексель тупо откроет свое кол-во полей(по кол-ву имеющихся у него столбцов)- вопрос не в этом. Добавлено через 2 минуты и 35 секунд Мемо мож пишет из-за того, чтоя его в хексе удалял. Фокс- мне по идее вообще не видит её как таблицу. Попробую в понед. непустую выложить. Создавали из дельфей, при помощи компонента прямого доступа |
| Автор: Graers 18.6.2007, 07:38 | ||
Ага, действительно, фигня какая-то... Сейчас другую положу |
| Автор: mutex 24.6.2007, 11:53 |
| Graers, это самопальный ДБФ. Стандарт допускает до 255 полей в записи. Следовательно, ни один из стандартных методов доступа типа ADO, BDE или сторонних компонентов не подойдут. Надо все делать ручками, т.е. работать на уровне двоичного файла. Изучайте формат DBF-файла. Структуру записей Вашего файла прилагаю в архиве ARCHIV_STRUCT.zip |
| Автор: Graers 27.6.2007, 12:16 |
| Спасибо. Структура у меня есть. Понятно-будем думать в этом направлении |
| Автор: Cashey 10.7.2007, 09:23 |
| Access'ом она открывается. Попробуй коннектится к ней через драйвер access |