Kreator raportów > Zapytanie SQL | | Drukuj |
Zapytanie SQL to podstawowy element każdego raportu, zwracający dane z bazy systemu do szablonu. W ogólności możemy konstruować dowolne zapytania w oparciu o składnię SQL.
Najprostszy przykład (bez kryteriów) wygląda następująco:
SELECT * FROM ProductionOrder
Przykład ten spowoduje wynikowo zwrócenie wszystkich nagłówków zleceń do szablonu raportu.
Oprócz zapytania SQL, należy zdefiniować przy nowym raporcie następujące pola:
•Nazwa ekranowa - nazwa raportu na liście,
•Nazwa fizyczna - nazwa pliku z szablonem raportu (bez rozszerzenia),
•Kolejność - kolejność na liście,
•Parametry raportu - kryteria wywołania raportu.
Każdy raport można wywołać ze zdefiniowanym zakresem – data od, data do, typ zlecenia, etc.
Zdefiniowane parametry użytkownik musi wpisać w oknie wywołania raportu. Raport bez zdefiniowanych warunków pobierze wszystkie dane, które zwróci zapytanie SQL.
Przy zdefiniowaniu warunku typu data, w oknie wywołania raportu system wygeneruje pole wyboru daty.
Wymagane pola w definicji to: •ID pola •Opis •Typ pola (pole daty) •Kolejność na liście kryteriów
Wartości domyślne są dopuszczalne na zasadzie podania zapytania SQL, np. bieżąca data to SQL=select getdate(). W Internecie znaleźć można szereg przykładów zapytań zwracających różne daty, np. początek miesiąca, początek poprzedniego miesiąca, etc.
Podanie do zapytania SQL takiego warunku wygląda następująco: SELECT ... WHERE ... = convert(datetime, #ID POLA# ) lub SELECT ... WHERE ... AND ... = convert(datetime, #ID POLA# )
Przykład WHERE OrderStatus = 30 AND ProductionOrder.CreateDate > convert(datetime, #DateStart# ) - 1 AND ProductionOrder.CreateDate < convert(datetime, #DateEnd# ) + 1 |
Proste warunki, gdzie w pole tekstowe wpisać możemy dowolną wartość. Użyteczne w przypadku, gdy chcemy wyszukiwać według podanego ciągu.
Przykład WHERE tablename.nazwa like #%ID POLA%# |
Warunki typu lista rozwijalna/combo
Warunek typu lista rozwijalna (combo) wymaga zdefiniowania zapytania SQL zasilającego listę w dane. Definicja warunku wymaga dodatkowo podania nazwy pola kluczowego oraz pola z wartością wyświetlaną użytkownikowi.
Przykład Chcemy wyświetlić ograniczenie do wybranego typu zlecenia. Zapytanie SQL do listy wyglądać będzie następująco: select Code,Description from ProductionOrdertype
Pole kluczowe do SQL: Code Pole wyświetlane SQL: Description
W ten sposób na liście warunków wyświetli się następujące pole wyboru (lista rozwijana).
Przy czym zdefiniowana wartość domyślna (wartość pola kluczowego) spowoduje automatyczne wybranie właściwej wartości na liście. |
Warunek typu lista wymaga zdefiniowania zapytania SQL zasilającego listę w dane. Wynik wyświetlany jest w postaci tabelki, w której użytkownik zaznacza potrzebne wartości.
Zapytanie do takiej listy wygląda podobnie jak w typie combo: select ReceiptCode, ReceiptName from ProductionReceipt
Pole kluczowe do SQL: ReceiptCode Pole wyświetlane SQL: ReceiptName
Przekazanie warunku do zapytania SQL odbywa się wtedy następująco: WHERE ReceiptCode IN #CardID#
W momencie wpisania w zapytanie SQL zdefiniowanych warunków, funkcja Testuj SQL przestanie działać. Jest to podyktowane tym, że konkretne wartości do warunków przekazywane są dopiero przy uruchomieniu raportu z listy raportów po podaniu ich przez użytkownika. |