ďťż
 
[Oracle] Filtrowanie danych w Forms ďťż
 
[Oracle] Filtrowanie danych w Forms
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[Oracle] Filtrowanie danych w Forms



Marcin Białek - 02-01-2006 12:07
[Oracle] Filtrowanie danych w Forms
  Witam
Mam Form z jednym data block'iem. Wyświetla on wszystkie dane z tabeli.
Chciałbym dodać użytkownikowi opcje filtrowania tych danych. Wie ktoś może
jak to zrobić?
Przeglądałem google i grupy, ale niewiele znalazłem :/.
Dzięki
BIAŁY





=?ISO-8859-2?Q?S=B3awomir_Szysz=B3o?= - 02-01-2006 12:07

  Dnia Sat, 31 Dec 2005 15:51:44 +0100, "Marcin Białek"
<bialyglbialygl_skasuj_@poczta.onet.pl> wklepał(-a):

>Witam
>Mam Form z jednym data block'iem. Wyświetla on wszystkie dane z tabeli.
>Chciałbym dodać użytkownikowi opcje filtrowania tych danych. Wie ktoś może
>jak to zrobić?

Zrób jeszcze jeden blok niebazowy zawierający pola, po których chcesz filtrować.
Potem w PRE-QUERY na bloku bazowym pobierz wartości tych pól i odpowiednio
skonstruuj klauzulę WHERE i wstaw ją do DEFAULT_WHERE dla bloku.

W uproszczeniu:

if :filtr.pole1 is not null then
v_where := v_where + ' and jakas_kolumna = :filtr.pole1'
end if;

Oczywiście do składania WHERE warto zrobić uniwersalną funkcję i korzystać z
niej we wszystkich formularzach. Wystarczy tu para "nazwa kolumny i nazwa pola z
filtra", którą przekażesz do funkcji składającej WHERE. Funkcja ta powinna
sprawdzać typ pola bazowego i odpowiednio dostosowywać tworzone zapytanie (żeby
np. uniezależnić się od formatu daty tj. porównywać: kolumna_typu_data =
to_date('2005-01-01', 'format-daty-pobrany-z-aplikacji')).
--
Sławomir Szyszło mailto:slaszysz@poczta.onet.pl
Primus inter FAQires & Grand Inquisitor no.0 of pl.comp.bazy-danych
FAQ pl.comp.bazy-danych http://www.dbf.pl/faq/
Archiwum http://groups.google.com/groups?grou...mp.bazy-danych




Marcin Białek - 02-01-2006 12:07

 
Użytkownik "Sławomir Szyszło" <slaszysz@poczta.onet.pl> napisał w wiadomości
news:dp6ah8.ms.1@slaszysz.poczta.onet.pl...
> Dnia Sat, 31 Dec 2005 15:51:44 +0100, "Marcin Białek"
> <bialyglbialygl_skasuj_@poczta.onet.pl> wklepał(-a):
>
>>Witam
>>Mam Form z jednym data block'iem. Wyświetla on wszystkie dane z tabeli.
>>Chciałbym dodać użytkownikowi opcje filtrowania tych danych. Wie ktoś może
>>jak to zrobić?
>
> Zrób jeszcze jeden blok niebazowy zawierający pola, po których chcesz
> filtrować.
> Potem w PRE-QUERY na bloku bazowym pobierz wartości tych pól i odpowiednio
> skonstruuj klauzulę WHERE i wstaw ją do DEFAULT_WHERE dla bloku.
>
> W uproszczeniu:
>
> if :filtr.pole1 is not null then
> v_where := v_where + ' and jakas_kolumna = :filtr.pole1'
> end if;
>
> Oczywiście do składania WHERE warto zrobić uniwersalną funkcję i korzystać
> z
> niej we wszystkich formularzach. Wystarczy tu para "nazwa kolumny i nazwa
> pola z
> filtra", którą przekażesz do funkcji składającej WHERE. Funkcja ta powinna
> sprawdzać typ pola bazowego i odpowiednio dostosowywać tworzone zapytanie
> (żeby
> np. uniezależnić się od formatu daty tj. porównywać: kolumna_typu_data =
> to_date('2005-01-01', 'format-daty-pobrany-z-aplikacji')).
> --
> Sławomir Szyszło mailto:slaszysz@poczta.onet.pl
> Primus inter FAQires & Grand Inquisitor no.0 of pl.comp.bazy-danych
> FAQ pl.comp.bazy-danych http://www.dbf.pl/faq/
> Archiwum http://groups.google.com/groups?grou...mp.bazy-danych

Pomogło. Dzięki :]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?= Oracle 19g +Insert +Insert +Insert... [oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?= [Oracle] jak =?ISO-8859-2?Q?ograniczy=E6_pami=EA=E6_dla_se?==?ISO-8859-2?Q?rwera=3F?= =?ISO-8859-2?Q?=5BOT=5D_Zdany_egzamin_Oracle_1Z0-007_a?==?ISO-8859-2?Q?_brak_informacji_na_stronie_Prometric_-_czy?==?ISO-8859-2?Q?_co=B6_nie_tak=3F?= [oracle] czy da =?ISO-8859-2?Q?si=EA_z_poziomu_procedury_?==?ISO-8859-2?Q?zrobi=E6_kopi=EA_zapasow=B1=3F?= [oracle 10g] czy =?ISO-8859-2?Q?mo=BFna_wy=B3=B1czy=E6_wszys?==?ISO-8859-2?Q?tkie_wi=EAzy_w_schemacie=3F?= MSSQL Express czy Oracle Express =?iso-8859-2?q?[oracle]_Jak_sprawdzi=E6_wielko=B6=E6_tabeli_=3F=3F?= =?ISO-8859-2?Q?Poszukjue_ksi=B1=BFki_"Oracle_?= =?ISO-8859-2?Q?optymalizacja_wydajno=B6ci"..?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • lunadance.htw.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com