Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с dbf файлом!!!


Страницы:   1 2

Term ©   (2003-06-04 14:23:00) 

Проблема вот в чот пытаюсь открыть базу и получаю сообщение
"Full dBase expressions not supported", как с этим бороться???


sniknik   (2003-06-04 17:54:00) [1]

> sniknik © ты вроде пользуешся посоветуй что и как
пользуюсь только индекс для клипера

if (not FileExists(BaseDir+"\G_Artikl.Ntx")) or ((inWot = inOther) and isGoodsChanged) then
try
AddLog("Переиндексация таблици Goods.Dbf", FileIndexShow);
TDest.Active:= False;
TDest.TableName:= "Goods.Dbf";
TDest.Active:= True;
if not FileExists(BaseDir+"\G_Artikl.Ntx") then TDest.IndexOn(BaseDir+"\G_Artikl.Ntx", "", "ARTIKL", "", Unique, Ascending);
if (inWot = inAll) or (inWot = inOther) then begin
TDest.IndexOn(BaseDir+"\Goods_g.Ntx", "", "RUPPER(FIRM_NAME)", "", Unique, Ascending);
TDest.IndexOn(BaseDir+"\G_Price.Ntx", "", "COST", "", Duplicates, Ascending);
TDest.IndexOn(BaseDir+"\G_Bar.Ntx", "", "BAR_CODE", "", Duplicates, Ascending);
end;
TDest.Active:= False;
except
on E: EDataBaseError do DoIfError(E.Message);
else DoIfError("Неизвестная ошибка!");
end;
if not FileExists(BaseDir+"\DiscCrd.Ntx") then
try
AddLog("Переиндексация таблици DiscCli.Dbf", FileIndexShow);
TDest.Active:= False;
TDest.TableName:= "DiscCli.Dbf";
TDest.Active:= True;
TDest.IndexOn(BaseDir+"\DiscCrd.Ntx", "", "PADR(STR(Type,3,0),3) + PADR(CODE,25) + STR(GR1,6,0) + STR(GR2,6,0) + STR(GR3,6,0) + STR(GR4,6,0) + STR(GR5,6,0)", "", Duplicates, Ascending);
TDest.Active:= False;
except
on E: EDataBaseError do DoIfError(E.Message);
else DoIfError("Неизвестная ошибка!");
end;


Term   (2003-06-04 17:03:00) [2]

ну это параметр который разрешает или запрещает дублированные записи, Unique взят от тудаже, кстати на эту строку ругается также, токо теперь Duplicates становится неизвестным идентификатором, так что я не совсем еще сума сощол...


Sandman25   (2003-06-04 17:00:00) [3]

И где тут Unique???


Term   (2003-06-04 16:59:00) [4]

вот оригинальная строка

IndexOn("MYFILE.CDX","LNAME","LASTNAME","LASTNAME > "M"", Duplicates, Ascending);


Sandman25   (2003-06-04 16:58:00) [5]

В хелпе точно Unique? Или "Unique"? Или что-то типа hiUnique?


Term   (2003-06-04 16:56:00) [6]

ну мастера !!! ктонить......


Term   (2003-06-04 16:51:00) [7]

скачал открывается, токо создать с помощью Halcyon
индекс не могу, всё как в помощи вроде делаю
DataModuleImport.HalcyonDataSet1.IndexOn("Kadr.cdx","TNUM","TNUM1", Unique, Ascending);
а не компилится, говорит Unique неизвестный идентификатор.
Помогите разобраться.....

sniknik © ты вроде пользуешся посоветуй что и как


Term   (2003-06-04 15:40:00) [8]

спасибо буду пробовать


sniknik   (2003-06-04 15:23:00) [9]

> а ссылочку на драйвер можно :)
можно
ODBC -> DRIVER={Microsoft FoxPro VFP Driver (*.dbf)}
:о))
(в источниках данных ODBC смотри)

компонент (один из.. я им пользуюсь) Halcyon
http://www.vodonosov.newmail.ru/develop/develop.htm


Term   (2003-06-04 15:08:00) [10]

а ссылочку на драйвер можно :)


Term   (2003-06-04 15:07:00) [11]

ну я ж говорю база должна обмениваться данными с другой программой, и каждый раз чтобы скачать данные придётся рушить индексы это не выход...


sniknik   (2003-06-04 15:07:00) [12]

> но как быть в программе, моя прога должна использовать базу совместно с БЭСТом ...
возьми компонент поддерживающий fox 100%-но, или ODBC драйвер VFP.


sniknik   (2003-06-04 15:05:00) [13]

> индексный файл *.cdx
тогда у тебя там есть индекс который не поддерживается вот и все, убери его и таблица откроется (удали файл *.cdx и при открытии в DataBase Desktop будет выбор на снятие индекса)


Term   (2003-06-04 15:04:00) [14]

без индексов DataBase DeskTop матюкнулся но открыл!!!
но как быть в программе, моя прога должна использовать базу совместно с БЭСТом и каждый раз рушить индексы не выход...


ladybird   (2003-06-04 15:03:00) [15]

Я думаю, проблема именно в индексах
Откройте через FoxPro 2.6 и
use <table_name>
?Key(1)
?Key(2)
...
?Key(n)
Какие выражения.
Если есть возможность, удалите индексы


Sandman25   (2003-06-04 15:01:00) [16]

Попробуйте файлы с индексами "спрятать", переместив в другой каталог. Может, ругнется на отсутствующий индекс, но все-таки откроет.


Term   (2003-06-04 14:58:00) [17]

есть индексный файл *.cdx, какие индексы я не знаю так как открыть таблицу нигде не могу


ladybird   (2003-06-04 14:56:00) [18]

Есть ли индексы у этого файла? Какие там выражения?


Term   (2003-06-04 14:52:00) [19]

не открывает в этом то и проблема


bushmen   (2003-06-04 14:51:00) [20]

Попробуй открыть файл в DataBase Desktop.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо