【ランダム順出題】Access VBA ベーシック 模擬試験 ⑥ Access VBA ベーシック 模擬問題 模擬試験 2026.05.04 制限時間は50分です。 問題の出題順や選択肢の並び順は、サイト側で自動でシャッフルされます。 準備が整い次第、ボタンを押して試験を開始してください。 1. Accessのクエリに関する文章について誤っているものはどれか。以下の選択肢より1つ解答しなさい。 アクションクエリでは、データの追加・削除・更新などが行える。 クエリは常にデザインビューで作成しなければならない。 クエリは、テーブルなどのデータを一括操作するためのオブジェクトである。 SQLビューでは、SQL文を直接入力してクエリを作成できる。 None 2. 次のVBAコードを実行したとき、レポート"Report1"はどのように実行されるか。以下の選択肢より1つ解答しなさい。 Sub Exam1() DoCmd.OpenReport "Report1", acViewPreview End Sub デザインビューで表示される。 レイアウトビューで表示される。 画面に印刷プレビューが表示される。 プリンタに直接印刷される。 None 3. 次のVBAコードを実行したとき、最初に表示されるメッセージと最後に表示されるメッセージの内容として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim i As Long Dim j As Long For i = 1 To 3 For j = 1 To 2 MsgBox j & "-" & i Next j Next i End Sub 最初:「1-3」 最後:「2-1」 最初:「1-1」 最後:「2-3」 最初:「1-1」 最後:「3-2」 最初:「3-1」 最後:「2-3」 None 4. 次のVBAコードは、フォーム上に配置されたボタン(btn1)をクリックし、リストボックス(list1)に、指定した値のリストをデータとして表示するための処理です。 空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。→ Private Sub btn1_Click() Me.list1.【 ① 】 = "Value List" Me.list1.【 ② 】 = "9;8;7;6;5" MsgBox "完了" End Sub 【 ① 】−RowSource 【 ② 】−RowSourceType 【 ① 】−RecordSource 【 ② 】−RowSource 【 ① 】−RowSourceType 【 ② 】−ControlSource 【 ① 】−RowSourceType 【 ② 】−RowSource None 5. 定数に関する文章について正しいものはどれか。以下の選択肢より1つ解答しなさい。 定数を宣言するには、Dimステートメントを使用する。 定数とは、値を何度でも変更できる変数の別名である。 定数を宣言するには、Constステートメントを使用する。 定数は、宣言後に必要に応じて値を代入することができる。 None 6. コントロールに関する文章について、空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 フォームのタイトルバーに表示される文字列や、ユーザーに見える標題を返すのは【 ① 】プロパティであり、フォームやコントロールをVBAで識別する際に利用されるのは【 ② 】プロパティです。 【 ① 】−Value 【 ② 】−Caption 【 ① 】−Caption 【 ② 】−Name 【 ① 】−Text 【 ② 】−Name 【 ① 】−RowSource 【 ② 】−Value None 7. VBEのウィンドウ操作に関する文章について、空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 VBEの各ウィンドウは、画面の枠に固定して配置する【 ① 】状態と、独立したウィンドウとして画面上の自由な位置に配置する【 ② 】状態を切り替えることができます。 【 ① 】−アクティブ 【 ② 】−非アクティブ 【 ① 】−ドッキング 【 ② 】−フローティング 【 ① 】−固定 【 ② 】−解放 【 ① 】−フローティング 【 ② 】−ドッキング None 8. 次のコードは、" Table1"テーブルから"data3"が20であるレコードの"data1"フィールドの値を取得して表示する処理である。空欄に当てはまる最も適切な関数はどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As Variant N = 【 ① 】("data1", " Table1", "data3 = 20") MsgBox N End Sub DLookup DMax DCount DSelect None 9. 次のコードは、フォームモジュール内に記述されており、フォームの表題に表示されている文字列を表示する処理である。 空欄に当てはまる最も適切な語句はどれか。以下の選択肢より1つ解答しなさい。 Private Sub btn1_Click() MsgBox【 ① 】. Caption End Sub Me Forms Reports Subject None 10. Accessの画面から標準モジュールを新しく作成する手順として、正しいものはどれか。以下の選択肢より1つ解答しなさい。 リボンの「データベース ツール」タブの「マクロ」グループから「Visual Basic」ボタンをクリックする。 リボンの「ホーム」タブの「レコード」グループから「新規作成」ボタンをクリックする。 ナビゲーションウィンドウの何もない場所を右クリックし、ショートカットメニューから「挿入」→「標準モジュール」を選択する。 リボンの「作成」タブの「マクロとコード」グループから「標準モジュール」ボタンをクリックする。 None 11. 次のVBAコードを2回実行したときの実行結果として正しいものはどれか、以下の選択肢より1つ解答しなさい。 Private Sub btn1_Click() If Me.RecordSelectors = True Then Me.RecordSelectors = False Else Me.RecordSelectors = False End If MsgBox "完了" End Sub 2回目でもレコードセレクタの表示状態は1回目実行後のままである。 2回目でレコードセレクタの表示状態が元に戻る。 2回目で全レコードが選択される。 2回目でエラーが発生する。 None 12. 次のコードは、Table Product1テーブルからフィールド名「Price」が10000から30000までのデータを抽出するSQL文を設定し、クエリを開く処理である。 空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As String N = "SELECT * FROM [Table Product1] WHERE Price 【 ① 】 10000 AND 30000;" CurrentDb.QueryDefs("Query1").SQL = N DoCmd.OpenQuery "Query1" End Sub LIKE IN NOT BETWEEN None 13. Accessデータベースの配布形式に関する記述として、誤っているものはどれか。以下の選択肢より1つ解答しなさい。 「accdr」はデジタル署名付きのデータべースファイル形式であり、セキュリティを強化する目的で主に使用される。 コードを保護・秘匿するという点からは、プロジェクトのロックをかけた「accdb」形式で配布するよりも、「accde」形式で配布する方が安全である。 「accde」は実行専用のデータベースファイル形式であり、VBAコードがコンパイルされ、元のソースコードは削除されている。 「accdb」は通常のデータベースファイル形式であり、ユーザーがアプリケーションのカスタマイズを行うことができる。 None 14. 次のVBAコードを実行したとき、順番に表示される2回のメッセージボックスの内容として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim A As Date Dim B As Date A = #12/17/2025# B = #12/31/2025# MsgBox DateDiff("d",A,B) MsgBox DateDiff("ww",A,B) End Sub 「14」「2」 「2」「14」 「14」「0」 「0」「14」 None 15. 次のコードは、カレントレコードのレコード番号を表示する処理である。空欄に当てはまる最も適切なプロパティはどれか。以下の選択肢より1つ解答しなさい。 Private Sub btn1_Click() MsgBox Forms("Form1").【 ① 】& "がカレントレコード番号です" End Sub CurrentRecord OptionValue RecordCount NoMatch None 16. 次のコードはFormatイベントで、レポートヘッダーの印刷制御を行う処理である。 空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 Private Sub レポートヘッダー_Format(Cancel As Integer,FormatCount As Integer) Me.【 ① 】= False End Sub Print PrintSection BackColor Visible None 17. 次のコードは、条件分岐の基本構造の記述です。空欄に当てはまる最も適切な語句を解答しなさい。 Sub Exam1() N < 10 Then MsgBox "10未満です" End If End Sub 18. VBAの参照設定に関する記述として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Access VBAからExcelなどの外部アプリケーションを操作する場合、参照設定を行うことで「事前バインディング」を利用でき、コード記述時の支援機能が働くようになる。 参照設定は、VBEの「表示」メニューから「参照設定」を選択して行う。 参照設定を行わなくても、外部ライブラリの定数やデータ型は自動的に補完入力される。 一度参照設定を行うと、その設定は他のすべてのAccessデータベースファイルにも自動的に適用される。 None 19. Exitステートメントに関する文章について、空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 「Exit Do」と「Exit For」の主な違いは、処理を抜ける対象の繰り返し構造がそれぞれ【 ① 】と【 ② 】であることである。 【 ① 】−For…Nextステートメント 【 ② 】−Do…Loopステートメント 【 ① 】−Functionプロシージャ 【 ② 】−Subプロシージャ 【 ① 】−Subプロシージャ 【 ② 】−Functionプロシージャ 【 ① 】−Do…Loopステートメント 【 ② 】−For…Nextステートメント None 20. 変数Nへの値の代入や変数Nの値の取得(利用)に関する記述として、誤っているコードはどれか。 以下の選択肢より1つ解答しなさい。 変数に文字列 "佐藤" を代入する場合: N = "佐藤" 変数の値をメッセージボックスに表示する場合: MsgBox N 変数の値をフォームの標題(Caption)に設定する場合: Me.Caption = N 変数の値を別の変数「NewName」に渡す(代入する)場合: N = NewName None 21. イベントプロシージャに関する記述として正しいものはどれか。以下の選択肢より1つ解答しなさい。 イベントプロシージャの名前は、ユーザーが自由に決めることができる。 イベントプロシージャは、標準モジュールに作成されるのが一般的である。 イベントプロシージャは、フォームを開く、ボタンをクリックするといった操作が行われたときに自動的に実行される。 イベントプロシージャは、他のプロシージャから呼び出すことはできない。 None 22. 次のVBAコードを実行したときの実行結果として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As String N = "SELECT data4, Count(ID) AS group件数 FROM Table1 GROUP BY data4;" CurrentDb.QueryDefs("Query1").SQL = N DoCmd.OpenQuery "Query1" MsgBox "完了" End Sub エラーが発生して処理は実行されない。 「ID」でグループ化され、グループ毎の件数が (レコード数)が「group件数」として表示される。 「data4」でグループ化され、グループ毎の件数(レコード数)が「group件数」として表示される。 「data4」で並べ替えられ、すべてのデータが一覧で表示される。 None 23. VBEにおけるコードの編集作業の支援機能について、誤っているものはどれか。以下の選択肢より1つ解答しなさい。 VBAの書式や構文を誤って記述して改行した際、エラーメッセージを表示し構文の誤りを指摘する機能を自動構文チェックという。 変数を宣言する際、大文字と小文字を組み合わせた変数名(例:Vba)を設定しておくと、以降小文字で入力しても自動で宣言した大文字小文字の組み合わせに変換される。 VBAのキーワードや関数名などを小文字で入力しても、正しいスペルであれば自動的に先頭が大文字に変換される。 VBEには自動スペルチェック機能があり、スペルミスをしてキーワードを入力した場合、自動的に正しいスペルに修正される。 None 24. 次のVBAコードを実行したとき、最初に表示されるメッセージと最後に表示されるメッセージの内容として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim A As Integer, B As Integer A = 10 B = 20 MsgBox (A > 5) And (B < 10) MsgBox (A > 15) Or (B = 20) End Sub 最初:True 最後:False 最初:False 最後:False 最初:False 最後:True 最初:True 最後:True None 25. VBEの画面構成に関する文章について、空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 VBEにおいて、開いているプロジェクトに含まれるモジュールを階層(ツリー)形式で一覧表示し、管理するためのウィンドウを【 ① 】と呼びます。 イミディエイトウィンドウ プロパティウィンドウ プロジェクトエクスプローラ コードウィンドウ None 26. 次のVBAコードを実行したとき、表示されるメッセージボックスの内容として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1 () MsgBox InStr(5, "ABCDEFGCDE", "CDE") End Sub 3 0 5 8 None 27. VBAにおけるプロパティの取得と設定に関する記述として正しいものはどれか。以下の選択肢より1つ解答しなさい。 プロパティの値を取得する場合は「オブジェクト.プロパティ = 変数」と記述する。 プロパティに値を設定する場合は「オブジェクト.プロパティ = 値」と記述する。 テキストボックスの値をVBAで取得する場合、Valueプロパティは省略することができない。 プロパティとは、オブジェクトに対して「閉じる」「印刷する」などの動作を指示する命令のことである。 None 28. 次のコードは、変数の値が数値として評価できるかどうかを判定する処理である。 空欄に当てはまる最も適切な関数はどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As Variant N = "123" If 【 ① 】(N) Then MsgBox "数値です" Else MsgBox "数値ではありません" End If End Sub IsNumeric IsDate IsNull Nz None 29. 次のコードは、アクティブなオブジェクト(レポートなど)の1ページ目から3ページ目までを印刷する処理である。 空欄に当てはまる最も適切な語句はどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() DoCmd.【 ① 】 acPrintAll, 1, 3 MsgBox "完了" End Sub PrintOut SelectObject Print OutputTo None 30. 次のVBAコードはFormat関数を使用して数値と文字列を特定の書式に変換し、メッセージボックスに表示する処理である。 空欄に当てはまる書式記号のうち、指定した桁や位置に元のデータが存在しない場合、数値には「0」、文字列には「スペース」が両方とも入らない書式指定の組み合わせとして正しいものはどれか。 以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim A As String Dim B As String A = Format(1234, "【 ① 】") B = Format("VBA", "【 ② 】") MsgBox A & vbCrLf & B End Sub 【 ① 】000,000 【 ② 】&&&_&&& 【 ① 】###,### 【 ② 】@@@_@@@ 【 ① 】000,000 【 ② 】@@@_@@@ 【 ① 】###,### 【 ② 】&&&_&&& None 31. 次のVBAコードを実行したときの結果として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() DoCmd.OutputTo acOutputReport, "Report1", acFormatHTML, "C:¥work¥Invoice.html" MsgBox "完了" End Sub レポート「Report1」が画面上でプレビュー表示される。 レポート「Report1」がプリンタで印刷される。 レポート「Report1」がExcel形式でエクスポートされる。 レポート「Report1」がHTML形式で指定の場所に保存される。 None 32. 次のコードは、配列のすべての要素を順番にイミディエイトウィンドウに出力する処理である。 配列の要素数が変わっても対応できるように、ループの終了値に配列の最大インデックス番号を取得する関数を使用したい。 空欄に当てはまる最も適切な関数を解答しなさい。 Sub Exam1() Dim N As Variant Dim i As Integer N = Array("1", "2", "3", "4") For i = LBound(N) To (N) Debug.Print N(i) Next i End Sub 33. テーブルで使用するデータ型に関する文章について、空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 テーブルのフィールドに、最大255文字までの文字列を格納する場合に使用するデータ型は【 ① 】である。 長いテキスト型 数値型 短いテキスト型 日付/時刻型 None 34. 次のVBAコードを実行したときの実行結果として正しいものはどれか。以下の選択肢より1つ解答しなさい。 (※実行前において、データベース内に"Table1"は存在し、"Table10"は存在しないものとします。) Sub Exam1() Dim N As String DoCmd.SetWarnings False N = "SELECT * INTO Table10 FROM Table1;" DoCmd.RunSQL N DoCmd.SetWarnings True MsgBox "完了" End Sub 「Table1」のすべてのレコードを含む、新しいテーブル「Table10」が作成される。 「Table1」と「Table10」が結合された新しいテーブルが作成される。 「Table10」のすべてのレコードが、「Table1」に追加される。 「Table1」のすべてのレコードが削除され、空のテーブル「Table10」が作成される。 None 35. デバッグ機能のステップイン実行に関する文章について,空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 ステップイン実行は,プロシージャのステートメントを【 ① 】単位で実行し,動作を確認する機能です。 ステップイン実行を行うには、【 ② 】キーを押します。 なお、ステップイン実行を行うと,実行箇所が黄色く反転して一時停止しますが,この黄色く反転しているステートメントは【 ③ 】という点に注意が必要です。 【 ① 】−プロシージャ 【 ② 】−F5 【 ③ 】−すでに実行されている 【 ① 】−1行 【 ② 】−F8 【 ③ 】−まだ実行されていない 【 ① 】−1行 【 ② 】−F9 【 ③ 】−すでに実行されている 【 ① 】−モジュール 【 ② 】−F1 【 ③ 】−まだ実行されていない None 36. データベースを操作するための言語である「SQL」は、何の略称か。最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 Structured Query Language Structured Question Language Standard Query Language System Query Language None 37. 次のコードは、レコードが更新される直前に実行されるイベントプロシージャである。空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 Private Sub Form_【 ① 】 (Cancel As Integer) If Len(Me.data3.Value & "") = 0 Then MsgBox "data3が入力されていないため、保存をキャンセルします" Cancel = True End If End Sub AfterInsert BeforeUpdate AfterUpdate BeforeInsert None 38. VBEでのヘルプの利用に関する記述として、正しいものはどれか。以下の選択肢より1つ解答しなさい。 ヘルプ機能を利用するには、必ず「ヘルプ」メニューからキーワードを手入力して検索しなければならない。 VBAのコードでエラーが発生した場合、F1キーを押せば自動でエラーの原因を修正してくれる。 VBE上で調べたいキーワード(関数やステートメントなど)にカーソルを置き、F1キーを押すと、そのキーワードに関連するヘルプが表示される。 F1キーを押すと、VBEのコードウィンドウ内に直接ヘルプの解説文が挿入される。 None 39. 次のVBAコードを実行したときの動作として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() DoCmd.Echo False DoCmd.OpenForm "Form1" DoCmd.OpenForm "Form2" DoCmd.Echo True End Sub 画面の再描画が停止された状態で処理が行われ、最後に再開される。 処理中のエラーが無視され、最後にエラー通知が有効になる。 システム警告メッセージが非表示になり、最後に表示されるようになる。 ステータスバーの表示が消え、最後に再表示される。 None 40. 次のコードは,文字列 "A-B-C" をハイフン "-" で分割し,配列に格納した後,配列を「:」 区切りで結合して表示します。 空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As Variant N = 【 ① 】("A-B-C","-") MsgBox 【 ② 】(N, ":") End Sub 【 ① 】−Replace 【 ② 】−Join 【 ① 】−Join 【 ② 】−Split 【 ① 】−InStr 【 ② 】−Replace 【 ① 】−Split 【 ② 】−Join None