Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.043 c
5-1147740803
KSN
2006-05-16 04:53
2007.02.04
компонент владельцем которого является TStringGrid


2-1168862299
Barma
2007-01-15 14:58
2007.02.04
DrawGrid


15-1169059235
vasIzmax
2007-01-17 21:40
2007.02.04
Не у кого спросить...


15-1168503168
oxffff
2007-01-11 11:12
2007.02.04
Пишем драйвера на Delphi.


6-1157100295
tvv
2006-09-01 12:44
2007.02.04
Работа с каталогами по сети





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский