jak posumować pola z tabeli?

0

witam
zwracam się do szanownych forumowiczów z nastepującym pytaniem/problemem:
napisałem sobie taką małą aplikacje dla siebie by ułatwic sobie życie, obsługuje ona tabelę danych zapisaną w bazie dBase for Windows. składa się ona z następujących pól:
data | oddział | sprzęt | numer | czynność | czas_pracy
mój problem sprowadza się do tego jak zrobić sumowanie czasu pracy dla poszczególnych oddziałów i wrzucić to potem do raportu RaveReport najlepiej na samym jego końcu już po wypisaniu wszystkich danych z bazy. sam raport już mam zrobiony i wiem jak dodać dane do raportu z aplikacji przez wykorzystanie parametrów - nie wiem tylko jak zrobić to sumowanie czasu pracy po oddziałąch [???] jeśli ktoś byłby uprzejmy podzielić się swoją wiedzą to bardzo prosze o pomoc [browar] wielkie dzięki z góry
pozdrawiam
malcziki

0

SELECT oddział, Sum(czas_pracy) AS suma FROM tabela GROUP BY oddzial

PS. nie używaj w nazwach pól pl literek

0

witam
dziękuje za podpowiedź ale to chyba jest w jakimś SQL a z tym nigdy nie miałem wspólnego nic. więc jeśli mógłbym jeszcze poprosić o wskazówke w którym miejscu mam zastosować to polecenie - w kodzie programu i przypisać je do jakiejś zmiennej czy w samym raporcie gdzieś to umieścić?
dziękuje za kolejne podpowiedzi
malcziki

0

przypuszczam, że korzystasz z BDE więc kładziesz na formę TQuery i robisz prawie wszystko tak samo jak z TTable z wyjątkiem wyboru nazwy tabeli i zamiast tego klikasz na właściwość SQL i wpisujesz to co Ci podałem a potem Active := True i w RR pod tym raportem, który masz musisz dodać tak jakby drugi z tymi danymi z TQuery

0

witam

przypuszczam, że korzystasz z BDE więc kładziesz na formę TQuery i robisz prawie wszystko tak samo jak z TTable z wyjątkiem wyboru nazwy tabeli i zamiast tego klikasz na właściwość SQL i wpisujesz to co Ci podałem a potem Active := True

to udało mi się wykonać bo przedmówca neimalże poprowadził mnie za ręke :)
natomiast

i w RR pod tym raportem, który masz musisz dodać tak jakby drugi z tymi danymi z TQuery

