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