2017-03-09 10 views
0

問題があります。 テーブル患者の宿泊施設に入室した後、1つのテーブルで整数値(フリーベッド)を減らさなければなりません。私は、患者収容のためのデータを提出するフォームを使用してそれを行うと考えていました。送信ボタンをクリックすると、クエリが開始されます。クエリで別のテーブル(MS Access 2016)でデータを更新した後、あるテーブルのデータを更新するには

私はコードを書いた:

SELECT [Patient_accomodation].Room_number, Rooms.Available_beds 
FROM Rooms INNER JOIN [Patient_accomodation] ON Rooms.Room_number = [Patient_accomodation].Room_number 
WHERE (((Rooms.Available_beds)=IIf([Patient_accomodation]![Room_number]=[Rooms]![Room_number],[Rooms]![Available_beds]=[Rooms]![Available_beds]-1,"Error"))); 

しかし、それは私がそれを実行した後に必要なランタイムエラー「424」オブジェクトを取得します。

答えて

0

SELECTクエリはテーブル内のデータを変更しません。あなたはそのクエリが何を達成すると思いますか?

通常、集計データを保存するのは悪い考えです。集計データは、必要に応じて生データレコードから計算する必要があります。

+0

ああ、それは私の悪いです。私は別のテーブルに患者を入力した後にデータを更新することを考えました。私は占有ベッドの数を減らす必要があります。 これらの2つのテーブルは関連しており、テーブルpatient_accomodationのその部屋に患者を登録すると、テーブルルームのデータを更新するだけで済みます。 誰かが私を助けることができたら、それは私に多くのことを意味するでしょう。 私は以前の質問でそれについてより詳しい情報を書いたが、答えは得られなかった。 @ June7 – majoantic

+0

従来のアプローチは、ベッドのテーブルを持ち、占有されているかどうかを示すフィールドを設定することです。次に、利用可能なベッドの数を提供するためにクエリを集計します。ベッドと患者を関連づけたい場合は、図書館の本をチェックアウトするのと同じです。ベッドは患者が占有しているときにチェックアウトされ、患者が離れるとチェックインされます。 Microsoft Lending Libraryデータベーステンプレートは素晴らしい例です。 – June7

関連する問題