
私立高校で働いているAccess2003を勉強し始めた初心者です。
ExcelでならVBAを使えますが、
Accessでの成績処理に悪戦苦闘しています。
1学年10クラスで、実際は1クラス40人前後ですが、
後のエクセルでの処理を考えて、例えば3年生は
30101から31050までの番号と氏名が入ったIDというテーブルがあります。
点数の入力は点数を入力してもらうエクセルのブックを作っています。
例えば英語の長文演習だと英語_長文演習というブックの英語_長文演習というシートに
点数が入力されています。
ただ選択科目の場合はクラス単位の授業ではないので、
シートは以下のようにとびとびの名簿です。
番号 氏名
30101 赤川 次郎
30105 豊臣 秀吉
30112 織田 信長
30225 徳川 家康
30329 明智 光秀
VBAを使って不特定多数のエクセルのワークブックの中のシート全部から
Accessへのデータの取り込みはできるようになりました。
次にIDというテーブルを基準に成績の一覧表をVBAで作ろうとしています。
番号 氏名 国語 英語_長文演習
30101 赤川 次郎 55 49
30102 井上 陽水 36
30103 宇多田 ヒカル 78
30104 遠藤 周作 65
30105 豊臣 秀吉 80 76
このようにして30101~31050までのデータを作って、
エクセルで各クラス50行ずつに読み込めるようにしたいのです。
LEFT JOIN(左外部結合)を使って手作業でやることはできるのですが、
科目数が多いため、なんとかVBAでできないかと思っているのですが、
何か方法があるでしょうか?
わかりにくい質問かもしれませんが、よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>Excelのデータのインポート→一覧表の作成→一覧表をExcelへエクスポート→Excelで成績処理です
1.Excelのデータ
<A~C列は生徒番号、氏名、点数> がこれですね
テーブルを追加します。
採点テーブル
採点ID
試験ID
生徒番号(氏名)
点数
これには科目、試験日、科目担当 等の付記が必要ですね
この部分を試験テーブルとして提案しました
ただし記述ミスがありましたので訂正して下さい
試験テーブル
試験ID(オートナンバー型 主キー)
試験名
科目担当
試験日(日付型)
試験科目
2.一覧表の作成
成績テーブルのつもりですが如何でしょうか
採点テーブルと試験テーブルより追加、編集します。
これをするにはVBAとSQL文(Insert文、Update文)が必要です。
Access VBAの基礎 http://www.geocities.jp/cbc_vbnet/top/nyumon.html
内のDoCmdオブジェクト→20 RunSQLメソッド
をご覧ください
追伸
前回は省きましたが毎年クラス替えがありますね 在席テーブルを追加してこれに
対して成績テーブルを展開しなければならない
在席テーブル
在席ID
年度
生徒ID
クラスID
No.1
- 回答日時:
参考意見です
まず データ処理のアプローチの仕方がExcelとAccessでは大きく異なります。
・Excel:一つのBookでブック単位で処理します。
・Access:複数のテーブルでレコード単位で処理します。
テーブルの一部はテーブル間にそれどれの主キーを用いて関連付けなされます。
テーブルはシステムの基本でテーブル設計の良否がシステム全体の良否につながります。
※>次にIDというテーブル
AccessではIDはインデックスの意味でテーブル内の主キーの項目(フィールド)として用います。
以上前置きですが、何のことか理解できないでしょう
「LEFT JOIN」を使っておられるのでテーブルは複数作成されていると推察します。
テーブルの内容の検討(公開)から始めてください。
入力する人は何人ですか
テーブルの一例
生徒テーブル
生徒ID(オートナンバー型 主キー)
生徒コード(長整数型 重複なし)
生徒氏名(テキスト型 IME入力モードひらがな IME変換モード人名/地名)
ふりがな(テキスト型 IME入力モードひらがな IME変換モード無変換)
誕生日(日付型)
入学年月日(日付型)
クラステーブル
クラスID(オートナンバー型 主キー)
学年(整数型)
クラス名(テキスト型 IME入力モードひらがな IME変換モード一般)
科目テーブル
科目ID(オートナンバー型 主キー)
科目名(テキスト型 重複なし IME入力モードひらがな IME変換モード一般)
試験テーブル
試験ID(オートナンバー型 主キー)
試験名
試験日(日付型)
試験日
成績テーブル
成績ID(オートナンバー型 主キー)
試験ID(長整数型)
生徒コード(長整数型)
生徒ID(長整数型)
国語点数(整数型)
英語長文演習点数(整数型)
科目3点数(整数型)
科目4点数(整数型)
科目5点数(整数型)
科目6点数(整数型)
科目7点数(整数型)
回答ありがとうございます。
勤務先の同僚は全員Excelは使えますが、Accessを使える人はほとんどいません。そのため、Accessでテーブルを作ってそこに入力しているわけではないのです。
試験後に各科目担当(各学年20~30名)がExcelのシートに点数を入力します。
シートはA~C列までは共通です。A~C列は生徒番号、氏名、点数の順番で1行目は見出し、2行目以降にデータが入るようになっています。
ただ質問にも書いたように選択科目などはクラス単位で行っていないため、選択科目専用の名簿になっています。そのため生徒番号もとびとびになります。それらをまとめて、出席番号順の一覧表に作成したいと思っています。
最初からAccessに入力してもらうと簡単ですが、そうなると入力の手間が増えるため、現状は無理です(自分のExcelに入力した点数をコピペで入力する担当者が多いため)。
ExcelのデータをAccessへインポートするVBAはなんとかできました。ですので、Excelから入力されたデータをAccessに読み込むとテーブルは科目担当者の人数分だけの20~30個できるわけです。
やりたいことはExcelのデータのインポート→一覧表の作成→一覧表をExcelへエクスポート→Excelで成績処理です。この処理の中で一覧表の作成が (ExcelのVBAで行うと) 一番大変なので、なんとかしたいのです。一応、各担当のExcelのworkbookからデータを読み込んで一覧表を作るマクロをExcelのVBAで作れてはいるのですが、Accessでもっと簡単にできないかと思っています。
偏差値や順位計算を考えるとAccessよりもExcelで処理する方が簡単と思っているので、最後の成績処理はExcelで行いたいと思っています。その下準備まで(成績一覧表を作るまで)をAccessでと考えています。
わかりにくいかもしれませんが、よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 大学受験 推薦入試について教えていただきたいことがあります。 私は、この春高校三年生になります。進路について考 1 2022/04/05 02:04
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 第二回模試の3科目の各得点と合 1 2023/04/25 18:02
- 大学受験 自己推薦書の添削や意見・アドバイスお願いします 2 2022/08/27 19:34
- 大学受験 3浪しようと思うので、アドバイスお願いします。 自分としては結構メンタルきつくて後期でいいから、東京 3 2023/02/13 21:47
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- 大学受験 娘の大学受験勉強 6 2022/06/30 19:58
- その他(学校・勉強) スシロー “ペロペロ高校生” は、日本の教育の失敗ですね? 20 2023/02/08 07:08
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- 大学受験 国立受験 11月からの大逆転劇を起こすには 7 2022/11/14 19:24
- その他(データベース) Microsoft Accessについて 1 2022/06/06 16:20
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
access vbaにてテンポラリーテ...
-
2つのテーブルに共通するレコ...
-
ACCESSユニオンクエリから新テ...
-
Accessのリンクされたテーブル...
-
Accessのテーブルで、リンク?...
-
テーブルに表示されているもの...
-
Accessでリストの並び順を変更...
-
ACCESSでテーブルをコピーしよ...
-
ACCESS テーブルを見比...
-
最新日のデータのみ抽出するク...
-
accessのテーブルを閉じたとき...
-
ACCESS テーブルを見比...
-
ACCESS初心者 - 同一テーブルの...
-
アクセスのテーブルだけをメー...
-
アクセス 部分一致の抽出
-
COBOLでHEXを印字する
-
アクセス2016 チェックボックス...
-
ACCESS クエリについて
-
テーブル内の文字数が多くても...
-
Accessのリレーションシップウ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
2つのテーブルに共通するレコ...
-
ACCESSユニオンクエリから新テ...
-
テーブルに表示されているもの...
-
Accessのリンクされたテーブル...
-
access vbaにてテンポラリーテ...
-
Acccessで2つのテーブルから1...
-
最新日のデータのみ抽出するク...
-
Accessのテーブルで、リンク?...
-
Accessでリストの並び順を変更...
-
アクセス 部分一致の抽出
-
ACCESS テーブルを見比...
-
ACCESSでテーブルをコピーしよ...
-
accessのテーブルを閉じたとき...
-
ACCESS テーブルを見比...
-
AccessでのリンクテーブルとADO...
-
クエリで同一テーブルの複数回...
-
accessエラー回避について
-
アクセス2016 チェックボックス...
-
Access 分割したテーブルを一対...
-
access2000・・テーブルをデー...
おすすめ情報