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