PDA

Zobacz pełną wersję : > Access , sprawdzanie pokrywających się dat



mersen
22-08-08, 16:48
Witam!
Baza danych urlopów Pracowników.
Mam za zadanie stworzyć formularz ,za pomocą którego będzie możliwe dodawanie rekordów do tabeli Urlopy(która ma postać IDurlopu, IDpracownika, PoczatekUrlopu, KoniecUrlopu), problem jest w tym , że w tym samym czasie na urlopie może być max 5 osób. Kiedy użytkownik będzie chciał dodać urlop jakiemuś pracownikowi w terminie, w którym już innych 5 osób ma przypisany urlop , program ma poinformować użytkownika, o niemożności dodania urlopu w tym terminie.
Formularz ma postać
Pracownika wybieram z pola kombi (WybPr)
daty podaje w polach tekstowych data1 i data2

Niestety nie mam pojęcia , jak napisać kwerendę która sprawdzi te daty i zapisze lub nie dane tablicy. Nie wiem jak napisać warunek sprawdzania:(

Z góry dzięki za pomoc

koneton
26-08-08, 13:15
Obawiam się, że bez odrobiny VB się nie obejdzie. Ja bym to zrobił tak:
Napisał zapytanie sprawdzające:


SELECT Count(*) AS LICZNIK
FROM (SELECT Distinct Urlopy.IDPracownika
FROM Urlopy
WHERE ((([data_od:]) Between [PoczatekUrlopu] And [KoniecUrlopu])) OR ((([data_do:]) Between [PoczatekUrlopu] And [KoniecUrlopu])) OR ((([data_od:])<[PoczatekUrlopu]) AND (([data_do:])>[KoniecUrlopu])) OR ((([data_od:])>[PoczatekUrlopu]) AND (([data_do:])<[KoniecUrlopu]))
) AS TMP

Na podstawie otrzymanego wyniku uruchomiłbym inserta lub pokazał odpowiedni komunikat.

Mam nadzieję, że trochę Ci to pomoże.