Вход | Регистрация

1С:Предприятие ::

Метки:

Чтение DBF файлов

Я
   Wow__cooL
16.02.04 - 21:28
Пишу:
Файл = создатьОбъект("XBASE");
Файл.ОткрытьФайл(ЗагрФайл); 
Файл.КодоваяСтраница(0);//задаем кодировку: 0 -windows, 1 - DOS 


Если Файл.Открыта()=0 Тогда//проверяем, удалось ли открыть файл     

    Сообщить("Не удалось открыть файл!"); 
    Возврат;
КонецЕсли; 
Файл.ОткрытьФайл(ЗагрФайл); 


Выдает ошибку:
{Отчет.ПрайсЛист.Форма.Модуль(7)}: Формат файла отличен от .DBF!

Открываемый мною файл создается в моей программе, написанной на Delphi 6, состоит из двух полей Kode и Zakaz, Table Type - Visual dBase7  
Смотрела файл, созданный через программу просмотрщик DBF - там поля все начинаются на _ChtoTo, а тип Table Type DBaseIV 2.0. Я программно ставлю тип таблицы ttDBase, больше вроде никак изменить невозможно.

Причем вторую таблицу (которая не в моей проге создана) 1С открывает, а мою нет. Что неправильно?
 
 
   GrayT
 
1 - 16.02.04 - 21:52
Delphi давно это было. Похоже проблема в самом dbf. Попробуй типом таблицы поиграться и в BDE настройки
   Wow__cooL
2 - 16.02.04 - 21:57
А вот в том-то и дело, что тип таблицы другие просто не подходят (ну Парадох, ФохПро) - если программно задавать, а вот в настройках BDE изменить уже нельзя - говорит, не могу и все...

Обидно... Почти ведь закончила прогу, а тут такая ошибка...
   GrayT
 
3 - 16.02.04 - 22:01
Если честно програмно не создавал ни когда или проблем таких не было. Но вот когда создается ручками помню выбирать можно было, какой дбф.
   Wow__cooL
4 - 16.02.04 - 22:01
А что значит создавал ручками - это через что?
   GrayT
 
5 - 16.02.04 - 22:07
Дык был там инструмент какойто, где можно было описать все поля и создать таблицу. А на форму уже только кидаешь TTable и TDataSourse, А в TTable прописываешь существующий файл. Я делфи уже три года не открывал :(
   Wow__cooL
6 - 16.02.04 - 22:15
А еще по документу:
Док.Новый();
    Док.НоваяСтрока();
    ДокТовар.НайтиПоКоду(КодТовара);
    Док.Товар=ДокТовар.ТекущаяСтрока().Наименование;
Это правильно?
Он ругается на Наименование
   Wow__cooL
7 - 16.02.04 - 22:17
Вопрос (6) снят - сама нашла ошибку :)
   GrayT
 
8 - 16.02.04 - 22:23
Кусок делфи где таблицу создаешь дай, плз
   Wow__cooL
9 - 16.02.04 - 22:27
with tMain do begin
  Active := False;
  DatabaseName := 'DBF';
  TableType := ttDBase;
  TableName := lFile.Caption+'vFT.dbf';

 if not tMain.Exists then begin
   with FieldDefs do begin
     Clear;
     with AddFieldDef do begin
        Name := 'Kode';
        DataType := ftString;
        Size:=10;
      end;
     with AddFieldDef do begin

        Name := 'Zakaz';
        DataType := ftFloat;
      end;
    end;
    CreateTable;
  end;
end;

Это последний вариант, первоначально было через SQL
   GrayT
 
10 - 16.02.04 - 22:33
Вспомнил как вручную создавал - DataBase Desktop. И с типом в свое время мучался. Если вспомню...
 
  Рекламное место пустует
   GrayT
 
11 - 16.02.04 - 22:36
Так если на форме нет TDatabase. он создается не явно. а если он на форме явно, то там можно указать какой драйвер использовать
   Wow__cooL
12 - 16.02.04 - 22:36
В данном случае DBD не поможет, к сожалению...

а по поводу моей ошибки - он мне выдает сообщение
---------------------------
CODEBASE ERROR
---------------------------
Error #: -200
File is not a Data File
C:\DBF\New4vFT.dbf

---------------------------
ОК  
---------------------------
   Wow__cooL
13 - 16.02.04 - 22:38
а по поводу задания типа DataBase - выбрать DB2 или Microsoft Driver?
   romix
14 - 17.02.04 - 03:14
У DBF не всегда совместимые индексы. Лечение: удалить файлы CDX. 1С их создаст какие ей нужны. Иначе лезут необъяснимые глюки.
   Шершень
 
15 - 17.02.04 - 07:23
(0) Вообще-то известно, что Одинэсик работает с типом файла dBase III (и 8.0 тоже!). У тебя dBase IV. Может, в этом дело?
   Sh_s
 
16 - 17.02.04 - 10:58
А всегда предпологал что 1С-ка юзает фокс-про'шные таблицы. И работал через ODBCAD из простите-Дельфей. Все получалось на ура.

Для Wow__cooL: А чего отказались от SQL варианта с таблицами?
   345
17 - 17.02.04 - 11:52
При создании файла программно можно управлять типом ДБФ, указав параметр нужного типа ... Какой - сейчас не помню.... смотрел в свое время в RxLib... там расписано ....
   Wow__cooL
18 - 17.02.04 - 22:18
(14) используется только собственно файл DBF, никаких индексов нету
(15) DBaseIV - таблица создана не моей прогой, 1С этот файл открывает нормально, а мой Dbase7 не хочет
(16) от SQL не отказывалась, просто попробовала с таблицей создать - но сейчас все равно остался SQL
(17) ...и никак не вспомнить?


Список тем форума
 
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует