【カテゴリー別】Access VBA スタンダード 模擬問題 エラー Access VBA スタンダード 模擬問題 模擬問題 2026.07.21 こちらはカテゴリー別の模擬問題です。 合計16問がシステムに登録した順番どおりに1問1答形式で出題されます。 なおタイマー機能はありません。 準備が整い次第、ボタンを押して試験を開始してください。 1. VBAで発生するエラーの種類として、最も適切なものを1つ解答しなさい。以下の選択肢より1つ解答しなさい。 VBAのエラーは、構文エラーとオブジェクトエラーの2種類に大別される。 VBAのエラーは、致命的エラーと軽微なエラーの2段階の重大度でのみ分類される。 VBAで発生するエラーはすべて実行時エラーに分類され、種類による違いはない。 VBAで発生するエラーは大別すると、コンパイルエラー、実行時エラー、論理エラーの3種類になる。 None 2. VBAのコンパイルエラーの概要として、最も適切なものを1つ解答しなさい。以下の選択肢より1つ解答しなさい。 コンパイルエラーは、プログラムの意図と異なる結果になるが処理自体は正常に終了するエラーである。 構文や文法に誤りがあり、コードの実行ができないエラーのこと。コード記述中に発生するものと、実行時に発生するものの2つがある。 コンパイルエラーとは、VBAの文法は正しいが実行不可能な処理を行おうとした際に発生するエラーである。 コンパイルエラーは、コードの実行が完全に終了した後にのみ検出される。 None 3. VBAのコード記述中に発生するコンパイルエラーの概要として、最も適切なものを1つ解答しなさい。以下の選択肢より1つ解答しなさい。 プログラムの記述が間違っているときに自動構文チェック機能が働き、エラー箇所が赤字で表示され、メッセージが表示される。 記述中のエラーは、エラー箇所が黄色でハイライトされるだけでメッセージは表示されない。 記述中の構文チェック機能は、あらかじめ手動で有効にしない限り動作しない。 記述中に発生するコンパイルエラーは、コードを実行するまで一切検出されない。 None 4. VBAのコード実行時に発生するコンパイルエラーの概要として、最も適切なものを1つ解答しなさい。以下の選択肢より1つ解答しなさい。 実行時に発生するコンパイルエラーは、変数のデータ型の間違いによって発生する。 実行時に発生するコンパイルエラーは、End Ifなどの対応関係とは無関係に発生する。 実行時に発生するコンパイルエラーは、記述中の自動構文チェックと全く同じタイミングで検出される。 コードの実行時に構文がチェックされ、Ifステートメントに対するEnd Ifの記述がない場合などに発生する。 None 5. VBAの実行時エラーの概要として、最も適切なものを1つ解答しなさい。以下の選択肢より1つ解答しなさい。 実行時エラーは、処理が完了した後に結果を検証することでのみ発見できるエラーである。 VBAの文法は正しいが、変数のデータ型の間違いや実行不可能な処理(オーバーフローなど)により、処理が継続できなくなった場合に発生するエラーである。 実行時エラーとは、構文や文法の誤りによってコードの実行自体ができない状態のエラーである。 実行時エラーは、Ifステートメントの記述漏れなど、構文の対応関係の誤りによってのみ発生する。 None 6. VBAにおける「エラートラップ」の説明として、最も適切なものを1つ解答しなさい。以下の選択肢より1つ解答しなさい。 エラートラップとは、コードの実行速度を測定するための機能である。 エラートラップとは、変数の値をイミディエイトウィンドウに出力して確認する仕組みである。 エラーが発生することを予測し、On Errorステートメントを用いて前もってエラーに対処する処理を指定しておくことである。 エラートラップとは、発生したエラーを自動的に無視して処理を継続させる唯一の方法である。 None 7. 次のコードは、エラーが発生した場合に行ラベル「ErrHandler」へ処理を移すものである。空欄に入る語句を解答しなさい。Sub Exam1() ErrHandler Dim N As Integer N = 1 / 0MsgBox "完了"Exit SubErrHandler: MsgBox "エラーが発生しました"End Sub 8. VBAにおける「行ラベル」の記述ルールとして、最も適切なものを1つ解答しなさい。以下の選択肢より1つ解答しなさい。 特定の行を識別する目印であり、任意の文字列の後ろに「:(コロン)」を付けて記述する。同一プロシージャ内で同じ行ラベルを複数使用することはできない。 行ラベルは、必ず半角スペースで始めなければならない。 行ラベルは、同一プロシージャ内であれば同じ名前を何度でも使用できる。 行ラベルの末尾には、コロン(:)ではなくセミコロン(;)を付ける。 None 9. エラーが発生してもエラーメッセージを表示せず、エラーを無視して以降の処理を継続させるステートメントとして、最も適切なものを1つ解答しなさい。以下の選択肢より1つ解答しなさい。 Resume Next On Error Resume Next On Error GoTo -1 On Error GoTo 0 None 10. 次のコードは、エラー処理ルーチンでメッセージを表示した後、エラー発生行の次の行から処理を再開するものである。空欄に入る語句を解答しなさい。Sub Exam1() On Error GoTo ErrHandler Dim N As Integer N = 10 / 2 MsgBox NExit SubErrHandler: MsgBox "エラーが発生しました" NextEnd Sub 11. 次のコードは、エラー発生時にエラーの詳細情報を表示するものである。空欄に入る語句を解答しなさい。Sub Exam1() On Error GoTo ErrHandler Dim N As Integer N = 1 / 0Exit SubErrHandler: MsgBox .DescriptionEnd Sub 12. 次のコードは、発生したエラーの番号と内容をメッセージボックスに表示するものである。空欄①・②の順に解答しなさい。Sub Exam1() On Error GoTo ErrHandler Dim N As Integer N = 1 / 0Exit SubErrHandler: MsgBox "エラー番号:" & Err.【 ① 】 & vbCrLf & "内容:" & Err.【 ② 】End Sub 13. 次のコードを実行した際、表示されるメッセージボックスの内容として、最も適切なものを1つ解答しなさい。以下の選択肢より1つ解答しなさい。Sub Exam1() On Error Resume Next Dim N As Integer N = 10 / 2 MsgBox Err.NumberEnd Sub 1 何も表示されない エラーメッセージが表示され、コードは停止する 0 None 14. DAOでレコードセットを操作するコードにおいて、無限ループが発生する原因として、最も適切なものを1つ解答しなさい。以下の選択肢より1つ解答しなさい。 無限ループは、変数の型を誤って宣言した場合にのみ発生する。 Do...Loopステートメントなどで、MoveNextメソッドの記述を忘れたり記述場所を間違えたりすることで、終了条件を満たさず無限ループが発生する。 無限ループは、Do...Loopステートメントを使用した場合には絶対に発生しない。 無限ループは、On Error Resume Nextを記述しないことが原因で発生する。 None 15. DAOで対象のレコードが1件もない場合に発生しやすいエラーへの対処として、最も適切なものを1つ解答しなさい。以下の選択肢より1つ解答しなさい。 レコードが1件もない場合のエラーは、実行前判断・実行後判断のどちらを使っても防ぐことはできない。 レコードが1件もない場合のエラーは、変数の型をVariant型にすることで回避する。 対象のレコードが0件の場合に実行後判断でループを回すとエラーが発生するため、実行前判断(Do Until RS.EOFなど)に変更してループ内の処理が行われないようにする。 レコードが1件もない場合は、Do...Loopステートメント自体が自動的にスキップされるため、特別な対処は不要である。 None 16. 配列変数のインデックス番号に関するエラーの説明として、最も適切なものを1つ解答しなさい。以下の選択肢より1つ解答しなさい。 配列変数を使用する際、宣言された要素数を超えたインデックス番号に対して値を代入しようとするとエラーが発生するため、ループの回数に注意が必要である。 インデックス番号の有効範囲エラーは、On Error Resume Nextを記述すれば根本的に解消される。 インデックス番号の有効範囲エラーは、配列の要素数を少なく宣言するほど発生しにくくなる。 インデックス番号の有効範囲エラーは、配列以外の変数でも同様に発生する一般的なエラーである。 None Time's up