Maciej Reguła

Maciej Reguła Programista
JavaScript, PHP,
webdeveloper

Temat: Kwerenda aktualizująca - problem

Witam,

Mam takie oto 2 tabele:


Obrazek


I teraz klikając na buttona chciałbym wyzerować wszystkie pola "Id_rezerwacja" w tabeli "pokoje" ale tylko wówczas gdy pole "Data_do" < now() w tabeli rezerwacje.

Zapytanie buduje takie:
UPDATE Pokoje INNER JOIN Rezerwacje ON (Pokoje.Id_pokoj=Rezerwacje.Id_pokoj) AND (Rezerwacje.Data_do < now()) SET Pokoje.Id_rezerwacja = 0;

Wyskakuje mi monit w accesie: że sprzężenia nie są obsługiwane. Co na to poradzić ?
Tomasz Niewolik

Tomasz Niewolik
Programista/Projekta
nt

Temat: Kwerenda aktualizująca - problem

Może tak:
update pokoje set Id_rezerwacja = 0 where Id_rezerwacja in (select Id_rezerwacja from Rezerwacje where Data_do < now())

Błąd może być spowodowany przez coś innego. Jak masz rozwiązane relacje w tych tabelach? Widzę, że Rezerwacje mają ID_POKOJ i POKOJE mają ID_REZERWACJA. To chyba jest słabe rozwiązanie.

Po drugie zamiast zera powinieneś wstawiać null (bo w przypadku więzów integralności będzie wymagało rekordu w REZERWACJE z ID_REZERWACJA równym 0).

Wydaje mi się, że powinieneś jeszcze raz przemyśleć strukturę danych.
Maciej Reguła

Maciej Reguła Programista
JavaScript, PHP,
webdeveloper

Temat: Kwerenda aktualizująca - problem

Dziękuję pomogło to zapytanie.

Jednak mam jeszcze jeden problem. Jak dodaję rezerwację i np. dodam że pokój nr 5 jest zarezerwowany i przejdę do następnej rezerwacji to nadal mogę wybrać pokój nr 5 z listy kombi. Dopiero jak wyłącze formularz rezerwacji i włączę go na nowo to pokój nr 5 nie jest dostępny. Tak jakby odświeżanie jakieś trzeba właczyć...Maciej Reguła edytował(a) ten post dnia 24.06.10 o godzinie 15:33
Tomasz Niewolik

Tomasz Niewolik
Programista/Projekta
nt

Temat: Kwerenda aktualizująca - problem

Po wykonaniu update zrób requery na polu kombi (requery lub refresh nie pamiętam jak to się tam nazywało). Możesz też odświeżać listy w zdarzeniu OnCurrent.
Maciej Reguła

Maciej Reguła Programista
JavaScript, PHP,
webdeveloper

Temat: Kwerenda aktualizująca - problem

W polu kombi ustawiłem w zdarzeniu "Przy wejściu" i działa :)

Dziękuję i pozdrawiam !Maciej Reguła edytował(a) ten post dnia 24.06.10 o godzinie 16:40



Wyślij zaproszenie do