【ランダム順出題】Access VBA ベーシック 模擬試験 ① Access VBA ベーシック 模擬問題 模擬試験 2026.04.13 制限時間は50分です。 問題の出題順や選択肢の並び順は、サイト側で自動でシャッフルされます。 準備が整い次第、ボタンを押して始めてください。 1. VBAを使う目的として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Excelでのデータ入力を手作業で行うため。 Accessでマクロを完全に無効化するため。 Officeアプリケーションの定型作業や処理を自動化するため。 Webアプリケーションのセキュリティを強化するため。 None 2. 標準モジュールの作成に関する文章について誤っているものはどれか。以下の選択肢より1つ解答しなさい。 VBEを開いた状態で標準モジュールを作成するには、「挿入」メニューから「標準モジュール」を選択する。 標準モジュールはナビゲーションウィンドウに表示される。 標準モジュールは常にフォームやレポートに関連づけて使用する。 プロジェクトエクスプローラを右クリックして標準モジュールを作成することもできる。 None 3. 標準プロシージャの作成に関する文章について誤っているものはどれか。以下の選択肢より1つ解答しなさい。 VBEで標準モジュールを作成した後、コードウィンドウに直接「Sub 任意のプロシージャ名」と記述し、Enterキーを押すと、自動で「Sub 任意のプロシージャ名()」と補完され「End Sub」が自動で挿入される。 VBEで標準プロシージャを作成する際、「Sub」というキーワードは省略できる。 標準プロシージャは、標準モジュールに記述して作成する。 VBEのコードウィンドウで記述したSubプロシージャは、F5キーを押すことで実行できる。 None 4. メソッドに関する文章について正しいものはどれか。以下の選択肢より1つ解答しなさい。 メソッドはプロパティの一種であり、オブジェクトの属性を設定するために使用する。 VBAでメソッドを実行する際には、「オブジェクト.引数.メソッド」の順で記述する必要がある。 メソッドには必ず1つ以上の引数が必要であり、引数なしのメソッドは存在しない。 メソッドはオブジェクトが行う動作に対して命令するものであり、DoCmdオブジェクトにはフォームの表示や印刷などの操作を行うメソッドがある。 None 5. 代入演算子と比較演算子に関する文章について誤っているものはどれか。以下の選択肢より1つ解答しなさい。 「=」は、文脈により代入演算子と比較演算子のどちらかとして扱われる。 比較演算子の「=」は、条件式で左右の値が等しいかどうかを判定する。 通常の代入処理では、「==」を使って代入を行う。 代入演算子は、変数やプロパティに値を代入するために使う。 None 6. Accessの画面構成に関する文章について、空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 画面左上にある【 ① 】には、Accessやデータベースを操作するコマンドがメニュー形式でまとめられています。 また、その上部にある【 ② 】には頻繁に使われるコマンドが常に表示され、ユーザーがカスタマイズすることもできます。 そして画面上部の【 ③ 】には、よく使用する機能やコマンドがまとめられており、選択したオブジェクトに対し最適なものが表示されるようになっています。 【 ① 】−「ファイル] タブ 【 ② 】−リボン 【 ③ 】−クイックアクセスツールバー 【 ① 】−クイックアクセスツールバー 【 ② 】−「ファイル]タブ 【 ③ 】−リボン 【 ① 】−「ファイル]タブ 【 ② 】−クイックアクセスツールバー 【 ③ 】−リボン 【 ① 】−ドキュメントタブ 【 ② 】−クイックアクセスツールバー 【 ③ 】−ステータスバー None 7. テーブルで使用するデータ型の説明として、正しいものはどれか。以下の選択肢より1つ解答しなさい。 Yes/No型は、画像やグラフなどのオブジェクトを埋め込んで格納するためのデータ型である。 通貨型は、計算時の誤差が生じないように、整数部15桁・小数部4桁までの精度で数値を格納するデータ型である。 OLEオブジェクト型は、WebサイトのURLやメールアドレスを格納し、リンク機能を持たせるデータ型である。 添付ファイル型は、「はい/いいえ」や「True/False」などの2つの値のうち、いずれか1つを格納するデータ型である。 None 8. フォームとレポートに共通する特徴に関する文章について誤っているものはどれか。以下の選択肢より1つ解答しなさい。 どちらもコントロールを配置してデータを表示・操作することができる。 どちらも必ずグループヘッダーとグループフッターのセクションを持つ。 どちらもウィザードを使って作成できる。 どちらもデザインビューで作成・編集が可能である。 None 9. 次のVBAコードのように、1行で複数の変数を宣言したとき、変数「A」と変数「B」のデータ型の組み合わせとして正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim A, B As String End Sub Aは文字列型(String)、Bは文字列型(String) Aはバリアント型(Variant)、Bはバリアント型(Variant) Aはバリアント型(Variant)、Bは文字列型(String) Aは文字列型(String)、Bはバリアント型(Variant) None 10. 次のコードは、消費税率を「定数」として宣言し、計算に使用するものである。空欄に当てはまる最も適切なステートメントはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() 【 ① 】 N As Double = 0.1 MsgBox "消費税率は" & N* 100 & "%です" End Sub Dim Const Set Public None 11. 次のVBAコードを実行したとき、表示されるメッセージボックスの内容として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As Integer N = 20 If N < 20 ¥ 2 Then MsgBox "A" Else MsgBox "B" End If End Sub A B 20 AとB None 12. 次のVBAコードを実行したとき、表示されるメッセージボックスの内容として正しいものはどれか。 以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim i As Integer i = 10 Do While i < 5 i = i + 1 Loop MsgBox i End Sub 5 6 10 11 None 13. 次のVBAコードを実行したとき、表示されるメッセージボックスの内容として正しいものはどれか。 以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim i As Integer For i = 1 To 10 If i = 3 Then Exit For End If Next i MsgBox i End Sub 3 4 10 11 None 14. 次のコードは、文字列「ABC」を半角文字「ABC」に変換して表示する処理である。空欄に当てはまる最も適切な定数はどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() MsgBox StrConv("ABC", 【 ① 】) End Sub vbWide vbNarrow vbUpperCase vbLowerCase None 15. 次のコードは、変数に入力されたアルファベットをすべて「小文字」に変換して表示する処理である。 空欄に当てはまる最も適切な関数はどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As String N = "Access VBA" MsgBox【 ① 】(N) End Sub UCase LCase StrConv Format None 16. 次のコードは、時刻を含まない現在の日付を表示する処理である。 空欄に当てはまる最も適切な関数はどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() MsgBox "今日は " & 【 ① 】 & " です" End Sub Now Time Date Year None 17. 次のVBAコードを実行したとき、表示されるメッセージボックスの内容として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1 () Dim N As Integer N = DatePart("d", #8/15/2023#) MsgBox N End Sub 2023 8 15 31 None 18. 次のコードは、テーブルのdata1フィールドの最小値を求めて表示するものである。 空欄に当てはまる最も適切なものはどれか。 以下の選択肢より1つ解答しなさい。 Sub Exam1 () Dim N As Variant N =【 ① 】("data1"、 "Table1") MsgBox N End Sub DCount DSum DLookup DMin None 19. 次のコードは、ユーザーに実行可否を確認し、"はい"が選択された場合のみ処理を開始するものである。 空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1 () If MsgBox("実行しますか?", vbYesNo + vbQuestion) = 【 ① 】 Then MsgBox "処理を開始します" Else MsgBox "処理を中止します" End If End Sub vbYes vbNo vbOK vbAbort None 20. 次のVBAコードを実行したとき、表示されるメッセージボックスの内容として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1 () Dim N As Integer N = 75 MsgBox IIf (N >= 80, "〇", "×") End Sub 〇 × 75 エラーになる None 21. 次のコードは、オブジェクト名を省略して、ナビゲーションウィンドウで最初に見つかったフォームを選択する処理です。 空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1 () DoCmd.SelectObject acForm, , 【 ① 】 End Sub False acWindowNormal True acLayout None 22. 次のVBAコードを実行したときの実行結果として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() DoCmd.OpenForm "Form1" DoCmd.OpenTable "Table1" DoCmd.Save acForm、 "Form1" DoCmd.Close acTable、 "Table1"、 acSaveYes MsgBox "完了" End Sub フォームとテーブルの両方を保存して閉じる。 フォームを保存し、テーブルを保存して閉じる。 何も保存せず閉じる。 テーブルを保存し、フォームを保存して閉じる。 None 23. 次のコードは、テーブル「Table1」をExcelファイルとして出力する処理である。空欄に当てはまる最も適切なものはどれか。 以下の選択肢より1つ解答しなさい。 Sub Exam1 () DoCmd.OutputTo 【 ① 】、 "Table1"、 【 ② 】,"C:¥test¥test2.xlsx", True End Sub 【 ① 】−acOutputForm 【 ② 】−acFormatXLSX 【 ① 】−acOutputForm 【 ② 】−acFormatTXT 【 ① 】−acOutputTable 【 ② 】−acFormatXLSX 【 ① 】−acOutputTable 【 ② 】−acFormatTXT None 24. 次のコードは、警告メッセージを表示せずに「Query1」クエリを実行する処理である。空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1 () DoCmd.SetWarnings 【 ① 】 DoCmd.OpenQuery "Query1" MsgBox"処理実行" End Sub 0 Nothing True False None 25. 次のコードは、標準モジュールからフォーム「Form1」を参照してフォームの標題を表示する処理と、 フォーム「Form1」のフォームモジュールからフォーム自身を参照してフォームの標題を表示する処理である。 空欄に当てはまる最も適切な組み合わせはどれか。以下の選択肢より1つ解答しなさい。 ' 標準モジュールから実行するプロシージャ Sub Exam1() MsgBox 【 ① 】. Caption End Sub ' フォーム「Form1」のフォームモジュールから実行するプロシージャ Private Sub btn1_Click() MsgBox 【 ② 】. Caption End Sub 【 ① 】−Forms("Form1") 【 ② 】−Me 【 ① 】−Me 【 ② 】−Forms("Form1") 【 ① 】−Form("Form1") 【 ② 】−Me 【 ① 】−Forms("Form1") 【 ② 】−This None 26. 次のVBAコードを実行したときの実行結果として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Private Sub btn1_Click ( ) Me.Filter = "data3 Like '5*'" Me.FilterOn = True MsgBox Me.Recordset.RecordCount Me.FilterOn = False Me.Requery MsgBox Me.Recordset.RecordCount End Sub 両方のメッセージで常に全件数を表示する。 フィルタを解除できないため、2回目のメッセージも抽出件数を表示する。 最初のメッセージで全件数を表示し、次のメッセージで抽出件数を表示する。 最初のメッセージで抽出件数を表示し、次のメッセージで最新の全件数を表示する。 None 27. 次のVBAコードは、フォーム上に配置されたテキストボックス(txt1)とボタン(btn1)を操作する処理です。このコードを実行したときの実行結果として正しいものはどれか。 以下の選択肢より1つ解答しなさい。 Private Sub btn1_Click() Me.btn1.SetFocus Me.txt1.Value = "VBA" MsgBox Me.txt1.Text End Sub メッセージボックスに「VBA」と表示される。 メッセージボックスに「""(空の文字列)」が表示される。 実行時エラーが発生し、処理が中断される。 コンパイルエラーが発生し、実行できない。 None 28. リストボックスの項目の追加・削除に関する文章について、空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 RowSourceTypeプロパティが"Value List"に設定されている場合、[ ① ]メソッドを使用してリストボックスに新しい項目を追加できます。 また、項目を削除する場合はRemoveItemメソッドを使用しますが、引数に項目番号を指定して削除する場合、リストボックスの項目番号は[ ② ]から始まる点に注意が必要です。 【 ① 】−AddItem 【 ② 】−1 【 ① 】−InsertItem 【 ② 】−0 【 ① 】−InsertItem 【 ② 】−1 【 ① 】−AddItem 【 ② 】−0 None 29. コントロールへのフォーカス移動に関する文章について、空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 VBAを使用して指定したコントロールにフォーカスを移動するには、コントロールの【 ① 】メソッドを使用します。 これは、DoCmdオブジェクトの【 ② 】メソッドを使用した場合と同じような処理を行うことができます。 【 ① 】−GoToControl 【 ② 】−SetFocus 【 ① 】−SelectObject 【 ② 】−FindRecord 【 ① 】−SetFocus 【 ② 】−GoToControl 【 ① 】−Requery 【 ② 】−MoveNext None 30. レコードが追加されるときのイベントの発生順序に関する文章について、空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 新規レコードが追加されると、BeforeInsert → [[ ① ]] → [[ ② ]] → AfterInsert の順番でイベントが発生します。 【 ① 】−BeforeUpdate 【 ② 】−AfterUpdate 【 ① 】−AfterUpdate 【 ② 】−BeforeUpdate 【 ① 】−BeforeDelConfirm 【 ② 】−AfterDelConfirm 【 ① 】−Activate 【 ② 】−Deactivate None 31. 次のVBAコードを実行したときの実行結果として正しいものはどれか。以下の選択肢より1つ解答しなさい。 なお、このコードはレポートの「レポートヘッダー」セクションのイベントプロシージャに記述されているものとする。 Private Sub レポートヘッダー_Print(Cancel As Integer, PrintCount As Integer) Me.レポートヘッダー.BackColor = vbWhite End Sub レポートのすべてのセクションの背景色が白になって印刷・プレビューされる。 レポートヘッダーセクションの背景色が白になって印刷・プレビューされる。 レポートヘッダーセクションの文字色が白になって印刷・プレビューされる。 エラーが発生して印刷やプレビューが実行されない。 None 32. 次のコードは、テーブル「Table Product1」のすべてのフィールドのデータを取得するSQLステートメントを実行する処理である。 空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As String N = "SELECT * 【 ① 】 [Table Product1];" CurrentDb.QueryDefs("Query1").SQL = N DoCmd.OpenQuery "Query1" MsgBox "完了" End Sub INTO JOIN FROM WHERE None 33. None 34. None 35. 次のコードは、フィールドを定義して新しいテーブル「TableNew」を作成する処理である。空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As String DoCmd.SetWarnings False N = "【 ① 】 TABLE TableNew(data1 TEXT(6) PRIMARY KEY, data2 TEXT(15))" CurrentDb.QueryDefs("Query1").SQL = N DoCmd.OpenQuery "Query1" DoCmd.SetWarnings True MsgBox"完了" End Sub SELECT INSERT UPDATE CREATE None 36. VBEの画面構成に関する文章について、空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 選択されているオブジェクトのプロパティを表示・編集できるのは、VBEの【 ① 】である。 コードウィンドウ プロパティウィンドウ プロジェクトエクスプローラ イミディエイトウィンドウ None 37. ウィンドウに関する文章について、空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 ウィンドウのサイズを変更するには、ウィンドウの[ ① ]をドラッグアンドドロップする。 アイコン タイトルバー メニューバー 境界線 None 38. VBEでは、構文を誤って記述した場合の動作として正しいものはどれか。以下の選択肢より1つ解答しなさい。 改行時にエラーメッセージが表示され、誤りの行が赤字で表示される。 誤りを含む行でもそのまま実行できる。 エラーは表示されず、プロシージャ実行時にのみ中断される。 自動的に正しい構文に修正される。 None 39. VBEにおけるエラーの種類に関して誤っているものはどれか。以下の選択肢より1つ解答しなさい。 コンパイルエラー:コードの構文や文法に誤りがある場合に発生し、コード実行ができないエラー。 実行時エラー:コード実行時に処理止まり、継続ができなくなり発生するエラー。 論理エラー:コードの記述は正しいがプログラムが意図通りの動作を実行しないエラー。 ハードウェアエラー:VBAで発生する標準的なエラー。 None 40. 次のコードは、繰り返し処理の回数をイミディエイトウィンドウに表示させる処理である。空欄に当てはまる最も適切なものはどれか。 以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim i As Long For i = 1 To 5 【 ① 】 i & " 回繰り返されました" Next i End Sub MsgBox Stop Debug.Print Watch None