• 締切済み

Microsoft office access VBAについて

Access2007を用いて、旅館の客室の在庫管理をしたいのですが、 おおまかなイメージがつかず、手詰まり状態となってしまいました。 商品、商品注文、顧客のマスターを作成し、在庫テーブルを作ってクエリで現在在庫数を  現在在庫数: [総在庫数]-[現在出荷数]  のように表示させました。 各テーブルについては サービスマスター:ID、サービス名、価格 顧客マスター:ID、氏名、住所、電話番号 注文マスター:注文ID、顧客ID、サービス名、注文日、納品日 商品注文マスター:商品注文ID、顧客ID、商品名、注文日、納品日 商品マスター;商品ID,商品名、価格 となっています。 この後は、予約をするとその場で在庫が減る・在庫はマイナスにならないようにしたいのですが どのように行うべきでしょうか。 予約は1度に1件までで、エラーはなしとします。 検索をしたり参考書を参照したところ、VBAを使用するとのことですが、まったくもって知識がないです。ほかの方法かわかりやすい解説のほうをよろしくお願いします。

みんなの回答

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.3

> 予約の入力はデータのインポートのほうが楽でしょうか? なぜインポートがでてくるのか意味が分かりません。 とりあえずマクロを新規作成して アクションにクエリを開く 下のほうのクエリ名のところに現在のクエリ名を入力 予約フォームの最後に入力するコントロールの プロパティ→イベント→更新後処理でそのマクロを登録してください > 予約フォームを作成したので、そこで入力すれば反映されますか? なにが反映されると聞いているのか分かりません。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.2

現在在庫数: [総在庫数]-[現在出荷数] 何を参照してこの数式が出来ているのかわかりませんが 予約を入力したら都度そのクエリを実行すればいいわけですから 更新後処理のマクロで実行させましょう。 でそのクエリに 判定: IIf([総在庫数]-[現在出荷数])>=0,"可","不可") とかのフィールドを足しておけばいかがでしょうか。

brother623
質問者

お礼

遅くなりましてすみません。回答の仕方がわかりませんでした。 参照先は新たに作った在庫テーブルでした。 >>予約を入力したら 予約の入力はデータのインポートのほうが楽でしょうか? 予約フォームを作成したので、そこで入力すれば反映されますか? >>更新後処理のマクロで すみません、マクロに関しても全くと言っていいほど知識がないです。 リレーションを組んだりクエリを作ることなら現時点でも可能です。 >>判定: IIf([総在庫数]-[現在出荷数])>=0,"可","不可") なるほど、こうすれば0以下になると不可が表示されるわけですね。 またしても質問ばかりですみませんが、よろしくお願いします。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

> 現在在庫数: [総在庫数]-[現在出荷数]  どのテーブルにありますか? 個数に相当するものが見当たりません。 予約を「受ける前に」残数を把握しないとマイナスになりますね。 (予約可能件数把握クエリを作りますか)

brother623
質問者

お礼

遅くなってしまいすみません。 テーブルは新規に作成した在庫テーブルで各フィールドを参照しています。 個数のテーブルは未作成でして、予約を「受ける前に」残数を把握というのもどのように指示すればいいのかわかりません。 予約入力→残数把握→予約受付→可・不可の表示とする感じでいいのでしょうか。 またも質問ばかりですみません。よろしくお願いします。

関連するQ&A