【ランダム順出題】Access VBA ベーシック 模擬試験 ② Access VBA ベーシック 模擬問題 模擬試験 2026.04.212026.05.01 制限時間は50分です。 問題の出題順や選択肢の並び順は、サイト側で自動でシャッフルされます。 準備が整い次第、ボタンを押して試験を開始してください。 1. 次のコードは、アクティブなテーブルに対して"data3 = 40"という条件でフィルタを適用する処理である。空欄に当てはまる最も適切な語句はどれか。 以下の選択肢より1つ解答しなさい。 Sub Exam1() DoCmd.【 ① 】,"data3 = 40" MsgBox "完了" End Sub FilterRecord RunFilter ApplyFilter ShowAllRecords None 2. Accessのレコードを削除する際に発生するイベントの順番として、正しいものはどれか。以下の選択肢より1つ解答しなさい。 BeforeDelConfirm → Delete → AfterDelConfirm BeforeDelConfirm → AfterDelConfirm → Delete Delete → BeforeDelConfirm → AfterDelConfirm Delete → AfterDelConfirm → BeforeDelConfirm None 3. 主キーに関する記述について誤っているものはどれか。以下の選択肢より1つ解答しなさい。 主キーに設定されたフィールドには、必ず値を入力しなければならない。 主キーは、レコードを一意に識別するために設定される。 主キーは、ひとつのフィールドだけでなく複数のフィールドを組み合わせる連結主キーを設定することもできる 主キーに設定されたフィールドにはNull値を含めることができる。 None 4. イミディエイトウィンドウで「演算の実行」を行う方法に関する記述として、正しいものはどれか。以下の選択肢より1つ解答しなさい。 演算や関数の結果をイミディエイトウィンドウに表示させるには、数式や関数の先頭に「?」を入力してEnterキーを押す。 イミディエイトウィンドウで演算を行うには、必ず「Debug.Print」と記述しなければならない。 イミディエイトウィンドウに数式を入力して実行すると、その結果はメッセージボックスとして画面上に表示される。 イミディエイトウィンドウでは、単純な四則演算は実行できるが、関数の結果を確認することはできない。 None 5. プロシージャの強制終了に関する記述として、正しいものはどれか。以下の選択肢より1つ解答しなさい。 プロシージャの実行を強制的に終了させたい場合は、「Ctrl」キーと「Break」キーを同時に押す。 無限ループなどのエラーによってプロシージャが終了できなくなった場合、VBEを強制終了するしか方法はない。 プロシージャを強制終了させると、それまでにデータベースに保存されたデータもすべて削除される。 「Shift」キーを押しながら「Enter」キーを押すと、実行中のプロシージャが直ちに強制終了される。 None 6. Accessの標準モジュールを削除する際の注意点として、正しい記述はどれか。以下の選択肢より1つ解答しなさい。 標準モジュールはAccessの基本機能であるため、ユーザーが削除することはできない。 標準モジュールを削除しても、中に記述されていたプロシージャ(プログラム)は自動的に別のモジュールへ移動される。 削除した標準モジュールは、直後であれば「元に戻す」機能を使って復元することができる。 標準モジュールを削除すると、そのモジュール内に記述されていたプログラムはすべて削除され、元に戻すことはできない。 None 7. VBEの画面構成に関する文章について、空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 VBEにおいて、実際にVBAのプログラムコードを記述したり、修正したりするためのウィンドウを【 ① 】と呼びます。 プロパティウィンドウ プロジェクトエクスプローラ ローカルウィンドウ コードウィンドウ None 8. 次のコードは、フォームの元となるデータ(レコードソース)を"Table2"テーブルに設定する処理である。 空欄に当てはまる最も適切なプロパティはどれか。以下の選択肢より1つ解答しなさい。 Private Sub btn1_Click() Forms("Form1").【 ① 】 = "Table2" End Sub Filter RecordSource RowSource DataSource None 9. レポートの各セクションの機能と印刷されるタイミングに関する記述として、誤っているものはどれか。 以下の選択肢より1つ解答しなさい。 レポートヘッダーは、レポートの最初に一度だけ印刷され、表紙や大見出しを表示するのに使用される。 詳細は、レコードのデータが表示され、レコードの件数分だけ繰り返し印刷される。 レポートフッターは、各ページの下部に印刷され、ページ番号や印刷日時を表示するのに使用される。 ページヘッダーは、各ページの上部に印刷され、すべてのページに共通する項目名(列見出し)などを表示する。 None 10. 次のVBAコードを実行したとき、メッセージボックスに表示される結果として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As Integer N = (1 + 2) * 3 - 4 Mod 3 MsgBox N End Sub 11 2 5 8 None 11. 次のVBAコードを実行したときの実行結果として正しいものはどれか、以下の選択肢より1つ解答しなさい。 Private Sub btn1_Click() Me.list1.ColumnCount = 3 Me.list1.RowSourceType = "Value List" Me.list1.RowSource = "A;B;C;D;E;F" MsgBox "完了" End Sub 値A〜Fが2列に分けて表示される。 値A〜Fが1列に縦に並んで表示される。 値A〜Fが3列に分けて表示される。 何も表示されない。 None 12. 次のVBAコードを実行したとき、表示されるメッセージボックスの内容として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() MsgBox 10 + 5 * 2 > (10 + 5) * 2 End Sub True False 20 30 None 13. 次のVBAコードを実行したとき、列幅を変更したテーブル「Table1」の保存に関する動作として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() DoCmd.Close acTable, "Table1", acSaveNo MsgBox "完了" End Sub テーブルのデザインビューに切り替えてから閉じる。 変更内容を保存するかどうかを確認するダイアログを表示して閉じる。 変更内容を自動的に保存して閉じる。 変更内容を保存せずに閉じる。 None 14. 次のコードは、マウスポインタの形状を「砂時計(待機状態)」に変更して、時間のかかる処理中であることをユーザーに示すものである。 空欄に当てはまる最も適切な語句はどれか。空欄に入る語句を解答しなさい。 Sub Exam1() Dim N As Variant DoCmd. True N = Split("A,B,C",",") MsgBox Join(N, "/") DoCmd.【 ① 】 False End Sub 15. イベントに関する文章のうち正しいものはどれか。以下の選択肢より1つ解答しなさい。 「ビルド」ボタンを押すと、フォームのコントロールのレイアウトが自動的に調整される。 イベントプロシージャはテーブルやクエリのプロパティシートから作成できる。 デザインビューでフォームのコントロールを選択し、プロパティシートの「イベント」タブからイベントプロシージャを作成できる。 フォームやレポートのイベントプロシージャは、必ずVBEのエディターからのみ作成する。 None 16. 次のVBAコードを実行したとき、フォーム"Form1"上のコントロール"txt2"はどうなるか。以下の選択肢より1つ解答しなさい。 下のボックスがコントロール"txt2" Sub Exam1() DoCmd.OpenForm "Form1" DoCmd.GoToControl "txt2" End Sub 「txt2」が非表示になる。 「txt2」に値があればクリアされる。 「txt2」にフォーカスが移動する。 「txt2」がロックされ、編集できなくなる。 None 17. 次のVBAコードを実行したときの実行結果として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As String N = "SELECT data1, data3 FROM Table1;" CurrentDb.QueryDefs("Query1").SQL = N DoCmd.OpenQuery "Query1" MsgBox "完了" End Sub Table1テーブルの、data1からdata3までのすべてのフィールドが表示される。 Table1テーブルの、data1フィールドとdata3フィールドのデータが表示される。 エラーが発生して処理は実行されない。 Table1テーブルのすべてのフィールドのデータが表示される。 None 18. 次のVBAコードを実行したとき、表示されるメッセージボックスの内容として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1 () MsgBox Right("HELLO WORLD", 5) End Sub ORLD WORLD HELLO HEL None 19. VBEの自動クイックヒント機能に関する記述として、正しいものはどれか。以下の選択肢より1つ解答しなさい。 オブジェクト名とピリオド(.)を入力した際に、使用可能なプロパティやメソッドの一覧をドロップダウンリストで表示する機能である。 コードを入力して改行した際に、文法や構文の誤りがないかを自動でチェックする機能である。 キーワードを入力した状態でF1キーを押すと、そのキーワードのヘルプをブラウザで表示する機能である。 コードの入力中に、関数やメソッドの構文(引数の種類や順番など)を自動的にポップアップ表示する機能である。 None 20. ナビゲーションウィンドウに関する文章として正しいものはどれか。以下の選択肢より1つ解答しなさい。 マウスの現在位置に応じてコマンドの内容を表示するバーのことである。 データベースオブジェクトを一覧表示し、開いたり削除したりできる領域のことである。 Accessを操作実行するコマンドがまとめられたタブのことである。 開いている複数のドキュメントを切り替えるためのタブ一覧のことである。 None 21. 次のVBAコードを実行し、表示されたメッセージボックスで「いいえ」ボタンをクリックしたときの実行結果として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As Integer N = MsgBox("処理を続けますか?", vbYesNo + vbQuestion) If N = vbYes Then MsgBox "実行しました" Else MsgBox "キャンセルしました" End If End Sub 何も表示されずに終了する。 エラーが発生する。 「キャンセルしました」というメッセージが表示される。 「実行しました」というメッセージが表示される。 None 22. 変数の宣言を強制するための設定に関する記述として、正しいものはどれか。 以下の選択肢より1つ解答しなさい。 VBEのオプションで「変数の宣言を強制する」にチェックを入れると、既存の作成済みモジュールすべてに自動的に Option Explicit が追加される。 変数の宣言を強制する主な目的は、すべての変数をバリアント型(Variant)として扱うことである。 変数の宣言を強制するには、モジュールの宣言セクションに Option Explicit と記述する。 変数の宣言を強制すると、Dim ステートメントを使わずに変数を使用してもエラーにはならない。 None 23. Access VBAとExcel VBAの関係や違いに関する記述として、最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 Accessには、Excelと同様に操作を自動的に記録してVBAコードを生成する「マクロの記録」機能が搭載されている。 Access VBAとExcel VBAは全く異なるプログラミング言語であり、文法の共通点はない。 Access VBAとExcel VBAは、どちらもVisual Basicという言語をベースにしており、If文などの基本文法は共通している。 Access VBAで作成したプログラムは、修正することなくそのままExcel VBAとして動作させることができる。 None 24. 次のVBAコードを実行したときの実行結果として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As String N = "SELECT * FROM Table1 WHERE data2 IN ('A', 'C', 'E') AND data3 IS NOT NULL ;" CurrentDb.QueryDefs("Query1").SQL = N DoCmd.OpenQuery "Query1" MsgBox "完了" End Sub data2がA、C、Eで、かつdata3がNullのレコードが抽出される。 data2がA、C、Eで、data3に値があるレコードが抽出される。 エラーが発生して処理は実行されない。 data3に値があるレコード全てが抽出される。 None 25. 次のVBAコードを実行したとき、表示されるメッセージボックスの内容として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As Double N = -7.8 MsgBox Int(N) End Sub -7 8 7 -8 None 26. 次のコードは、レコードが存在しない場合にメッセージを表示して印刷を中止する処理である。空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 Private Sub Report_【 ① 】(Cancel As Integer) MsgBox "データなし" Cancel = True End Sub NullData Unload NoData Error None 27. 次のコードを実行すると"10月1日 (2024)"と表示されます。空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1 () Dim N As Date N = #10/1/2024# MsgBox 【 ① 】(N) & "月" & Day(N) & "日 (" & 【 ② 】N) & ")" End Sub 【 ① 】−Month 【 ② 】−Day 【 ① 】−Year 【 ② 】−Month 【 ① 】−Day 【 ② 】−Year 【 ① 】−Month 【 ② 】−Year None 28. 次のVBAコードを実行したときの実行結果として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As String DoCmd.SetWarnings False N = "DROP TABLE TableNEW;" CurrentDb.QueryDefs("Query1").SQL = N DoCmd.OpenQuery "Query1" DoCmd.SetWarnings True MsgBox "完了" End Sub 「TableNEW」テーブルから特定のフィールドが削除される。 「TableNEW」テーブルそのものがデータベースから削除される。 エラーが発生して処理が中断される。 「TableNEW」テーブル内のすべてのレコードが削除されるが、テーブル自体は残る。 None 29. 次のVBAコードを実行したとき、表示されるメッセージボックスの内容として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As Integer N = 10 If N < 50 / 5 Then MsgBox "A" ElseIf N = 20 Then MsgBox "B" ElseIf N = 30 Then MsgBox "C" Else MsgBox "D" End If End Sub C D A B None 30. 次のVBAコードを実行したときの実行結果として正しいものはどれか。 以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As String DoCmd.SetWarnings False N = "UPDATE Table1 SET data3 = data3 * 1.1;" DoCmd.RunSQL N DoCmd.SetWarnings True MsgBox "完了" End Sub 「Table1」のすべてのレコードにおいて、「data3」フィールドの値が1.1倍に更新される。 「Table1」の先頭の1レコードのみ、「data3」フィールドの値が1.1倍に更新される。 「Table1」の「data3」フィールドのデータがすべて削除され、新しいレコードとして追加される。 WHERE句で更新条件が指定されていないため、エラーが発生してコードの実行が中断される。 None 31. プロジェクトエクスプローラの操作に関する文章について、空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 プロジェクトエクスプローラの上部には3つのボタンがあります。 選択したオブジェクトのコードを表示する【 ① 】ボタン、オブジェクトそのもの(フォームなど)をAccess画面で表示する【 ② 】ボタン、そしてオブジェクトの種類ごとのフォルダ表示を切り替える【 ③ 】ボタンです。 【 ① 】−コードの表示 【 ② 】−オブジェクトの表示 【 ③ 】−フォルダの切り替え 【 ① 】−オブジェクトの表示 【 ② 】−コードの表示 【 ③ 】−フォルダの切り替え 【 ① 】−プロシージャの表示 【 ② 】−オブジェクトの表示 【 ③ 】−モジュールの表示 【 ① 】−コードの表示 【 ② 】−フォルダの切り替え 【 ③ 】−オブジェクトの表示 None 32. 次のVBAコードを実行したときの動作として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Private Sub btn_Click() With Forms("Form Sports1").Recordset .FindFirst "data4 = 40" .FindNext "data4 = 60" MsgBox "完了しました。" End With End Sub 先頭から条件に一致するレコードを検索し、その後、再び先頭から同じ条件でレコードを検索する。 エラーが発生して処理が中断される。 先頭から条件に一致するレコードを検索し、その後、現在の位置から末尾に向かって同じ条件で次のレコードを検索する。 末尾から条件に一致するレコードを検索し、その後、現在の位置から先頭に向かって同じ条件で次のレコードを検索する。 None 33. 次のVBAコードは、フォーム上に配置されたテキストボックス(txt1)の前景色(文字色)を青色に、背景色を黄色に変更する処理です。 空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 Private Sub btn1_Click() Me.txt1.【 ① 】 = vbBlue Me.txt1.【 ② 】 = vbYellow End Sub 【 ① 】−ForeColor 【 ② 】−BackgroundColor 【 ① 】−BackColor 【 ② 】−ForeColor 【 ① 】−ForeColor 【 ② 】−BackColor 【 ① 】−TextColor 【 ② 】−BackColor None 34. 次のVBAコードを実行したとき、表示されるメッセージボックスの内容として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim MyDate As Date MyDate = DateSerial(2025, 4, 1) MsgBox MyDate End Sub 202541 エラーが発生する 4/1/2025 2025/04/01 None 35. DoCmdオブジェクトの説明として正しいものはどれか、以下の選択肢より1つ解答しなさい. DoCmdオブジェクトは、エラー処理を行うためのステートメントである。 DoCmdオブジェクトは、テーブルのデータを直接編集するための専用オブジェクトである。 DoCmdオブジェクトは、VBAの変数や定数を宣言するために使用するオブジェクトである。 DoCmdオブジェクトは、メソッドを指定してAccessのデータベースオブジェクトをVBAから操作するために使用するオブジェクトである。 None 36. 次のコードを実行すると、1回目は「7」、2回目は「14」と表示されます。空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() MsgBox 【 ① 】("ABCDEFG") MsgBox 【 ② 】("ABCDEFG") End Sub 【 ① 】−InStr 【 ② 】−Replace 【 ① 】−Left 【 ② 】−Right 【 ① 】−Len 【 ② 】−LenB 【 ① 】−Round 【 ② 】−Format None 37. ユーザー定義定数および組み込み定数に関する文章について正しいものはどれか、 以下の選択肢より1つ解答しなさい。 組み込み定数は、関数やプロパティの引数などに利用される。 ユーザー定義定数は、使用するたびに再宣言が必要である。 組み込み定数は、実行時に自動的に削除される。 ユーザー定義定数は、Constステートメントで宣言してもプログラム内で再代入できる。 None 38. 次のVBAコードを実行したとき、表示されるメッセージボックスの内容として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As Integer N = 5 Do MsgBox "現在のカウントは " & N & " です" N = N - 2 Loop Until N < 5 End Sub 「現在のカウントは 5 です」と1回だけ表示される。 条件を最初から満たしているため、メッセージは一度も表示されない。 無限ループになり、メッセージが何度も表示される。 「現在のカウントは 5 です」「現在のカウントは 3 です」と順番に表示される。 None 39. プロシージャの実行方法に関する記述として、誤っているものはどれか。 以下の選択肢より1つ解答しなさい。 カーソルがプロシージャの外にある状態で「F5」キーを押した場合、エラーが発生してプロシージャは実行できない。 VBEの「標準」ツールバーにある「Sub/ユーザーフォームの実行」ボタンをクリックすることでも、プロシージャを実行できる。 「F5」キーを押したときに「マクロ」ダイアログボックスが開いた場合、リストから実行したいプロシージャを選択して実行できる。 VBEのコードウィンドウで、実行したいSubプロシージャ内にカーソルがある状態で「F5」キーを押すと、そのプロシージャが実行される。 None 40. 次のコードは、実行すると【 ① 】と表示された。 空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1 () Dim N As Variant N = DMax ("data1","Table1") MsgBox N End Sub 1000 10000 8000 3000 None