【カテゴリー別】Access VBA スタンダード 模擬問題 VBA基礎 Excel VBA スタンダード 模擬問題 模擬試験 2026.08.07 こちらはカテゴリー別の模擬問題です。 合計28問がシステムに登録した順番どおりに1問1答形式で出題されます。 なおタイマー機能はありません。 準備が整い次第、ボタンを押して試験を開始してください。 1. Access VBAの「プロジェクト」に関する説明として、最も適切ものはどれか。以下の選択肢より1つ解答しなさい。 プロジェクトにパスワードを設定して表示をロックすることはできない。 プロジェクトの内容は、オブジェクトブラウザで確認する。 プロジェクトはデータベースファイルに保存されたモジュールをまとめて管理する。 プロジェクトには任意の名前を付けられず、常に既定の名前が使われる。 None 2. モジュールの種類と、そのモジュールが格納する内容の組み合わせとして、誤っているものを1つ選びなさい。 Microsoft Office Access クラスオブジェクト ― フォームモジュールやレポートモジュールを格納する。 クラスモジュール ― ユーザーが作成した独自のクラスが定義されているモジュールを格納する。 クラスモジュール ― フォームやレポートに関連付いたモジュールを格納する。 標準モジュール ― データベース全体で使用するモジュールオブジェクトを格納する。 None 3. モジュールとプロシージャに関する説明として、最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 1本のプログラムは、必ずちょうど1つのプロシージャだけで成り立つ。 プロシージャはプログラムを組み立てる最小の部品であり、必ずいずれかのモジュールの中に書かれる。モジュールはその部品を収める入れ物にあたる。 モジュールは1種類だけで、すべて利用者が自由に作成・削除できる。 プロシージャは、モジュールに属さず単独で記述することもできる。 None 4. オブジェクト、プロパティ、メソッドに関する説明として、最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 オブジェクトとは処理の対象となる構成要素で、その属性をプロパティ、実行できる動作をメソッドと呼び、メソッドには動作の仕方を指定する引数を伴うことがある。 プロパティとは、オブジェクトが実行できる動作のことであり、メソッドとは、オブジェクトが持つ属性のことである。 オブジェクトは画面上に見える要素だけを指し、利用者が独自に作った見えない要素はオブジェクトに含まれない。 プロパティの値は作成時に決まると変更できず、後からコードで別の値に設定し直すことはできない。 None 5. 次のプロシージャを実行したときの実行結果として最も適切ものはどれか。以下の選択肢より1つ解答しなさい。Sub Exam1() Dim N As Long N = 10 If N > 100 And N Mod 2 = 0 Or N < 20 Then Debug.Print N * 3 Else Debug.Print N + 1 End If MsgBox "完了"End Sub イミディエイトウィンドウに 11 が出力される。 何も出力されず、正常に終了する。 実行時エラーが発生する。 イミディエイトウィンドウに 30 が出力される。 None 6. 次のコードを実行したとき、イミディエイトウィンドウに出力される値を解答しなさい。以下の空欄に入る適切な値を解答しなさい。 Sub Exam1() Dim N1 As Long Dim N2 As Long N1 = 2 + 3 * 4 ^ 2 - 10¥3 Mod 2 N2 = (2 + 3) * 4 ^ 2 - 10¥3 Mod 2 Debug.Print N1 Debug.Print N2 MsgBox "完了"End Subイミディエイトウィンドウには上から順番に次のように出力される。 7. キーワードと組み込み定数に関する説明として、最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 組み込み定数はすべて「ac」で始まり、Access以外のVBAでは一切使用できない。 キーワードは、プロシージャ名や変数名には使用できない。 「vb」で始まるVisual Basicの定数は、Access VBAでのみ使用でき、Access以外のVBAでは使用できない。 キーワードと同じ文字列であっても、変数名としてであれば自由に使用できる。 None 8. 改行に関する組み込み定数の説明として、最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 改行を表す定数は、Chr関数を使用した文字コードで表すことができる。 vbNewLine は、vbCr と同じ働きをする。 vbCr は、ラインフィード文字を表す。 vbLf は、キャリッジリターン文字を表す。 None 9. 次のコードは、イミディエイトウィンドウに「1234」「56」「78」の3行を、改行して出力するものである。空欄に当てはまる最も適切な語句を解答しなさい。なお先の空欄には改行文字を、後の空欄には 改行文字と 同じ働きを するそれぞれ異なる改行用の組み込み定数が入る。Sub Exam1() Dim N As String N = "12" & "34" & & "56" & & "78" Debug.Print N MsgBox "完了"End Sub 10. VBAでは定数を使用し色を指定するが以下の色に対応する定数について、空欄に当てはまる適切な語句を解答しなさい。 マゼンタ色 シアン色 11. 参照設定に関する説明として最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 実行時バインディングとは、参照設定を使って事前に外部ライブラリファイルを読み込んでおく方法のことである。 参照設定は、Access VBAにない機能を外部のライブラリファイルから利用するための設定であり、参照設定をして事前に外部ライブラリを読み込んでおく方法を事前バインディングという。 FileDialog オブジェクトは Access VBA に標準で備わっているため、利用するのに参照設定は必要ない。 参照設定は、Access VBA 内にある機能どうしを結びつけるための設定であり、外部のライブラリファイルとは関係しない。 None 12. 次のプロシージャを実行し、ダイアログボックスに「36」と入力したときに表示されるメッセージとして最も適切ものはどれか。以下の選択肢より1つ解答しなさい。Sub Exam1() Dim N As String N = InputBox("値を入力") If IsNumeric(N) Then If N = Int(N) Then If N > 0 Then MsgBox "正の整数" ElseIf N = 0 Then MsgBox "ゼロ" Else MsgBox "負の整数" End If Else MsgBox "小数" End If Else MsgBox "数値ではない" End IfEnd Sub 「ゼロ」と表示される。 「数値ではない」と表示される。 「正の整数」と表示される。 「小数」と表示される。 None 13. 次のプロシージャを実行し、ダイアログボックスに「2026/08/10」と入力したときに表示されるメッセージとして最も適切ものはどれか。以下の選択肢より1つ解答しなさい。Sub Exam1() Dim N As String N = InputBox("日付を入力") If IsDate(N) Then Select Case Month(N) Case 3 To 5 MsgBox "春(3から5月)です" Case 6 To 8 MsgBox "夏(6から8月)です" Case 9 To 11 MsgBox "秋(9から11月)です" Case Else MsgBox "冬(12から2月)です" End Select Else MsgBox "日付形式ではない" End If End Sub 「春(3から5月)です」と表示される。 「夏(6から8月)です」と表示される。 「冬(12から2月)です」と表示される。 「日付形式ではない」と表示される。 None 14. 次のプロシージャを実行したとき、イミディエイトウィンドウに出力される結果として最も適切ものはどれか。以下の選択肢より1つ解答しなさい。Sub Exam1() Dim N As String Dim i As Long, j As Long For i = 1 To 2 For j = 20 To 35 Step 5 N = N & i & ":" & j & " " Next j Next i Debug.Print N MsgBox "完了"End Sub 1:20 1:25 1:30 1:35 2:20 2:25 2:30 2:35 1:20 1:25 1:30 2:20 2:25 2:30 1:20 1:25 1:30 1:35 1:40 2:20 2:25 2:30 2:35 2:40 1:20 1:25 1:30 1:35 None 15. 次のプロシージャを実行したとき、イミディエイトウィンドウに出力される内容として最も適切ものはどれか。以下の選択肢より1つ解答しなさい。Sub Exam1() Dim N As Long N = 3 Do Debug.Print N N = N + 1 Loop Until N > 0 Do While N > 0 Debug.Print N N = N - 1 Loop MsgBox "完了"End Sub 4, 3, 2, 1 の4つの値が、上から順に出力される。 3, 2, 1 の3つの値が、上から順に出力される。 3, 4, 3, 2, 1 の5つの値が、上から順に出力される。 3, 4 の2つの値が、上から順に出力される。 None 16. フォームには、コマンドボタン btn1 と、テキストボックス txt1・txt2・txt3 が配置されている。txt1 と txt3 は空欄で、txt2 には「Access」と入力されている。この状態で btn1 をクリックしたときの実行結果として適切なものを、1つ選びなさい。 Private Sub btn1_Click() Dim N As Object For Each N In Me.Controls If N.ControlType = acTextBox Then If Nz(N.Value, "") = "" Then N.Value = "VBA" End If End If Next NEnd Sub txt1・txt2・txt3 のすべてが「VBA」になる。 txt1 に「VBA」、txt3 に「VBA」が入り、txt2 は「Access」のまま変わらない。 txt2 だけが「VBA」になり、txt1 と txt3 は空欄のまま変わらない。 txt1・txt2・txt3 のすべてが空欄になる。 None 17. フォームには、テキストボックス txt1 ボタン btn1 のみが配置されている。ボタンを押して次のプロシージャを実行したときの結果として最も適切なものはどれか。以下の選択肢より1つ解答しなさい。Private Sub btn1_Click() With Me.txt1 .Value = "VBA" .RowSource = "Q1" End WithEnd Sub txt1 の値が「VBA」になり、txt1 の行ソースに「Q1」が設定される。 txt1 の値が「VBA」になったあと、2行目でエラーが発生する。 txt1 の値が「VBA」になり、2行目は無視されて正常に終了する。 エラーが発生し、txt1 の値も設定されない。 None 18. 次のプロシージャは、For…Next ステートメントの中に Do…Loop ステートメントを入れ子にした処理である。内側では j が 2 になった時点で内側の繰り返しを抜け、外側では i が 3 になった時点で外側の繰り返しを抜ける。空欄①・②に当てはまる語句の組み合わせとして適切なものを、以下の選択肢より1つ選びなさい。Sub Exam1() Dim i As Long, j As Long For i = 1 To 5 j = 0 Do j = j + 1 If j = 2 Then Exit 【 ① 】 Loop While j < 10 If i = 3 Then Exit 【 ② 】 Next i MsgBox "完了"End Sub 【 ① 】−For 【 ② 】−For 【 ① 】−Do 【 ② 】−For 【 ① 】−For 【 ② 】−Do 【 ① 】−Do 【 ② 】−Sub None 19. 主キーに関する説明として最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 主キーには、値が空(Null)のレコードがあってもよい。 主キーには、同じ値が何度でも重複して入っていてもよい。 主キーの設定は必須ではないが、レコードを効率よく管理するために設定することが推奨される。主キーに設定するフィールドは、値が重複せず、必ず値を持つ必要がある。 複数のフィールドを組み合わせて設定した主キーは連結主キーと呼ばれ、単一フィールドの主キーとは異なり、値が重複してもよい。 None 20. インデックスに関する説明として最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 インデックスは、いくつ作成しても処理効率に影響しないため、多く作るほど有利である。 インデックスは主キーには自動的に設定されないため、主キーにも手動で設定する必要がある。 インデックスを設定すると、そのフィールドでは並べ替えや検索の処理時間が長くなる。 インデックスは検索や並べ替えを高速にする一方、設定したテーブルの更新時にはインデックスの更新処理が発生し、ファイルサイズの肥大化や処理効率の低下を招くことがある。 None 21. テーブルの正規化に関する説明として最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 正規化とは、テーブルの繰り返し項目を複数のテーブルに分割し、できるだけ単純に管理できるようにする手法で、一般に第1正規化から第3正規化までの3段階がある。 正規化とは、複数のテーブルに分かれたデータを1つのテーブルに集約し、まとめて管理する手法である。 正規化の手順では、はじめに第3正規化を行い、最後に第1正規化を行う。 正規化を行うと、繰り返し項目が増えるため、データベースのサイズは大きくなる。 None 22. リレーションシップに関する説明として最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 リレーションシップとは、複数のテーブルに共通するフィールドを使ってテーブルどうしを関連付ける設定で、一対一・一対多・多対多の3種類がある。 最も頻繁に使われるのは一対一のリレーションシップである。 多対多のリレーションシップは、2つのテーブルを直接結び付けることで実現する。 リレーションシップには一対一と一対多の2種類しかなく、多対多の関係を扱うことはできない。 None 23. テーブルの結合の種類、および外部キーに関する説明として最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 結合における「左」と「右」は、リレーションシップ画面上でのテーブルの配置によって決まる。 外部キーとは、そのテーブル自身の主キーのことを指す呼び名である。 内部結合は、結合した2つのフィールドで共通する値を持つレコードだけを表示し、外部結合はどちらか一方のテーブルのレコードをすべて表示する。 左外部結合は、右側のテーブルのすべてのレコードと、左側で共通する値を持つレコードを表示する。 None 24. 参照整合性を設定するために、2つの結合フィールドが満たすべき条件の説明として最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 関連付ける2つのフィールドは、フィールド名が必ず同じである必要がある。 関連付ける2つのフィールドは、両方とも主キーである必要がある。 関連付ける2つのテーブルは、別々のデータベースに保存されている必要がある。 関連付ける2つのフィールドのうち1つが主キーであり、同じデータ型で、数値型なら同じフィールドサイズであり、2つのテーブルが同じデータベース内にある必要がある。 None 25. 参照整合性を設定したときに適用される規則と、その説明の組み合わせとして最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 一側テーブルでの主キーの更新管理 ― 多側テーブルに関連レコードがある場合には、一側テーブルのレコードを削除できない。 多側テーブルへのレコードの追加管理 ― 一側テーブルの主キーにない値は、多側テーブルに入力することはできない。 一側テーブルでのレコードの削除管理 ― 一側テーブルの主キーにない値は、多側テーブルに入力することはできない。 多側テーブルへのレコードの追加管理 ― 多側テーブルに関連レコードがある場合、一側テーブルの主キーの値を変更できない。 None 26. 連鎖更新と連鎖削除に関する説明として、正しいものを1つ選びなさい。 連鎖更新や連鎖削除を設定しても、参照整合性による制限は一切緩和されない。 連鎖削除を設定すると、一側テーブルの主キーを変更したとき、多側テーブルの外部キーの値も自動的に更新される。 連鎖更新を設定すると、一側テーブルのレコードを削除したとき、多側テーブルの関連レコードも自動的に削除される。 連鎖更新を設定すると、一側テーブルの主キーを変更したとき、多側テーブルの外部キーの値も自動的に更新される。 None 27. リレーションシップに参照整合性、フィールドの連鎖更新、レコードの連鎖削除を設定する操作の説明として最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 テーブルを1つだけ選んで開き、そのテーブルのデザインビューで参照整合性のチェックボックスにチェックを入れる。 リレーションシップを表す線を1回クリックし、「Delete」キーを押すと参照整合性が設定される。 リレーションシップを表す線をダブルクリックし、表示されたダイアログボックスで「参照整合性」「フィールドの連鎖更新」「レコードの連鎖削除」のチェックボックスにチェックを入れて「OK」をクリックする。 「フィールドの連鎖更新」や「レコードの連鎖削除」は、参照整合性のチェックを外した状態でのみ設定できる。 None 28. SQLクエリに関する説明として最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 SQLクエリとは、ウィザードやデザインビューでは作成できず、SQLステートメントを記述して作成できるクエリのことである。 パススルークエリとは、テーブルの作成・削除やインデックスやリレーションシップの作成を行い、テーブルの構造、定義を変更するクエリである。 ユニオンクエリとは、Microsoft SQL Serverなどの外部のデータベースサーバへSQL文やコマンドを直接送信して処理させるクエリである。 データ定義クエリとは、複数のテーブルやクエリのレコードを1つのクエリにまとめて表示するクエリである。 None Time's up