Главная страница
    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.038 c
15-1168833694
Slider007
2007-01-15 07:01
2007.02.04
С днем рождения ! 14 января


2-1168962315
Megabyte
2007-01-16 18:45
2007.02.04
Определить текущую директорию в консольном приложении


2-1168866844
Vlad_Uzegov
2007-01-15 16:14
2007.02.04
A call to an OS function failed


15-1168895678
VolJinn
2007-01-16 00:14
2007.02.04
Коммуникатор


4-1158563133
Anatolii
2006-09-18 11:05
2007.02.04
Получить список открытых в системе файлов (WinNT)





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