Форум: "Начинающим";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];
ВнизИндексы Найти похожие ветки
← →
Sw (2006-12-27 08:56) [0]Помогите, пожалуйста, новичку
Таблица FoxPro, создаю индекс по двум полям,и вывожу в DBGrid - все осортировано как мне надо.
DM.limOut.Exclusive:=TRUE;
DM.limOut.Open;
DM.limOut.AddIndex("NewIndex", "Otsv;Date", [ixExpression]);
DM.limOut.IndexName :="NewIndex";
Можно ли изменить порядок следования записей в этом dbf согласно сортировке по индексу?
← →
Elen © (2006-12-27 08:58) [1]
> Можно ли изменить порядок следования записей в этом dbf
> согласно сортировке по индексу?
>
Что прям вот так "физически"? А зачем?
← →
Sw (2006-12-27 09:00) [2]этот dbf передается в другую прогу (должен быть отсортирован)
к этой программе доступа не имею
← →
Elen © (2006-12-27 09:30) [3]
> Sw
А-а-а. Ну насколько мне известно просто так физически отсортировать нет возможности прям из делфи без выкрутасов. В Visual FoxPro обычный SELECT может выдать выборку в другой файл если указать параметр INTO, а вот в Делфи так сделать можно только имея такой провайдер и работая с ним под ADO. Это то что мне удавалось, но потом оказалось проще перейти на фокс полностью (задача такая была). Самый простой вариант создавать программно аналогичный dbf и в цикле переписывать в него отсортированную выборку. Хотя может другие чего попроще подскажут, но в SQL помоему чтото типа INTO всетаки существует, имхо.
← →
palva © (2006-12-27 10:00) [4]Нужно скопировать выборку в другой dbf, потом старый удалить, а новый переименовать. Можно зайти в FOXPRO, там есть команда SORT. Но она работает точно также.
← →
Anatoly Podgoretsky © (2006-12-27 18:32) [5]> Sw (27.12.2006 8:56:00) [0]
dbiSortTable
← →
Sw (2007-01-12 06:14) [6]отсортировать и перебросить записи в др.файл получается, но хотелось бы понять как изменить физ.послед-ть записей с помощью BDE API, попытка моя безуспешна, помогите, пож-та
var
Field: word;CaseIns: boolean;Recs,Result: longint;
begin
DM.limOut.Close; DM.limOut.Open;
Field := ????
CaseIns := True;
Recs := DM.limOut.RecordCount;
Check(DbiSortTable(DM.limOut.DBHandle, nil, nil, DM.limOut.Handle, nil, nil,
DM.limOut.Handle, 1, @Field, @CaseIns, nil, nil, true, nil, Recs));
end;
в Field не знаю, предаю число полей - не ругается, а вот что делает, не могу понять, толи перезаписывает этот файл, толи дописывает в него записи (например, в файле было 10 записей, становится 13)
и не знаю как задать параметр для сортировки нужного поля
будьте добры, поможите
← →
Zorro2001 © (2007-01-12 06:32) [7]я делал так
ADOTable1.Sort:="Field ASC"
это по возрастанию
а DESC -по убыванию.
← →
anton773 © (2007-01-20 18:50) [8]Спасибо работает
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.045 c