• ベストアンサー

アクセスにて名簿作成

MSアクセスを書籍で独学しているレベルです。 仕事のほうで、名簿を作成することになりました。 講座(4回or8回シリーズなど)を年間に何度か行っており、修了者には修了証も発行します。 初級→中級→上級とステップアップがあります。 入金が終わった受講生は次年度も繰り越して受講することができます。 たまに単発の講演会も行います。 そこで質問は、どのようなテーブルを作成すると良いか、ということです。  データとして把握したいことは、  ・一度でも受講した方(受講生)の住所などの個人データ  ・受講生の受講履歴および出欠  ・受講生の入金履歴 以上ができれば、その他は自分で作れそうです。 うまくリレーションのイメージができないので、どのようなテーブルを作成すると良いか教えて下さいませ。 現在は、それぞれエクセルでリストを作成し、手作業で確認しております。 規模は1講座20人程度、年間3~6ローテーション。 5年ほど行っておりますので、400人ぐらいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

>どのようなテーブルを作成すると良いか 受講生名簿テーブル:受講生ID・氏名・住所・電話番号・生年月日・性別 等 講座テーブル:講座No・講座名・内容・開催場所・開催日・定員数(必要あれば) 等 講座申込ファイル:講座No・受講生ID・申込日・入金チェック・出欠チェック・修了証(チェックか修了日付) 等 入金ファイル:入金No・講座No・受講生ID・入金日 最低でこのくらいではないでしょうか。 >リレーションのイメージができないので 主テーブルとなるのはテーブル・累積テーブルはファイル。主キーとなるキーはID・オートナンバー型等で良いキーはNoとしてあります。 受講生名簿テーブルは受講生の必要項目があれば全て情報をテーブルに持てるように。 講座テーブルは講座内容。ただし4回や8回シリーズなどの実施情報はフィールドとして持たないように。4回や8回シリーズ等の講座は講座Noで区分する方(例えば100-1~100-4・101-1~101-8とか)が後々楽です。 講座申込ファイル・入金ファイルは上記の通りです。 リレーションとしてテーブルのIDはファイルのIDへ1対多でOKでしょう。 講座申込ファイルは受講生IDで受講生名簿テーブル・講座Noで講座テーブルを参照する。 出欠・修了証は講座申込ファイルにチェック等入力して判断する。 入金ファイルも同様に受講生IDで受講生名簿テーブル・講座Noで講座テーブルを参照し入金されたら講座申込ファイルの入金チェックを更新させる。 >一度でも受講した方(受講生)の住所などの個人データ 受講生名簿テーブルで可能 >受講生の受講履歴および出欠 講座申込ファイルを受講生IDで抽出し出欠フィールドを参照する。 >受講生の入金履歴 入金ファイルを受講生IDで抽出して入金日等を参照する。 こんな感じで良いのではないでしょうか。

sumusumu
質問者

お礼

早速のお返事ありがとうございました。 そしてお礼遅くなり申し訳ありません。(うまくログイン投稿のログインができなかったので、問合せをしていました。まだ返事がきていません。) とても詳しくご説明いただきありがとうございます。 実際にテーブルを作成したりリレーションを作って行ったりしていると、本当に助かるご説明です。 予想以上に自分で分からないことが多いことが分かりました。 細かいエラーや調整が出来上がっておらず、未だに完成しておりません(T_T) 今も、解説書とにらめっこ状態です(~_~;) なんとか運用できるようにがんばっていきます。 もう一度ここから投稿してみます。  遅くなり申し訳ありませんでした。

その他の回答 (1)

noname#60992
noname#60992
回答No.1

