Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];

Вниз

Вторичные индексы в Парадоксе   Найти похожие ветки 

 
PeterBuild ©   (2006-10-05 20:12) [0]

Здравствуйте! Не пинайте меня сильно если вопрос детский! У меня проблемка: Есть обычная таблица PX cделал в DB DeskTop поставил первичный индекс но по двум полям потому как получалось несоблюдение уникальности (у меня поля Имя и Ник), а сортировку хотелось по имени, ну это слава Богу работает! Но надо зделать сортировку и по таким полям как Счет и Взнос (Real), я создал вторичные индексы в том же ДескТопе по этим полям, поставил Maintained, потом повесил на TitleClick у RXDBGrid :
procedure TfrmMain.BaseGridTitleBtnClick(Sender: TObject; ACol: Integer;
 Field: TField);
var
 bActive, bExclusive: Boolean;
begin
 with DM.tblBase do
 begin
   bActive := Active;
   bExclusive :=Exclusive;
   IndexDefs.Update;
   Close;
     Exclusive := TRUE;
     Open;
     if Field.Name = "Count" then begin
        AddIndex("ByCount", "Count", [ixCaseInsensitive]);
     end;
     if Field.Name = "Fond" then begin
        AddIndex("ByFond", "Fond", [ixCaseInsensitive]);
     end;
     Close;
     Exclusive := bExclusive;
     Active := bActive;
     Open;
   end;
end;
теперь при нажатии на заголовки ничего не индексируется, хотя если запускаю с Delphi то подает признаки жизни т.е. Table is Busu но когда в автономном режиме то сортировки не происходит 8-( Подскажите плз. как правильно осуществить сортировку, заранее благодарен


 
PeterBuild ©   (2006-10-05 21:10) [1]

Ну пожалуйста.... Для Вас ето же легко, помогите начинающему....


 
Stanislav ©   (2006-10-06 09:17) [2]

Насколько я знаю тебе нужно  на событие BaseGridTitleBtnClick
, изменять TTABLE.INDEXNAME, на нужный индекс.


 
Виталий Панасенко   (2006-10-06 09:29) [3]

в продолжение
> Stanislav ©   (06.10.06 09:17) [2]

вместо того, что ПЕРЕсозадвать индексы, созданные в DBD


 
Desdechado ©   (2006-10-06 10:52) [4]

когда индексы уже есть, их просто нужно выбрать, чтоб по ним автоматически упорядочилось отображение данных


 
PeterBuild ©   (2006-10-06 22:56) [5]


> когда индексы уже есть, их просто нужно выбрать, чтоб по
> ним автоматически упорядочилось отображение данны

А нужно ли переводить Table в монопольный режим???
У меня не работает...

добавил в BaseGridTitleBtnClick :
     DisableControls;
     if Field.Name = "Count" then
     begin
        DM.tblBase.IndexName:="ByCount";
     end;
     if Field.Name = "Fond" then
     begin
        DM.tblBase.IndexName:="ByFond";
     end;
     EnableControls;
Не дало ни каких результатов... Из за чего это может быть? Подскажите если кто знает


 
Johnmen ©   (2006-10-06 23:06) [6]

А почему бы просто не выполнить запрос с сортировкой?
И в каких книгах рекомендуют использовать TTable?


 
PeterBuild ©   (2006-10-06 23:28) [7]

Ты имеешь в виду TQuery???
Если да то напиши плз. как правильно сгенирировать запрос в SQL чтобы это осуществить? И надо ли переопределять для DataSourse DataSet?? Киньте хоть пару слов!!! Обещаю скоро выучу SQL :-о Просто надо срочно доделать этот проектик....


 
Виталий Панасенко   (2006-10-07 00:16) [8]


> PeterBuild ©   (06.10.06 22:56) [5]


> Не дало ни каких результатов... Из за чего это может быть?
>  Подскажите если кто знает

Вызывает большие сомнения... У меня подобный код отлично работает...


 
Mike Kouzmine ©   (2006-10-07 00:32) [9]

Johnmen ©   (06.10.06 23:06) [6] Это парадокс.


 
PeterBuild ©   (2006-10-07 00:36) [10]

Может быть потому что у этих индексов стоит xCaseSensetive или потому что стоит первичный ключ на двух полях сразу, эта сортировка по первичному ключу постоянно активна! В IndexDefs все нормально....
Может и в правду попробовать зделать сортировку через TRXQuery? Мне все равно надо делать фильтр, на єту же таблицу, а именно  оставить только конкретные имена: например оставить только Сереж ;-) Подскажите если не трудно где можна найти инфу по использованию TQuery только желательно чтобы поменьше абстрактных понятий было, а побольше примеров использование сортировки, фильтра...


 
Германн ©   (2006-10-07 01:31) [11]


> Johnmen ©   (06.10.06 23:06) [6]
>
> А почему бы просто не выполнить запрос с сортировкой?
> И в каких книгах рекомендуют использовать TTable?

А ты Жень, видел такие книги, в которых НЕРЕКОМЕНДУЮТ использовать TTable в Парадоксе? Назови, плиз. Дополню свой список "Ignore" их авторами.


 
Johnmen ©   (2006-10-07 18:01) [12]


> Германн ©   (07.10.06 01:31) [11]


Скажу честно, я вообще книг не читаю :) Поэтому и было интересно, в какой это рекомендуют, хотя бы для Парадокса.


 
Германн ©   (2006-10-08 02:22) [13]



> Johnmen ©   (07.10.06 18:01) [12]


Имхо.
Использование BDE для Парадокса - вполне нормальное решение. Поскольку родное. И проблем с TTable при работе с Парадоксом тоже нет. Могут быть проблемы с использованием самого Парадокса там, где это неоправдано, но это уже "другой коленкор". А TTable в ряде случаев предпочтительнее, чем запросы.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.046 c
3-1159949002
Opilki_Inside
2006-10-04 12:03
2006.12.10
Как грамотно отменить изменения в конкретном поле в TADOQuery?


3-1160038014
Lex_!
2006-10-05 12:46
2006.12.10
Вычисляемые поля при динамическом формировании колумов


15-1164103022
Mva
2006-11-21 12:57
2006.12.10
Не компилируется проект


2-1164269942
Dimon777
2006-11-23 11:19
2006.12.10
Как правильно написать предложение Insert в SQL запрос


2-1164145586
albertinio
2006-11-22 00:46
2006.12.10
Работа с Word.Application





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