[Access] Zliczanie wierszy z kilku tabel - możliwe?

Forum Komputery
Odpowiedz
08.09.2011 15:13
1
odpowiedz
Lozano23
67
Konsul

[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.

08.09.2011 15:18
legrooch
2
odpowiedz
legrooch
244
MPO Squad Member

Narysuj i opisz, bo nie za bardzo rozumiem do czego zmierzasz....

08.09.2011 15:25
3
odpowiedz
Lozano23
67
Konsul

Tabela #1:
- ID
- Nazwa
- Wartość

Tabela #2:
- ID
- Nazwa
- Suma wartości z tabeli #1

08.09.2011 15:37
legrooch
4
odpowiedz
legrooch
244
MPO Squad Member

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

08.09.2011 15:43
5
odpowiedz
Lozano23
67
Konsul

Chodzi o to, bym w kolumnie "suma ..." (tabela #2) miał wynik sumowania kolumny "Wartość" z tabeli #1. Nie wiem jak to podpiąć po prostu :)

08.09.2011 15:45
Loczek
6
odpowiedz
Loczek
160
El Loco Boracho

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.

08.09.2011 15:46
7
odpowiedz
Lozano23
67
Konsul

Loczek - dokładnie o to mi chodzi, tylko jak zrobić, bym miał w tej swojej wymarzonej komórce sumowanie z drugiej tabeli? :D

08.09.2011 15:49
Loczek
8
odpowiedz
Loczek
160
El Loco Boracho

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.

08.09.2011 15:59
legrooch
9
odpowiedz
legrooch
244
MPO Squad Member

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.

Forum Forum Komputery
Odpowiedz

GRYOnline.pl:

Facebook GRYOnline.pl Instagram GRYOnline.pl X GRYOnline.pl Discord GRYOnline.pl TikTok GRYOnline.pl Podcast GRYOnline.pl WhatsApp GRYOnline.pl LinkedIn GRYOnline.pl Forum GRYOnline.pl

tvgry.pl:

YouTube tvgry.pl TikTok tvgry.pl Instagram tvgry.pl Discord tvgry.pl Facebook tvgry.pl