Microsoft Access Club Access超初心者対象Forum Access初・中級者対象Forum Access VBA Tips Forum DAO、ADO、SQL Forum

     

リストへもどる

投稿記事の一括表示

タイトル情報を書き換えたり戻したりするようなテーブル構造?
記事No83270
投稿日: 2018/03/12(Mon) 16:19
投稿者miwa
OS:Windows7
ACCESS VERSION: 2007-2010

いつもこちらでお世話になっています。

ACCESSで、学校での支援シフト表を作っております。各授業につき、支援者が2名が入るシフトです。
主なテーブルは下記のとおりです。

【tbl利用者】・・利用者ID、基本情報
【tbl支援者】・・支援者ID、基本情報
【tbl空きコマ一覧】・・空きコマID、支援者ID、学期、月1、月2・・・金4、金5(※)
【tbl利用者授業一覧】・・授業ID、利用者ID、学期、コマ、授業名、教室
【tblシフト@】・・授業ID、利用者ID、支援者ID
【tblシフトA】・・授業ID、利用者ID、支援者ID

※【tbl空きコマ登録】では月1、月2・・の各フィールドにそれぞれ「○」「△」「×」もしくは「未定」が入ります。

利用者の各授業のシフトを組むにあたり、フォームで選択したコマ(月1、月2・・)につき、
そのフィールドが「○」もしくは「△」となっている支援者を抽出。サブフォームで表示しています。
このとき、支援者ID、利用者ID、授業IDを選択したクエリを元にした調整フォーム上で、
コンボボックス@およびAで同様に抽出された支援者を2名選択し、
各授業の支援者を【tblシフト@】と【tblシフトA】に格納していくという作業まで、できています。

<やりたいこと>
漠然としているのですが、各支援者の、すでにシフトが入っているコマについては
「○」「△」の代わりに利用者の名前等を代入して、シフト調整の際に、重複してシフトを入れてしまわないようにしたいのです。
とはいえ、元々の空きコマ情報は残しておきたいので、上書きは避けたいと思っています。
「○」となっているところを「利用学生A(の支援に入る)」としたり、「○」に戻したり、推敲したいのです。

この時点でよいアイディアが浮かばず、行き詰ってしまいました。
別テーブルを作成し、更新クエリを使ったりすれば可能でしょうか・・。

どなたかヒントになるような考えをお教えいただけますと大変助かります。
初心者ゆえ他力本願となってしまいますが、これを糧にACCESSの知識を蓄えていきたいと思っています。

よろしくお願いいたします。

タイトルRe: 情報を書き換えたり戻したりするようなテーブル構造?
記事No83285
投稿日: 2018/03/23(Fri) 11:06
投稿者miwa
ユニオンクエリ【qry支援者別シフト一覧】を作成し、
これを実行すると【tblシフト@】と【tblシフトA】が合体し、
支援者情報+利用者情報+授業情報が一覧になる仕組みとなっています。

さらに、上記【qry支援者別シフト一覧】を元に
テーブル作成クエリ【qry支援者別シフト一覧テーブル作成】を実行し
【tblアシスタント別シフト一覧】を作成。

最後に更新クエリ【qryシフト更新】を使い、
【tblアシスタント別シフト一覧】でシフトが入っている支援者については
【tbl空きコマ&シフト情報】の該当コマに利用学生名を格納、
そうでない場合は【tbl空きコマ一覧】の情報を格納する、という形にしました。

◆上手くいかない点

上記の流れで、クエリを一つずつ手動で実行した場合は上手くいくことを確認しました。
しかし、フォーム上のコンボボックスの更新後処理で、
上記の3つのクエリ
【qry支援者別シフト一覧】
【qry支援者別シフト一覧テーブル作成】
【qryシフト更新】
を、同時実行しようと思うのですが、qry支援者別シフト一覧から実行されていません。
エラーメッセージ等は出ません。

VBAは下記のように記述しています。

------------------------------
Private Sub cmb支援者@選択_AfterUpdate()
Me.支援者@ID.Value = Me.cmb支援者@選択.Column(1)
DoCmd.SetWarnings False
DoCmd.OpenQuery "qry支援者別シフト一覧", acViewNormal
DoCmd.OpenQuery "qry支援者別シフト一覧テーブル作成クエリ", acViewNormal
DoCmd.OpenQuery "qryシフト更新", acViewNormal

End Sub
------------------------------

何が原因か分からず、もしお気づきの点がございましたらお教えいただけないでしょうか?
よろしくお願いいたします。

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No パスワード

ページの先頭へ 前ページへ戻る