[ Pobierz całość w formacie PDF ]
książki, pod adresem http://www.jensendatasystems.com/bka_book.htm, są in-
formacje dotyczące możliwości uzyskania najnowszych aktualizacji Kyliksa.
Chociaż pola agregacji sÄ… przydatne, ich zastosowanie wiąże si¹ z wykonaniem kilku
kroków w okreÅ›lonej kolejnoÅ›ci. W przeciwnym razie nie b¹dÄ… dziaÅ‚ać.
1. Aby pogrupować jedno lub kilka pól, utwórz indeks, który te pola obejmuje. Indeks
może również dotyczyć innych pól, ale pola, które mają zostać pogrupowane,
muszÄ… si¹ znalezć na jego poczÄ…tku. Aby na przykÅ‚ad indeks dotyczyÅ‚ pola
CUST_NO, wtedy musi być ono pierwszym jego polem. Zatem zarówno indeks
oparty na polu CUST_NO, jak i indeks oparty na polach CUST_NO oraz
PO_NUMBER b¹dzie poprawny tak dÅ‚ugo, jak pole CUST_NO b¹dzie jego
pierwszym polem.
2. Utwórz nowe stałe pole agregacji.
3. Przypisz do wÅ‚aÅ›ciwoÅ›ci IndexName tego pola nazw¹ indeksu, który posÅ‚uży
grupowaniu.
4. Zdefiniuj wyrażenie agregacji. MogÄ… być w nim użyte nast¹pujÄ…ce operatory:
, , , oraz . Operator może być zastosowany
do pojedynczego pola lub w wyrażeniu, które zawiera kilka pól i stałych.
Poniżej pokazano przykłady poprawnych wyrażeń agregacji:
268 Część II f& Aplikacje bazodanowe
5. Ustaw poziom grupowania pola agregacji. Poziom grupowania określa ilość
pól grupowaną przez indeks. W przypadku indeksu z trzema polami, aby
pogrupować pierwsze i drugie pole, należy ustawić wartość grupowania na 2.
Natomiast aby utworzyć sum¹ wartoÅ›ci pola TOTAL_VALUE wedÅ‚ug wartoÅ›ci
pola CUST_NO, należy ustawić wartość GroupingLevel na 1.
6. Ustaw wartość właściwości Active pola agregacji na True.
7. Ustaw wartość właściwości AggregatesActive zestawu danych, do którego
należy pole agregacji, na True.
8. Uaktywnij zestaw danych, ustawiając wartość jej właściwości Active na True
lub wywoÅ‚ujÄ…c po uruchomieniu aplikacji metod¹ .
Poniższe kroki opisujÄ… proces tworzenia pola agregacji wyÅ›wietlajÄ…cego sum¹ wartoÅ›ci
pola TOTAL_VALUE według wartości pola CUST_NO.
1. Otwórz moduł danych projektu wykorzystywanego w poprzednich przykładach
rozdziału.
2. Wybierz komponent SQLClientDataSet1.
3. W oknie Object Inspector wybierz właściwość IndexDefs komponentu
SQLClientDataSet1 i nast¹pnie, aby wyÅ›wietlić edytor definicji indeksu
(patrz rysunek 8.15), kliknij przycisk wielokropka.
Rysunek 8.15.
Edytor właściwości
IndexDefs
4. Kliknij przycisk Add New. Po zaznaczeniu właściwości IndexDefs w oknie
Object Inspector ustaw wartość właściwości Name na BYCUST (patrz rysunek
8.16), natomiast właściwości Fields na CUST_NO. Zamknij edytor FieldDefs.
Rysunek 8.16.
Edytor właściwości
IndexDefs
5. Wybierz ponownie komponent SQLClientDataSet1 i ustaw wartość
właściwości IndexName na BYCUST.
6. Aby otworzyć edytor pól, kliknij dwukrotnie komponent SQLClientDataSet1.
Aby otworzyć okno dialogowe New Field, naciśnij klawisze Ctrl+N.
Rozdział 8. f& Klasa TField 269
7. W polu Name Field wpisz i nast¹pnie ustaw opcj¹ Field Type na
Aggregate. W celu zamkni¹cia okna dialogowego New Field naciÅ›nij przycisk OK.
8. Utworzone pole agregacji pojawi si¹ w edytorze pól. W przeciwieÅ„stwie do innych
pól stałych wszystkie pola agregacji wyświetlane są na oddzielnej liście w dolnej
cz¹Å›ci edytora, tak jak to widać na rysunku 8.17.
Rysunek 8.17.
Edytor pól
9. Zaznacz w edytorze pól pole agregacji SUM_VALUE i w oknie Object Inspector
ustaw wartość wÅ‚aÅ›ciwoÅ›ci IndexName na BYCUST. Nast¹pnie ustaw wartość
właściwości GroupingLevel pola na , a właściwości Expression na
. Na samym końcu ustaw wartość właściwości Currency
pola oraz właściwości Active na True.
10. Wybierz ponownie komponent SQLClientDataSet1 i ustaw wartość jego
właściwości AggregatesActive oraz właściwości Active na True.
11. Umieść komponent Label z zakładki Standard palety komponentów oraz
komponent DBEdit z zakładki Data Controls palety komponentów po prawej
stronie dwóch przycisków znajdujÄ…cych si¹ w górnym panelu. Ustaw wartość
właściwości Caption komponentu Label na Suma wartości pola TOTAL_VALUE
wg klienta. Nast¹pnie ustaw wartość wÅ‚aÅ›ciwoÅ›ci DataSource komponentu
[ Pobierz całość w formacie PDF ]