Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wstawianie kolumny z kwerendy do tabeli.
Kurdtt
post 22.04.2014, 17:04:43
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 2.04.2014

Ostrzeżenie: (0%)
-----


Witam serdecznie,

Posiadam bazę danych "wypożyczalnia samochodów" w celu edukacyjnym, kolumnę "DNI" w tabeli "WYPOŻYCZENIA", która oznacza ilość dni na którą ktoś wypożycza samochód oraz kolumnę "KOSZT_DNIA", która ustala z góry cenę kosztu wypożyczenia samochodu na jeden dzień z tabeli "SAMOCHODY".

Teraz pytanie - jak do tabeli "WYPOŻYCZENIA" wstawić kolumnę "KOSZT", by liczył automatycznie iloczyn dni i kosztu dnia. Nie mam pojęcia, jak wstawiać te dane bezpośrednio, dlatego stwierdziłem, że zrobię kwerendę która mnoży i całą kolumnę bym wstawiał do tabeli. Pytanie - jak?

Dziękuję za odpowiedź,
Pozdrawiam.
Go to the top of the page
+Quote Post
Morfina
post 24.04.2014, 11:57:46
Post #2





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 4.09.2013

Ostrzeżenie: (0%)
-----


Witam,
Kolego Kurdtt, jeżeli dobrze interpretuję sytuacje to problemem jest wstawienie do tabeli dodatkowej kolumny, która to będzie iloczynem pól z nią powiązanych w innej tabeli.

Rozwiązanie 1.
Jeżeli nie potrzebujesz tych wartości przechowywać w dokładnie w tej tabeli to stwórz odpowiednią kwerendę, która będzie wyglądać dokładnie tak samo jak tabela pierwotna a dodatkowo będzie posiadać pole obliczeniowe o które Ci chodzi.

Rozwiązanie 2.
Jeżeli potrzebujesz wartość tą przechowywać w tej tabeli powinieneś wykorzystać wiedzę z Rozwiązania 1 i na tej podstawie stworzyć kwerendę aktualizującą. Wadą jest to, że wymaga ona odpalenia po każdej aktualizacji ww. Tabeli. ( można to zautomatyzować poprzez VBA)

Rozwiązanie 3.
Najtrudniejsze ale działające dokładnie tak jak tego potrzebujesz. Migracja bazy do SQL-a a następnie wykorzystanie mechanizmu wyzwalacza (ang. trigger). Po każdej aktualizacji trigger będzi ?odpalany? i wprowadzi wartość do kolumny Koszt.

Pozdrawiam
Morfina

Ten post edytował Morfina 24.04.2014, 12:00:11
Go to the top of the page
+Quote Post
Kurdtt
post 24.04.2014, 19:35:36
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 2.04.2014

Ostrzeżenie: (0%)
-----


"Najtrudniejsze ale działające dokładnie tak jak tego potrzebujesz. Migracja bazy do SQL-a a następnie wykorzystanie mechanizmu wyzwalacza (ang. trigger). Po każdej aktualizacji trigger będzi ?odpalany? i wprowadzi wartość do kolumny Koszt."

Fajna sprawa, nie powiem, pytanie jak zrobić coś takiego w Accessie. Kwerenda aktualizująca jest fajna, tyle, że nie mogę nigdzie znaleźć makra na
uruchamianie jej zaraz po wpisaniu rekordu, natomiast o triggerach nigdzie nie mogę znaleźć jakichkolwiek informacji do Accessa 2013.
Go to the top of the page
+Quote Post
Morfina
post 24.04.2014, 19:57:18
Post #4





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 4.09.2013

Ostrzeżenie: (0%)
-----


Witam,

Access jako "mniej poważna" baza danych nie posiada trigger-ów.

Mam bardzo mało informacji nt. twojej bazy więc ciężko mi zająć stanowisko jak to powinieneś realizować.

Zakładając, że baza została wykonana zgodnie z arkanami tworzenia baz dla Accessa zapewne dane wprowadzasz za pomocą formularza. W tym formularzu jest pole które uzupełniasz jako ostatnie w kolejności dokonując nowego wpisu ( tworząc nowy rekord ). W właściwościach dla tego pola w zakładce zdarzenia dla rekordu po aktualizacji, zagnieżdżasz macro, które uruchamia kwerendę aktualizującą .

Pozdrawiam
Morfina
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.03.2024 - 07:52