Pomoc przy warunkowym wykonaniu makra - projekt bazy danych.

0

Witam, jestem gościem na tym forum i szukam pomocy, robię projekt zaliczeniowy na zaliczenie przedmiotu bazy danych. Projekt dotyczy biblioteki, która działa głównie na encjach: Książka - Wypożyczenia - Czytelnik. Cała baza już skończona, wszystko działa, jednak muszę jeszcze zaimplementować regułę biznesową która mówi że jeden czytelnik nie może mieć jednocześnie wypożyczonych więcej niż 3 książęk.

Opis problemu:

Sytuacja wygląda następująco: mam Formularz służący do wypożyczania książek, w formularzu z pola kombi wybieram id czytelnika i id książki, wybieram odpowiednią datę i klikam przycisk "Wypożycz" do którego podpięte jest makro które uruchamia 2 kwerendy: Kwerenda która dodaje rekord do tabeli Wypożyczenia z wartościami z pól tego formularza i kwerende która zmienia status dostępności książki w tabeli Ksiązki.
Chodzi o to żeby przy klikaniu przycisku sprawdzany był jeszcze warunek ile wpisów z tym id czytelnika jest w tabeli Wypożyczenia, jeżeli jest więcej niż dwa powinno wyskoczyć powiadomienie czy coś w tym stylu że ten czytelnik nie może już wypożyczyć książki (ograniczenie do maksymalnie 3 książek wypożyczonych jednocześnie przez jednego czytelnika). Mam też kwerende z Countem która liczy rekordy z wypożyczeń z podanym id czytelnika.

Próbowałem w kreatorze makr w warunkach zrobić jakiś z DCountem który niby pasuje do tego ale cały czas jakiś błąd składni:
DCount("*", "Wypozyczenia", "[id_czytelnika]= Forms![Wypozycz].[id_czytelnika]")<4

  • warunek znalezłem na stronie Microsoftu i odpowiednio zmieniłem pod moją bazę.

Nazwa Formularza: Wypozycz
Nazwa makra "wypożyczającego": MWypozycz
Nazwa Tabeli: Wypożyczenia
Nazwa pola w tabeli i w formularzu: id_czytelnika

Ograniczenie to może być zrobione w dowolny sposób, byleby działało :)
Proszę o pomoc bo nie potrafię tego sam zrobić, z góry dziękuję :)

0

Podejrzewam, że chodzi o jakiegoś accesa. Trudno mi odpowiedzieć jeśli chodzi o accessa, ale może podam wskazówkę jak to w SQL Serverze. Może jakis trigger albo CONSTRAINTS?

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