アクセス2000で、試験結果の管理をしようと思っています。
試験によって合格点が違うので、合否結果はフラグ(1=合格、2=不合格)で管理しています。
フォームにボタンを作って、ボタンをクリックしたら合格者(あるいは不合格者)
だけを表示する形にしたのですが、受験日と合否のフラグの両方を条件として、
データの抽出を行いたいのですが、ボタンのコードビルダはどのようにしたら良いのでしょうか?ちなみに、ボタンを作った時の関連付けは受験日となっているのでコードは下記のようになっています。
Private Sub 抽出採用日_Click()
On Error GoTo Err_抽出採用日_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "対象者"
stLinkCriteria = "[受験日]=" & "#" & Me![受験日] & "#"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_抽出採用日_Click:
Exit Sub
Err_抽出採用日_Click:
MsgBox Err.Description
Resume Exit_抽出採用日_Click
End Sub
No.1ベストアンサー
- 回答日時:
stLinkCriteria = "[受験日]=" & "#" & Me![受験日] & "#"
を、
stLinkCriteria = "[受験日]=" & "#" & FORMAT$(Me![受験日],"yyyy/mm/dd") & "# AND [合否結果] = " & Me.[合否結果]
のようにするとOKだと思います。
ちなみに、[受験日]をFORMAT関数で補強してあるのは、
Accessが01/03/05のようなデータを英語読みにして、2005/01/03だと思ってしまうのを防ぐためです。
実際にやって確かめたわけではないです。不明点とかあったら補足してくださいナ。
いや~。本当にありがとうございました。構文の中の & やら # などの意味は
よくわからないのですが、ご指導いただいたとおりにやってみたら、うまくいき
ました。
ありがとうございました。
No.3
- 回答日時:
クエリーだけで対応可能です。
簡単なのはクエリーを作成して条件にフォーム名![受験日]やフォーム名![合否結果]としておきましょう。
これをクエリーを開くかフォームを開くか(この時は作成したクエリーを基にしたフォームを作る)すれば問題なし。
合否結果は1か2をラジオボタン等のイベントから隠しフィールドへ格納すればよいでしょう。
クエリーが分からないのであればテーブル構成等を提示願います。
No.2
- 回答日時:
アクセスのフォームはほとんど利用したことがないので、何とも言えないんですが、参考程度で見て下さい。
通常アクセスやオラクルといった SQL 言語系のデータベースでは QUERY(クエリー) と呼ばれるモノがあります。コレは SQL 言語を登録しておく機能なんですが、このクエリーを使えば簡単に実現できると思います(更新できるかはよく分かりませんが…)。
本格的なRDBを目指すなら、まず以下のテーブルを仮定します。
テーブル名/項目
生徒テーブル/生徒ID・生徒名
教科テーブル/教科ID・教科名
テストテーブル/テストID・テスト日付・教科ID・テスト名・合格点
テスト成績テーブル/テストID・生徒ID・点数
で、クエリーを用意します(SQL で記述しますね)
------------------------------------------------------------------
SELECT
テストテーブル.テスト日付,
テストテーブル.テスト名,
教科テーブル.教科名,
生徒テーブル.氏名,
テスト成績テーブル.成績,
IIf((([テストテーブル].[合格点])<=[テスト成績テーブル.成績]),"合格","不合格")
AS 合否
FROM
生徒テーブル INNER JOIN (
教科テーブル INNER JOIN (
テストテーブル INNER JOIN テスト成績テーブル ON
テストテーブル.テストID = テスト成績テーブル.テストID) ON
教科テーブル.教科ID = テストテーブル.教科ID)
ON 生徒テーブル.生徒ID = テスト成績テーブル.生徒ID
WHERE
(([テストテーブル.テスト日付]=[日付])) AND
([テストテーブル].[合格点]<=[テスト成績テーブル.成績])
ORDER BY
テストテーブル.テスト日付, テスト成績テーブル.成績 DESC;
------------------------------------------------------------------
こんな感じですかね。これでクエリーを開くと最初に日付の入力を求めてきますので、欲しい日付を入力すると、その一覧が出てきます。
(データ用意する暇なかったんで、ほとんど検証してないですが(^^;)
もっと簡単にするなら…
------------------------------------------------------------------
テストテーブル:テスト名・教科名・テスト日付・生徒名・点数・合格点
クエリー
SELECT
テストテーブル.テスト名,
テストテーブル.教科名,
テストテーブル.テスト日付,
テストテーブル.生徒名,
テストテーブル.点数,
テストテーブル.合格点
FROM
テストテーブル
WHERE
[テストテーブル.点数] >= [テストテーブル.合格点]
ORDER BY
テストテーブル.点数 DESC
------------------------------------------------------------------
これは直書きなんで自信なしですが(^^;
データベースの基本は、データ管理と表示部を分けることです。また本来は、同じ意味を持つデータを持たないようにするのがセオリーです。その事から行くと、2番目の解は違反してますがね。
とにかく、一度クエリーを試してみてはいかがでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2つのテーブルに共通するレコ...
-
最新日のデータのみ抽出するク...
-
ACCESS テーブルを見比...
-
ACCESSでテーブルをコピーしよ...
-
ACCESS テーブルを見比...
-
Accessのリンクされたテーブル...
-
ACCESSユニオンクエリから新テ...
-
Accessでテーブルのリンクを範...
-
ADOでテーブルのフィールド「A...
-
Accessで成績一覧表をつくりたい。
-
アクセスVBA現在開いている全て...
-
access vbaにてテンポラリーテ...
-
AccessでのリンクテーブルとADO...
-
Accessでリストの並び順を変更...
-
AccessVBAで任意の複数リンクテ...
-
アクセス 部分一致の抽出
-
Acccessで2つのテーブルから1...
-
access2000・・テーブルをデー...
-
日付型のフィールドに空白を入...
-
アクセスのエラー「クエリには...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
2つのテーブルに共通するレコ...
-
最新日のデータのみ抽出するク...
-
ACCESSユニオンクエリから新テ...
-
Accessのリンクされたテーブル...
-
テーブルに表示されているもの...
-
ACCESSでテーブルをコピーしよ...
-
access vbaにてテンポラリーテ...
-
Accessでリストの並び順を変更...
-
Acccessで2つのテーブルから1...
-
Accessのテーブルで、リンク?...
-
ACCESS テーブルを見比...
-
クエリで同一テーブルの複数回...
-
ACCESS テーブルを見比...
-
accessのテーブルを閉じたとき...
-
Microsoft Access 「Form」のボ...
-
AccessVBAで任意の複数リンクテ...
-
アクセス2016 チェックボックス...
-
アクセス 部分一致の抽出
-
accessエラー回避について
-
Accesss テーブルの最終更新日...
おすすめ情報