2012-09-19 6 views
11

Mam dość prosty podraport, który chcę pominąć, gdy nie ma dla niego wybranych rekordów. Problem polega na tym, że sekcja nagłówka i stopki tego podraportu zawiera elementy statyczne (pola tekstowe, linie itp.). Ustawiłem sekcję zawierającą podraport, podraport i sekcje podraportu, aby wszystkie były przerywane, gdy nie ma rekordów. Mimo to podraport jest wyświetlany. Sekcja danych bez danych jest rzeczywiście pomijana, ale nagłówki i stopki wydają się widzieć podraport widoczny.Pomijanie podraportu bez danych i nagłówka

Wszelkie pomysły? Oh, używam Crystal-Reports 2011. Dzięki!

Odpowiedz

16

Po prostu wpadłem na to w CR2008. Oto kroki zrobiłem do tej pracy:

  1. Go do swojego podraport (mam tu na myśli mają go otworzyć w osobnym oknie Designer) -> przejdź do „Raport Options” w menu „Plik” - > wybierz "Wyłącz drukowanie, jeśli nie ma zapisów"
  2. Teraz wróć do głównego raportu. Kliknij podraport prawym przyciskiem myszy -> przejdź do "Formatowanie podraportu" -> naciśnij kartę "Podraport" -> zaznacz pole "Pomiń pusty podraport".
  3. Jeśli Podraport jest jedyną rzeczą, w głównej części raportu, przejdź do tej sekcji w sekcji „Editor”, klikając prawym przyciskiem na nim -> zaznacz pole „PUSTYCH rozdział”.

EDIT: Jeśli Podraport robi wrócić rekordy, ale to jest tak, że nikt nie jest wyświetlane następnie spróbuj użyć współdzielone zmienne. Aby to zrobić, musisz wziąć pod uwagę logikę, której używasz do wyświetlania rekordów w podraporcie w pierwszej kolejności. Jest to prawdopodobne, niezależnie od logiki znalezionej w formule supresji sekcji szczegółów, ale będzie to w dużym stopniu zależało od formatu podanego podraportu.

Teraz, zainicjuj współużytkowany numbervar w nagłówku raportu podraportu, a następnie zwiększ go za każdym razem, gdy wyświetlany jest wiersz z wyżej wymienioną logiką.

powrotem w głównym raporcie, może być w stanie sprawdzić wartość tej zmiennej warunkowo tłumić sekcję podraportu jest. Mówię "może", ponieważ CR może nie oceniać zmiennych podraportowych przed przyjrzeniem się formule tłumienia, ale nadać mu wir. Będziesz chciał użyć słowa kluczowego whileprintingrecords; w formule supresji sekcji, aby opóźnić jego ocenę. Powodzenia!

+0

Drat! Bez mydła. Byłem naprawdę pełen nadziei, ponieważ nie wiedziałem o oknie dialogowym "Opcje raportu" w menu Plik, a to pole nie zostało zaznaczone. Sprawdziłem i nadal otrzymuję podraport. –

+0

@DanBerlyoung Czy podraport rzeczywiście wyświetla coś lub jest to puste pole?Jeśli nadal otrzymujesz nagłówki/stopki, możliwe jest, że podraport rzeczywiście rejestruje się, ale po prostu nie wyświetla? Zapytanie podraportów musi zwrócić 0 wierszy dla tego pola wyboru, aby faktycznie działało. – Ryan

+0

Tak! Tam rub. Podraport ma rekordy, które są drukowane w innym podraportu, ale ten, podczas korzystania z tego samego zestawu danych, ma tylko te pola, które nie mają wartości w nich. Więc to tłumi sekcję szczegółów, ponieważ nie ma w niej żadnych pól do wydrukowania, ale podraport rzeczywiście ma zapisy. Czy mimo to, aby wyczuć pogodę, czy nie zostały wydrukowane żadne wiersze, a następnie ukryć podraport na podstawie tej wartości? –

0

Czy próbowałeś używać formuły suppress?

Kliknij prawym przyciskiem Format pola> Sprawdź zwalczaniu> kliknij Edytuj formułę przycisk [x-2]

0

Trudno śledzić wszystko w wątku, ale jeśli dane są wyświetlane na siebie, a następnie dodać w sekcji i umieść swój raport podrzędny w sekcji i upewnij się, że rośnie, jest odliczany.

Jeśli masz dane statyczne, które chcesz wyświetlić, możesz utworzyć dwa raporty podrzędne, jeden z danymi statycznymi i jeden z danymi dynamicznymi, a jeśli pusty, wyłączyć.