Kwerenda parametryczna- opcjonalny parametr

Użytkowanie programu bazodanowego
avaloth
Posty: 3
Rejestracja: wt sie 06, 2013 1:06 pm

Kwerenda parametryczna- opcjonalny parametr

Post autor: avaloth »

Dzień dobry,
mam do utworzenia formularze na podstawie kwerend i tabeli. Wszystko działa sprawnie, poza jedną kwerendą parametryczną.
Mam tam parametr do wpisania daty (od-do), nazwy klienta i tego czy umowa serwisowa jest czy jej nie ma( pole boolean). Problem pojawia się gdy nie uzupełnię wszystkich kryteriów, np. wpiszę zakres dat, a nie uzupełnię okienka Klient (bo chcę zobaczyć wszystkich na raz). Nie mam wtedy żadnych wyników.
Co zrobić, żeby wpisywanie czegoś jako parametr było opcjonalne? Żeby można było wpisać tą datę, klienta czy true\false w wypadku umowy, ale nie trzeba było uzupełniać wszystkich pól?

Ewentualnie co wpisać w okienku do wpisywania parametru aby wyświetlić wszystkich z tabeli? Próbowałam '%%', '*', etc, ale nie działa.

Moje próby w sqlu, niestety niedziałające:
SELECT * FROM "Tabela"
WHERE
("Data">= : Poczatkowa_Data OR : Poczatkowa_Data IS NULL)
AND ("Data"<= :Koncowa_Data OR :Koncowa_Data IS NULL)
AND ("Klient" LIKE :Klient OR :Klient IS NULL)
AND ("Umowa_serwisowa" LIKE :wpisz_TRUE_dlaUmowy_FALSE_dlaBrakuUmowy OR :wpisz_TRUE_dlaUmowy_FALSE_dlaBrakuUmowy IS NULL)
(między : i Poczatkowa nie daję spacji, tu ją zrobiłam ze względu na włączające się emotikonki ;) )


Z OO pracuję pierwszy raz, w domu i na uczelni używam narzędzi Microsoftu, na praktykach mam narzucony OO Base. Zresztą akurat takiego problemu nigdy wcześniej nie miałam, szukam po forach i filmikach ale nie znalazłam rozwiązania.

Z góry baaardzo dziękuję.
OpenOffice 3.4.1 na Windows XP
belstar
Posty: 654
Rejestracja: czw mar 17, 2011 9:08 am

Re: Kwerenda parametryczna- opcjonalny parametr

Post autor: belstar »

W mojej bazie mam kwerendę parametryczną, która pokazuje wszystkich klientów gdy pole zastawię puste.

Kod: Zaznacz cały

SELECT "Imie", "Nazwisko", "Miejscowosc", "Adres", "KodPocztowy", "NumerTelefonu", "DataUrodzenia", "IDKlienta" FROM "Klienci" WHERE UPPER ( "Imie" || ', ' || "Nazwisko" ) LIKE '%' || UPPER ( :Jakieś_dane ) || '%' ORDER BY "Nazwisko" ASC
Zwróć uwagę na znak procenta po LIKE
LibreOffice 5.1.2.2 Ubuntu 16 LTS
avaloth
Posty: 3
Rejestracja: wt sie 06, 2013 1:06 pm

Re: Kwerenda parametryczna- opcjonalny parametr

Post autor: avaloth »

Zmieniłam like '%' i dalej nie działa. Klientów i umowy wyświetla wszystkie, data działa tak jak wcześniej... A kodu z "||" program nie przyjmuje..

Kod: Zaznacz cały

SELECT "Nr", "Klient", "Data", "Opis", "Umowa Serwisowa" FROM "Tabela1" 
WHERE
("Data">= : Poczatkowa_Data OR : Poczatkowa_Data LIKE '%')
AND ("Data"<= :Koncowa_Data OR :Koncowa_Data LIKE '%')
AND ("Klient" LIKE :Klient OR :Klient LIKE '%')
AND ("Umowa Serwisowa" LIKE :wpisz_TRUE_dlaUmowy_FALSE_dlaBrakuUmowy OR :wpisz_TRUE_dlaUmowy_FALSE_dlaBrakuUmowy LIKE '%')
OpenOffice 3.4.1 na Windows XP
belstar
Posty: 654
Rejestracja: czw mar 17, 2011 9:08 am

Re: Kwerenda parametryczna- opcjonalny parametr

Post autor: belstar »

Kwe_Parm.png
Wstaw swój plik - powalczymy.
LibreOffice 5.1.2.2 Ubuntu 16 LTS
avaloth
Posty: 3
Rejestracja: wt sie 06, 2013 1:06 pm

Re: Kwerenda parametryczna- opcjonalny parametr

Post autor: avaloth »

Kwerendy w których coś kombinowałam to nowwwwwwa i Kwerenda1.

Dzięki wielkie za chęć pomocy!
Załączniki
New Database.zip
(28.22 KiB) Pobrany 259 razy
OpenOffice 3.4.1 na Windows XP
ODPOWIEDZ