[Access] Zliczanie wierszy z kilku tabel - możliwe?
Witam!
Potrzebuję zliczyć wartości z kolumn w dwóch różnych tabelach i wstawić jako komórkę w wierszu innej tabeli - ktoś mi powie, jak to można zrobić? Bo na razie mogę zliczać tylko w obrębie jednej tabeli.
Tabela #1:
- ID
- Nazwa
- Wartość
Tabela #2:
- ID
- Nazwa
- Suma wartości z tabeli #1
Dalej nie rozumiesz, o co chodzi z wytłumaczeniem....
Wystarczy Ci
SELECT sum(Tabela1.Wartość) FROM Tabela1;
Chodzi Ci o zliczenie ilości, czy wszystkich wartości w tabeli 1? Grupowanie ma być po nazwie?
Wynik ma być przerzucony do tabeli 2?
Zrób select z grupowaniem po nazwie na tabeli 1. Daj na to update do tabela2 wiążąc po nazwie
Chodzi o to, bym w kolumnie "suma ..." (tabela #2) miał wynik sumowania kolumny "Wartość" z tabeli #1. Nie wiem jak to podpiąć po prostu :)
Z punktu widzenia projektowania baz danych takie rozwiązania są fatalne i niepotrzebne. Ale jeśli koniecznie chcesz to musiałbyś zrobić triggera, żeby po dodaniu wpisu do tabeli 1, pole z sumą w tabeli 2 automatycznie się aktualizowała.
http://fisher.osu.edu/~muhanna_1/837/MSAccess/tutorials/trigger.pdf
Ale jak wspomniałem - takie rozwiązanie to niepotrzebna redundancja danych, zdecydowanie lepiej stosować zwykłe zapytanie sumujące, o którym wspomniał legrooch.
EDIT: może w Accesie da to się zrobić jakoś za pomocą ichnich formatek - nie wiem, nie używam.
Loczek - dokładnie o to mi chodzi, tylko jak zrobić, bym miał w tej swojej wymarzonej komórce sumowanie z drugiej tabeli? :D
http://allenbrowne.com/casu-14.html
'For example, if you have fields named Quantity and UnitPrice, how do you get Access to write Quantity * UnitPrice to another field called Amount?
The best answer is, "Don't!"' :P
Moge zapytać po co Ci to? Takie kalkulacje wykonuje się na kwerendach (zapytaniach), nie na poziomie projektowania tabel. Generalnie w bazach danych unika się jakichkolwiek danych które można obliczyć itp.
Zrozum, że można to rozwiązać na dwa sposoby, z czego jeden nie powinien nawet w głowie Ci zaistnieć - sumowanie na żywca przy każdej aktualizacji tabeli1.
Drugi sposób można rozwiązać na dwa sposoby:
- pierwszy polega na obliczeniu w kwerendzie wyników z pierwszej tabeli i podstawienie sumy z drugą tabelą. Wszystko jest w kwerendzie, a nie w tabeli
- drugi polega na wykonaniu obliczenia na żądanie i zasilenie wynikami tabeli 2.