テーブルの構成はデータベースで何をしたいのかによって変わってきますが、 受講生リスト: 受講生ID、氏名、生年月日、住所・・・ 講座リスト: 講座ID,講座名、内容など 講座実施リスト: 実施ID、講座ID、実施日1、実施日2・・・ 講座申込(参加)リスト: 参加者リストID、実施ID、受講生ID、出欠1、出欠2、・・・終了証発行、・・・、申し込み日、入金フラッグ、入金日、・・・ このくらいは最低必要と思われます。 その他テーブルに必要なフィールドもあると思います。 また、入金関係を別テーブルにするのも良いかもしれません。

sumusumu
質問者

お礼

早速のお返事ありがとうございました。 そしてお礼遅くなり申し訳ありません。(うまくログイン投稿のログインができなかったので、問合せをしていました。まだ返事がきていません。) ご回答を見るとなるほどと思うのですが、やはり実際にテーブルを作成したりリレーションを作って行ったりしていると、結構引っかかってしまっています。 予想以上に自分で分からないことが多いことが分かりました。 細かいエラーや調整が出来上がっておらず、未だに完成しておりません(T_T) 今も、解説書とにらめっこ状態です(~_~;) なんとか運用できるようにがんばっていきます。 もう一度ここから投稿してみます。  遅くなり申し訳ありませんでした。