z tym to już nie poszło tak dobrze - szczerze sie przyznaję ze jest to moje pierwsze podejście do baz danych w delphi (nie mówiąc już o zupełnej nieznajomości z SQLem) i komponentem RaveReport - jakiś prosty raport udało mi się stworzyć na podstawie poradnika na tymże portalu - lecz to jak dołożyć do mojego raportu kolejny podraport (czy jak to się fachowo określa) to juz zupełnie czarna magia :(
jeśli mogę więc to proszę o jeszcze bardziej łopatologiczne wyłożenie materiału...z góry dziękuje i przepraszam za kłopot [wstyd]
malcziki

0

może to Ci coś pomoże http://www.borland.pl/tech/wprowadzenie_do_Rave_Reports_1.shtml, szczególnie cz. 3

a tak na szybko to powinno zadziałać jak dasz dwa DataBand'y i na jednym ten raport, który masz a na drugim analogicznie jak pierwszy tylko jako źródło TQuery

0

witam
preczytałem sobie ten artykuł podany w poprzednim poście, dodałem odpowiednie pola na raporcie ale nie wiem jak przekazać dane zwrócone przez to zapytanie SQLowe które podałeś wcześniej. nie wiem jak je przypisać do jakiegoś parametru tak żeby przekazać je do raportu :-( jeśli moge prosić o odpowiedź jeszcze na to pytanie to byłoby już super - jeśli i teraz mi sie nie uda to chyba dam sobie spokój - to przerasta moje mozliwości [glowa]
dziekuje z góry wszytskim okazującym mi cierpliwość i pomoc na tym forum
pozdrawiam
malcziki

0

niestety nie mam mozliwości edycji postów więc piszę kolejnego: gdybym mógł prosić o jakiś gotowy przykład - nawet najprostszy - pokazujący jak obsługiwać te zapytania SQL i przekazywanie ich wyników do raportu to byłbym bardzo zobowiązany :) pod adresem http://aroo.bizhat.com/kartapracy.rar są wszytskie pliki mojego projektu, które wykorzystuję, gdyby ktoś chciał zerknąć i moze wtedy będzie łatwiej podpowiedzieć co i jak [???] (nie wiem czemu pokazuje sie komunikat o braku uprawnień po kliknięciu w ten link ale jeśli się go skopiuje i wklei do przegladarki to działa ok)
z góry raz jeszcze dziekuję i pozdrawiam
malcziki

0

niestety ort! mam mozliwości edycji postów więc piszę kolejnego:

To się zarejestruj tu i będziesz mógł edytować posty.

Co do SQL to:
www.austrinus.prv.pl

Jeśli chodzi o przekazywanie danych do raportu np. w Rave Raports to poczytaj o parametrach. Bardzo fajna sprawa. Jeśli to już umiesz to tylko obadaj SQL i np. Firebirda.

0

RvDataSetConnection1 jest niepotrzebny a sam raport masz tu

zrobiłem to tak

  1. usunąłem wszystko dotyczące podsumowania i wyszło coś takiego
    user image
  2. dodałem Band Component z zakładkiReport
  3. we właściwościach Band Styles dodanego Band'a zaznaczyłem Body Header, First i New Page
    user image
  4. dodałem DataBand Component z zakładkiReport
  5. We właściwościach DataBand'a DataView wybrałem DataView2 (to jest właśnie połączone z TQuery)
  6. We właściwościach Band'a (tego z pkt 2) ControllerBand wybrałem dodany DataBand (kolory "ikon" po lewej stronie obu powinny zrobić się takie same)
  7. Na Band dałem w sumie 3 Text Component (zakładka Standard)
  8. Na DataBand dałem 2 DataText (zakładka Report), obu ustawiłem DataView na DataView2 a DataField odpowiednio na oddzial i suma
  9. no i kilka lini dla oddzielenia

w efekcie mam coś takiego
user image

0

witam
to już w tym momencie nie mogło być innego wyjścia i musiało zadziałać i zadziałało :) jestem pełen podziwu dla Misiekd [browar] i bardzo mu dziekuję za cierpliwość i wszelką okazaną pomoc. moim problemem było chyba to, że nie umieściłem na raporcie tego wspomnianego powyżej DataBand'u który zapewne otrzymywał niezbędne dane [wstyd] jeszcze tylko jedna malutka prośba - jak wyznaczyć całkowitą sumę godzin? czy da się to zrobićjakoś łatwo? czy trzeba uzyć tego komponentu CalcTotal?... raz jeszcze dziękuję wszystkim pomocnym osobom za zaangażowanie i pozdrawiam
malcziki

0

witam
z ostatnim problemem poradziłem sobie już do konca - coprawda metodą prób i błędów ale na podstawie informacji udzielonych przez forumowiczów to jednak sie udało :)
dzięki wszystkim za pomoc i [browar] dla Was po małym bezalkoholowym ;)
uważam temat tego wątku za zamknięty
pozdrawiam
malcziki

0

witam
wybaczcie ze odkopuje tak stary temat ale nie mam po co zakładac nowego i przepisywac pół tego co jest tu :)
mam jeszzce takie pytanko: w swojej aplikacji (o niej więcej można znaleźć u góry tematu) chciałbym wykorzystać jeszzce informacje o czasie pracy każdego dnia w którym coś zostało wpisane, wiec pewnie znów jakieś sumowanie danych z tabeli, chciałbym wiec poprosić Forumowiczów o pomoc jak ułożyć zapytanie SQL podliczajace godziny pracy dla danego dnia który zapisany jest w bazie danych, oraz jak przekazac to do wyświetlenia na formie w sekwencji data - czas pracy dla daty.
czy to byłoby coś takiego:
SELECT data, Sum(czas_pracy) AS sumadnia FROM tabela GROUP BY data
dzieki z góry za pomoc i życze miłego popołudnia
stupido

0

coś takiego powinno działać

1 użytkowników online, w tym zalogowanych: 0, gości: 1