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

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) ...и никак не вспомнить?


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