02.04.2003, 13:07 | #1 |
Участник
|
Navision Attain и DBF
Подскажите пожалуйста, могу ли я каким-нибудь образом из аттэйна работать напрямую с DBF-файлом? Необходима загрузка/выгрузка данных.
|
|
02.04.2003, 13:37 | #2 |
Участник
|
Да, такой механизм реализуем.
К примеру, чтение из dbf : Во-первых, создаем источник данных ODBC - 'DBF'. Затем в Navision объявляем переменные: DBFBase Automation 'Microsoft ActiveX Data Objects 2.5 Library'.Connection DBFFile Automation 'Microsoft ActiveX Data Objects 2.5 Library'.Recordset Затем код: CREATE(DBFBase); CREATE(DBFFile); DBFBase.Open('DBF'); DBFFile.Open('de_calls.dbf',DBFBase); // 'de_calls.dbf' - имя файла IF NOT(DBFFile.EOF) THEN DBFFile.MoveFirst(); IF NOT(DBFFile.EOF) THEN BEGIN REPEAT Selected:=DBFFile.Fields().Item('ext_call').Value; //значение столбца 'ext_call' DBFFile.MoveNext(); UNTIL DBFFile.EOF; END; DBFFile.Close(); DBFBase.Close(); CLEAR(DBFBase); CLEAR(DBFFile); |
|
02.04.2003, 17:02 | #3 |
Участник
|
Огромное спасибо! Все заработало!
|
|
04.04.2003, 07:09 | #4 |
Участник
|
А как тогда создать таблицу и внести в нее данные не используя код вроде этого:
DBFBase.Execute('CREATE TABLE... и DBFBase.Execute('INSERT INTO... у меня только так получилось. |
|
26.06.2003, 11:03 | #5 |
Участник
|
Rungart - я попытался использовать Ваш пример, но столкнулся с проблемой.
При выполнении строчки: DBFFile.Open('de_calls.dbf',DBFBase); // 'de_calls.dbf' - имя файла - появляется следующее сообщение об ошибке: Вызов функции Open неудачен. Microcost OLE DB Provider for ODBC Drivers вернул следующее сообщение:[Microsoft][Драйвер ODBC dBase] Ошибочная инструкция SQL; предполагалось 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' или 'UPDATE'. В чем может быть проблема? |
|
26.06.2003, 12:45 | #6 |
Участник
|
Скорее всего, проблема в следующем: когда создаешь источник данных DBF необходимо убрать галочку "Использовать текущий каталог" и при помощи кнопки "Выбор каталога..." указать директорию с dbf файлами.
|
|
27.06.2003, 09:25 | #7 |
Участник
|
Rungart - большое спасибо за подсказку! Но я столкнулся с еще одним интересным фактом, как оказалось, нельзя использовать файл с именем database.dbf, т.к. выражение DATABASE - зарезервированное. Или все же как-то можно и такое имя файла использовать?
|
|
16.07.2004, 16:18 | #8 |
Гость
|
поднимая старую тему.
Задача - зацепить DBF-ник из 1c. с классификаторами банков. Прописал к нему дорожку, как вы описали, открылся, считался. Беда в русских названиях. Получается полная чепуха. Вот такая строчка из ДБФ-а: └╦╥└╔╤╩╚╔ ╩╨└╔ считывается вот так: LTTLãT¦Lã ¦¦Lã по русски там написано: "АЛТАЙСКИЙ КРАЙ" Попробовал поиграться с параметром Collating Sequence в драйвере ODBC - не помогло. Пробовал разные версии Automation - то же самое. Кто знает, чем помочь? |
|
20.07.2004, 10:04 | #9 |
Участник
|
В codeunit 12400 есть функция Dos2Win, можно написать обратную - Win2Dos
|
|
20.07.2004, 11:19 | #10 |
Участник
|
PHP код:
|
|
|
За это сообщение автора поблагодарили: Sancho (2). |
20.07.2004, 12:10 | #11 |
Участник
|
+
168 -> 240 184 -> 241 |
|
07.10.2004, 17:52 | #12 |
Участник
|
При использвании данного примера, вылезла такая бяка:
"... Этот тип данных не поддерживается C\SIDE . Вы можете использовать данные любого из следующих типов : VT_VOID... и т.п." Ругается на строковое поле из 4-х символов... Как бороться??? Что не нравиться??? |
|
04.11.2004, 11:43 | #13 |
Участник
|
У меня така ж беда, как бороться?
|
|
04.11.2004, 13:29 | #14 |
Участник
|
__________________
Удачи! |
|
04.11.2004, 13:33 | #15 |
NavAx
|
|
|
04.11.2004, 14:42 | #16 |
Участник
|
Эта ошибка возникает если поле в дбфе пустое и нав тип определить не может, вышел с помощью этого:
FL := FS.Item('ind'); IF FL.ActualSize > 0 THEN .... |
|
10.11.2004, 17:14 | #17 |
Участник
|
столкнулся с проблемкой.
для чтения из DBF использую драйвер Microsoft Visual Fox Pro все нормально пока не натыкаюсь на символы псевдографики 176 - 178 (может еще какие то , но пока эти) драйвер их не понимает и возвращает 32 код (пробел). DBF -ки старые еще под досом работающие. как бы мне эти циферки получить вместо пробела? может кто сталкивался с проблемой? заранее благодарю.
__________________
Удачи! |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Navision Attain + SQL | 3 | |||
Запуск Navision Attain из командной строки | 7 | |||
Navision Attain через Citrix | 2 | |||
Переход на Navision Attain | 3 | |||
Переход к Navision Attain | 0 |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|