Главная страница
    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.04 c
1-1163595674
thevalery
2006-11-15 16:01
2007.02.04
Unicode Caption/Hint


2-1169037970
Pasha L
2007-01-17 15:46
2007.02.04
png в bmp


15-1168972025
AFKer
2007-01-16 21:27
2007.02.04
И это есть тот самый Delphimaster который я знал???


15-1168885719
ferr
2007-01-15 21:28
2007.02.04
The Doors. Фильм Оливера Стоуна.


15-1168860340
XTD
2007-01-15 14:25
2007.02.04
ОФФ:Borland.Delphi.2006.Enterprise





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский