Adam Mikołajewski

Adam Mikołajewski właściciel, Własna
działalnośc
gospodarcza

Temat: Parametr dynamiczny

Witam,

mam taki o to problem. Stworzyłem parametr, który wyświetla wartości (string) do wyboru dla użytkownika. Problem polega na tym, że wyświetla mi ich całą listę a chciałbym żeby przekazywane były tylko te wartości, które wyfiltruję dla zadanego ID_test.

Przykład tabelki:
ID, ID_test, Numer
1 38 P/001
2 38 P/002
3 45 P/087
4 47 P/099

Aktualnie podczas wyboru wyświetlają mi się wszystkie numery P/0xx a chciałbym żeby jeżeli wybiorę rekord ID_test = 38 to wyświetlą się tylko dwa pierwsze.
Pytanie czy taka funkcjonalność jest możliwa, jeżeli tak to proszę o jakieś wskazówki jak to osiągnąć ?

Pozdrawiam
Adam
Krzysztof Wojtal

Krzysztof Wojtal Specjalista ds
systemu ERP, PL/SQL,
Crystal rep., Power
B...

Temat: Parametr dynamiczny

Witam,

Możesz podać więcej szczegółów.
1. Gdzie Ci wyświetla wartości z parametru (w programie parametr czy w raporcie chcesz pokazać zawartość tego parametru)?
2. Czy przykład tabelki to dane z bazy czy lista wartości parametru?

Pozdrawiam
KrzysiekTen post został edytowany przez Autora dnia 04.02.15 o godzinie 08:28
Adam Mikołajewski

Adam Mikołajewski właściciel, Własna
działalnośc
gospodarcza

Temat: Parametr dynamiczny

1. Zawartość parametru wyświetla się przed wygenerowaniem raportu.
2. Są to dane z tabelki.
Krzysztof Wojtal

Krzysztof Wojtal Specjalista ds
systemu ERP, PL/SQL,
Crystal rep., Power
B...

Temat: Parametr dynamiczny

Witam,

Możesz zrobić screen z ustawieniami tego parametru oraz miejsce, gdzie wyświetla się zawartość przed wygenerowaniem raportu.

Pozdrawiam
Krzysiek
Adam Mikołajewski

Adam Mikołajewski właściciel, Własna
działalnośc
gospodarcza

Temat: Parametr dynamiczny

Poniżej zdjęcia:


Obrazek



Obrazek



Obrazek


Dane w tabeli wyglądają tak:

Obrazek
Ten post został edytowany przez Autora dnia 04.02.15 o godzinie 10:46
Krzysztof Wojtal

Krzysztof Wojtal Specjalista ds
systemu ERP, PL/SQL,
Crystal rep., Power
B...

Temat: Parametr dynamiczny

Rozumiem, że jeżeli wybierzesz z parametru np P/001 to na wydruku ma pokazać rekordy z grupy 38 czyli P/001, P/002 i P/003.
Jeżeli w tym parametrze masz przekazywany numer np 38, to jeżeli mam raport oparty o zapytanie SQL, to przekazałbym jego wartość do tego zapytania i przefiltrował dane dla tej grupy.
Jeżeli masz raport zbudowany bezpośrednio na tablicach, to musisz dodać tą tablicę, z której ściągasz wyniki do parametru to z menu Report -> Selection Formulas -> Record dodać warunek filtrujący te dane.

W SQL zrobiłbym to tak:
select
...
from
tablica.parametr p /* otrzymam jedną pozycję wskazaną z parametru */

left join tablica.parametr p_lista on /* Lista pozycji wybrana na podstawie pola id_test */
p_lista.id_test = p.id_test

left join tablica.asortyment a on /* otrzymam listę asortymentu z numerami P/001, P/002 i P/003. */
a.numer = p_lista.numer

where
p.Numer = {?Numer}

Mam nadzieję, że choć trochę Ci pomogłem.
Adam Mikołajewski

Adam Mikołajewski właściciel, Własna
działalnośc
gospodarcza

Temat: Parametr dynamiczny

Krzysztof W.:
Rozumiem, że jeżeli wybierzesz z parametru np P/001 to na wydruku ma pokazać rekordy z grupy 38 czyli P/001, P/002 i P/003.

Nie, chodzi mi o wyświetlenie 3 możliwości do wyboru użytkownika na podstawie id_test = 38. To co ma się wyświetlić na raporcie na inna para kaloszy. Aktualnie podczas wyboru wartości dla parametru mam wszystkie możliwości i teraz jest ok, ale jak miałbym 1000 rekordów to zanim user poszuka numerek P/0xx to minie dużo czasu i się zirytuje. Dlatego chciałbym wyświetlić mu ograniczoną ilość wartości w ComboBox-sie (na obrazku opcja nr 2. )


Obrazek


Pozdrwiam
Krzysztof Wojtal

Krzysztof Wojtal Specjalista ds
systemu ERP, PL/SQL,
Crystal rep., Power
B...

Temat: Parametr dynamiczny

Z tego co się orientuję, to jeżeli do parametru przekażemy 100 wyników, to podczas wyboru użytkownik nie ma możliwości ograniczenia ich poprzez odrębne filtrowanie. To my podczas definiowania parametru musimy zdecydować jakie dane chcemy przekazać do parametru i je ewentualnie ograniczyć tak, aby była mniejsza zawartość pozycji w parametrze.
Piotr Dryńkowski

Piotr Dryńkowski Specjalista ds.
Systemów ERP,
Crystal Reports,
PL/SQL

Temat: Parametr dynamiczny

Pytanie czy taka funkcjonalność jest możliwa, jeżeli tak to proszę o jakieś wskazówki jak to osiągnąć ?

Jest taka funkcjonalność, działa to na zasadzie parametru kaskadowego,
sam z niej nie korzystałem ale poniżej wskazówka jak to można wywołać w CR 2008. W tym przykładzie po wyborze miasta mamy przypisane do niego ulice, możesz to przełożyć na swój problem.


Obrazek


ps. temat parametrów kaskadowych był poruszany na tym forum.Ten post został edytowany przez Autora dnia 05.02.15 o godzinie 22:00
Adam Mikołajewski

Adam Mikołajewski właściciel, Własna
działalnośc
gospodarcza

Temat: Parametr dynamiczny

Piotr D.:
Pytanie czy taka funkcjonalność jest możliwa, jeżeli tak to proszę o jakieś wskazówki jak to osiągnąć ?

Jest taka funkcjonalność, działa to na zasadzie parametru kaskadowego,
sam z niej nie korzystałem ale poniżej wskazówka jak to można wywołać w CR 2008. W tym przykładzie po wyborze miasta mamy przypisane do niego ulice, możesz to przełożyć na swój problem.

ps. temat parametrów kaskadowych był poruszany na tym forum.

To zaczyna nabierać kształtu takiego jakiego oczekuję :)
Tylko teraz pytanie czy na pierwszym poziomie wyboru parametrów da się przekazać automatycznie wartość. W moim przypadku jest to ID.
W Formula Fields mam takie ID i chciałbym żeby na pierwszy poziom wyboru parametru było to przekazywane automatycznie. Jest to do zrobienia ?

Pozdrawiam
Piotr Dryńkowski

Piotr Dryńkowski Specjalista ds.
Systemów ERP,
Crystal Reports,
PL/SQL

Temat: Parametr dynamiczny

Jeżeli chcesz przekazać automatycznie wartość to po co robić kaskadę? Stwórz Command który filtruje listę po zadanym id_test i przekaż pole z Command do parametru dynamicznego.Ten post został edytowany przez Autora dnia 06.02.15 o godzinie 12:56

Następna dyskusja:

Parametr dynamiczny - multi...




Wyślij zaproszenie do