関連するQ&A

  • 受講生名簿はどのソフトをしようすると良いのでしょうか?

    いつも参考にさせていただいています。 小生、セミナー等の運営・管理をしております。 短期・長期、いくつものセミナーや講演会をしております。 現在はエクセルにて、各セミナーごとに受講生名簿を作成して、出欠および入金管理しております。   当方のシステムでは、一通り受講するごとに修了証を渡しており、また複数年かけて修了しても良いことになっております。 また、各講座の再受講者は割安の受講料を設定しております。   エクセルまたはアクセスでデータベースの作成を考えてもいるのですが、参考書籍を見ても、どこを見てよいかわかりません。 適した方法や、掲載場所を教えていただけるとありがたいです。  人数は5年ぐらいで600人ぐらいですので、それほど多くはないのですが、そのデータの移行も考えなければなりません。   よろしくお願いいたします。

  • Access2000フォームにリレーションしたテーブル内容を入れたい

    Access2000フォームにリレーションしたテーブル内容を入れたい Access2000を利用していますが、フォームにリレーションしたテーブル内容を表示したいです。 具体的には 顧客情報テーブルのフォームに履歴テーブルの情報や、入金テーブルなどを表示したいです。 サブシートでは見づらく入力ミスとかが発生してしまうので・・ よろしくお願いします。

  • Access2000のリレーションシップのエラーについて

    どのくらい説明すればいいのかわからないのですが、アクセス2000でリレーションシップの設定をするときに、 「主テーブルで参照されているフィールド用の固有インデックスがありません。」 というエラーメッセージが出てきてリレーションを作る事が出来ません。 問題なのは3つのテーブルのリレーションなのですが、それぞれのインデックスをチェックすればいいのだとは思いますが、対象となったフィールドは主キーではないので、重複は許可していますが、一応どちらもインデックスは作成しています。 どのようなリレーションシップかというと、業者テーブルと商品テーブルと販売履歴テーブルのリレーションで、 商品テーブルの業者IDと業者テーブルのIDのリレーション→左内部結合(商品テーブルの全フィールドに入れる) 業者テーブルの業者IDと販売履歴の業者IDのリレーション→右内部結合 は出来るのですが、商品テーブルの商品名と値段フィールドと、販売履歴の対応する部分についてのリレーションについてもたせようとするとエラーが出てしまいます。このようなリレーションはいらないのでしょうか? どちらも固有の値でない量のリレーションだからなのでしょうか? この二つのフィールドの参照整合性をどう保てばいいのか教えて下さい。

  • accessのサブフォームの更新

    いつもお世話になっています。 サブフォームの件でどうしても解らないところがあります。 受講者名簿テーブル 受講者番号、受講者名、受講者住所・・・ 受講者予約テーブル 受講者番号、日付、授業内容 上記の2つのテーブルでそれぞれフォームを作成していて、メインが「受講者名簿F」サブが「受講者予約F(表形式)」、受講者番号でリレーションをしています。 受講者予約テーブルをもとに、日付で検索できるように「受講者日付検索Q」というクエリを作成しました。 「受講者名簿F」のメインテーブルに「日付検索」というのを作成して、「受講者日付検索Q」をもとにしたフォームを開くようにしています。 今回、行いたいことは「日付検索」ボタンの隣に「更新」というボタンを作成し、「日付検索」で表示されたフォームにデータ変更をした際、画面を閉じた後で サブフォーム「受講者予約F(表形式)」の画面に変更が反映されるようにしたいのですが、やり方が思いつきません。 よろしくお願い致します。

  • アクセスで同じ値を引き出してくる方法

    アクセス初心者です。 フォームのテキストボックス(txt開催日)に『12345』と言う値が入っています。 テーブル(T_受講料)で『12345』は『5000』と言うテーブルを作っています。(他、多数のデータがあります) そのテーブルは単独でリレーションを結んでいません。(構造上無理なため) どうやったら、フォームに新たに作ったテキストボックスに『5000』を入力できるのでしょうか? よろしくお願いします。

  • Accessでリンクしたテーブルのリレーションが設定できない

    PostgresへA5SQLとか言うツールを使ってテーブルを2つCreateTableしました。 テストデータも入力しました。 あらためてAccessでPostgresのテーブルをリンクテーブルとして参照しデータを見ることが出来ましたが、Access上でリレーションが未定義でサブフォームを作成することが出来ません。 リレーションを1:多で作成しようと思うのですが、設定フィールドが真っ白でいじれません。 何故でしょうか? 基本的にCreateTableするときに、なにやらリレーション設定する構文が必要だったのでしょうか? 今は、CreateTableしか構文は記述されていません。 どなたかご教授ください。 よろしくお願いします。

  • Access2003で

    あるところから、受講者データをCSVファイルとしてもらっています。このCSVファイルのデータをアクセスのAテーブルに貼り付けて、採点業務をしたいと思います。 Aテーブルの1-1フィールドに「数学」や「国語」等が入力されています。(空白もあります) Bテーブルの1-1フィールドに「数学」と入力されており、その横の点数フィールドに「10」と入力しています。 AテーブルとBテーブルの1-1をリレーションで組み、クエリで1-1フィールドが数学ならば点数が10点と表示されるようにしました。 ここで質問なのですが、数学以外の語句(空白も含む)が入力されていれば、点数が0点と表示されるようにしたいのですが、どうすれば良いのでしょうか? よろしくお願いします。

  • ACCESS2000クエリーの変更

     すいません。一応前記事検索かけたのですが、よくわからなくて。  二つのテーブルにリレーションを張ってクエリーを作成した場合、クエリー上でデータを変更できるクエリーと、テーブル上でしか変更できないのがあるのは何故ですか?  初心者で、何が問題なのかもよくわかりません。  ウィンドウズ98です。よろしくお願いします。  

  • 履歴書の資格欄について

    履歴書などの資格欄に資格ではなく、受講修了書を書く事は出来ますか? 以前の会社で、色々な講習を受けたり、通信による講座を受けました。 テストなどがないものは、受講終了書を頂いているので、書く事が可能なら、記入したいと思うので教えて下さい。 宜しくお願いします。

  • “2級心理カウンセラー修了認定資格”って一体…

    2級心理カウンセラー養成講座というものを受講しようと思っています。 これを受講すると、“2級心理カウンセラー修了認定資格”というものがもらえるそうなんですが、これは一体どのような資格なんでしょうか??試験はあるのでしょうか?? 履歴書に書けるくらいの資格なんでしょうか?? ちなみに↓の「日本プロカウンセリング協会」というところがしている講座です。 http://www.prokan.co.jp/index.html 質問が多くてすいませんがよろしくお願いします。

専門家に質問してみよう