【ランダム順出題】Access VBA ベーシック 模擬試験 ⑤ Access VBA ベーシック 模擬問題 模擬試験 2026.04.212026.05.04 制限時間は50分です。 問題の出題順や選択肢の並び順は、サイト側で自動でシャッフルされます。 準備が整い次第、ボタンを押して試験を開始してください。 1. VBEの操作に関する文章について、空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 VBEで開発中にAccessの画面に切り替える方法の1つとして、【 ① 】のタスクバーからAccessのアイコンを押下する方法がある。 モジュール Windows SQL Access None 2. 次のコードは、フォーム"Form1"を新しいレコードを追加するモードで開く処理です。空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() DoCmd.OpenForm "Form1", , , , 【 ① 】 End Sub acFormEdit acFormReadOnly acFormPropertySettings acFormAdd None 3. 次のコードは、フォームを閉じる際に、画面から非表示となる前に発生するイベントプロシージャである。空欄に当てはまる最も適切なイベント名はどれか。 以下の選択肢より1つ解答しなさい。 Private Sub Form_【 ① 】(Cancel As Integer) If Me.txt.Value = "0" Then MsgBox "テキストボックス内が「0」のため、終了をキャンセルします" Cancel = True End If End Sub Delete Close Unload Deactivate None 4. 配列のインデックス番号に関する記述として、正しいものはどれか。以下の選択肢より1つ解答しなさい。 配列の宣言で Dim A(3) As String と記述した場合、作成される要素数は「3つ」である。 配列のインデックス番号は必ず「0」から始まる仕様のため、変更することはできない。 モジュールの宣言セクションに Option Base 1 と記述すると、そのモジュール内の配列インデックスは既定で「1」から始まる。 配列のインデックス番号にマイナスの数値を指定することはできない。 None 5. データベースを構成する「テーブル」の構造に関する記述として、正しいものはどれか。以下の選択肢より1つ解答しなさい。 テーブルにはデータを保存せず、画面表示のレイアウトのみを保存する。 「フィールド」とは、テーブルの「行」にあたるもので、1件分のデータを表す。 「フィールド」とは、テーブルの「列」にあたるもので、特定の項目(氏名や住所など)を表す。 「レコード」とは、テーブルの「列」にあたるもので、特定の項目(氏名や住所など)を表す。 None 6. VBAプロジェクトの保護とデータベースの保護について誤っているものはどれか。以下の選択肢より1つ解答しなさい。 VBAプロジェクトのロックはソースコードの表示・編集を制限するが、データベースへのパスワードはデータそのものへのアクセスを制限する。 データベースにパスワードを設定しても、開いた後はプロジェクトコードを閲覧可能である。 プロジェクトのロックは、正しいパスワードが入力されない限りコードを表示できない。 データベースのパスワードを設定すれば、VBAプロジェクトの内容も同時に保護される。 None 7. 次の変数の命名ルールに関する文章について誤っているものはどれか。以下の選択肢より1つ解答しなさい。 スペースは使えない。 255文字以内にする。 日本語(ひらがな・カタカナ・漢字)を使うこともできる。 ピリオド(.)は使える。 None 8. 次のVBAコードを実行したときの動作として正しいものはどれか。以下の選択肢より1つ解答しなさい。 なお、「btn」はボタンであり「txt」はテキストボックスのことです。テキストボックス「txt」は、初めは画面に表示されている状態であるものとする。 Private Sub btn_Click() If Me.txt.Visible = True Then Me.txt.Visible = False Else Me.txt.Visible = True End If End Sub ボタンを1回クリックするとテキストボックスが非表示になり、もう1回クリックすると再度表示される。 クリックしてもテキストボックスの表示状態には何も変化が起きない。 構文エラーが発生し、プログラムが停止する。 ボタンを1回クリックするとテキストボックスが表示されたままとなり、もう1回クリックすると非表示になる。 None 9. 次のコードは、フォームの並べ替えを実行する処理である。空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 Private Sub btn1_Click() Me.【 ① 】 = "data3 DESC" Me.OrderByOn = True MsgBox "完了" End Sub Filter OrderBy Sort RecordSource None 10. VBEの画面構成に関する文章について、空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 【 ① 】では、条件式を設定し、その条件を満たした時にはプログラムの実行を中断することができる。 イミディエイトウィンドウ ローカルウィンドウ プロパティウィンドウ ウォッチウィンドウ None 11. 次の文章のうち誤っているものはどれか。以下の選択肢より1つ解答しなさい。 データベースは複数のテーブルで構成されている。 SQLはデータベースの値を、抽出したり操作する仕組みのことである。 フィールドはテーブルの1列に対応している。 テーブルの中のレコードは1つのフィールドで構成されている。 None 12. コードウィンドウの操作に関する文章について、空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 現在カーソルのあるプロシージャだけを表示するには、コードウィンドウの【 ① 】ボタンを使用する。 モジュール全体を連続表示 オブジェクトボックス プロシージャの表示 余白インジケータ None 13. 次のVBAコードを実行したときの実行結果として正しいものはどれか。以下の選択肢より1つ解答しなさい。(※"Table1"テーブルと"Table7"テーブルのフィールド構成は完全に一致しているものとします) Sub Exam1() Dim N As String DoCmd.SetWarnings False N = "INSERT INTO Table1 SELECT * FROM Table7;" CurrentDb.QueryDefs("Query1").SQL = N DoCmd.OpenQuery "Query1" DoCmd.SetWarnings True End Sub 「Table7」テーブルのすべてのレコードが、「Table1」テーブルに追加される。 SELECT句の後に特定のフィールド名が指定されていないため、エラーが発生してクエリは実行されない。 「Table7」テーブルのうち、特定の条件を満たすレコードだけが「Table1」テーブルに追加される。 「Table1」テーブルのすべてのレコードが、「Table7」テーブルに追加される。 None 14. 次のモジュールに関する文章について正しいものはどれか。以下の選択肢より1つ解答しなさい。 標準モジュールは、特定のフォームに関連づけられて保存される。 フォームモジュールは、データベース全体で共通に利用する汎用的なプログラムを記述するモジュールである。 標準モジュールは、モジュールオブジェクトとして、データベース内に保存される。 フォームモジュールは、Accessの起動時に必ず自動で読み込まれる。 None 15. オブジェクトに関する文章について誤っているものはどれか。以下の選択肢より1つ解答しなさい。 プロパティはオブジェクトの動作を実行するための命令である。 フォームはオブジェクトであり、複数のプロパティとメソッドを持つ。 メソッドはオブジェクトの動作を表す命令である。 同じ種類のコントロールでも、それぞれのプロパティ値は異なる場合がある。 None 16. 次のVBAコードを実行したときの動作として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Randomize MsgBox Int((Rnd * 8) + 13) End Sub 実行するたびに、13から20までの範囲の整数がランダムに表示される。 実行するたびに、13から21までの範囲の整数がランダムに表示される。 実行しても常に「13」が表示される。 実行するたびに、0から8までの範囲の整数がランダムに表示される。 None 17. 次のコードは、リストボックス「list1」の2列目の値をコントロールの値として取得するように設定し、その値を表示する処理である。 空欄に当てはまる最も適切なプロパティはどれか。以下の選択肢より1つ解答しなさい。 なおlst1はリストボックスのことである。 Private Sub btn1_Click() Me.lst1.【 ① 】 = 2 Dim N As Variant N = Me.lst1.Value MsgBox "選択されたデータは 「" & N & "」 です。" End Sub BoundColumn ListIndex ColumnCount RowSource None 18. プロシージャに関する文章について正しいものはどれか。以下の選択肢より1つ解答しなさい。 Functionプロシージャは戻り値を返すことができ、Subプロシージャは戻り値を返さない。 標準プロシージャは、フォームやレポートなどの特定のオブジェクトに自動的に関連付けられる。 標準プロシージャは「Event」で始まり、「End Event」で終わる必要がある。 標準プロシージャは、イベントが発生した時に自動的に実行されるように作られている。 None 19. 次のVBAコードを実行したときの実行結果として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() DoCmd.Beep Debug.Print "処理が完了しました" End Sub 警告音のみが鳴り、イミディエイトウィンドウには表示されない。 イミディエイトウィンドウにのみ表示され、警告音は鳴らない。 イミディエイトウィンドウに「処理が完了しました」と表示された後に警告音が鳴る。 警告音が鳴った後にイミディエイトウィンドウに「処理が完了しました」と表示される。 None 20. 次の文章のうち正しいものはどれか。以下の選択肢より1つ解答しなさい。 レポートのコントロールは「Forms("レポート名").コントロール名」で参照する。 フォームの参照には必ず角括弧([])を使う必要がある。 フォーム内のコントロールは「Forms("フォーム名").コントロール名」では参照できない。 サブフォームの参照は「Forms("フォーム名").サブフォーム名.Form」という記述で行う。 None 21. 次のVBAコードを実行したときの実行結果として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Private Sub btn1_Click() Forms("MainForm").Form1.Form.data1 = "123" End Sub 「123」というメッセージボックスが表示される。 サブフォーム「Form1」の「data1」に「123」と表示される。 メインフォーム「MainForm」の「data1」に「123」と表示される。 エラーが発生する。 None 22. Replace関数における実引数「比較方法」に指定できる定数とその内容の組み合わせとして、正しいものはどれか。以下の選択肢より1つ解答しなさい。 vbDatabaseCompare:Option Compare ステートメントの設定で比較を行う。 vbUseCompareOption:データベースに格納されている設定から比較を行う。 vbTextCompare:バイナリモードで比較を行い、大文字と小文字、半角と全角、ひらがなとカタカナが区別されない。 vbBinaryCompare:バイナリモードで比較を行い、大文字と小文字、半角と全角、ひらがなとカタカナが区別される。 None 23. 次のVBAコードを実行したときの実行結果として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As String N = "SELECT * FROM [Table Product1] WHERE Price < 10000;" CurrentDb.QueryDefs("Query1").SQL = N DoCmd.OpenQuery "Query1" End Sub 「Table Product1」テーブルから、Priceが10000以上のレコードが抽出されて表示される。 エラーが発生して処理は実行されない。 「Table Product1」テーブルから、Priceが10000より小さいレコードが抽出されて表示される。 「Table Product1」テーブルから、Priceが10000以下のレコードが抽出されて表示される。 None 24. 次のVBAコードは、基準日である「2025年12月31日」に1「週」を加算した日付(2026/01/07)を取得し、メッセージボックスに表示する処理である。 空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As Date N= DateAdd(【 ① 】, 1, #12/31/2025#) MsgBox N End Sub "ww" "d" "w" "m" None 25. 次のコードの実行結果として適切なものを、選択肢の中から1つ解答しなさい。 Sub Exam1() Dim A As String Dim B As String A = Space(3) B = String(4, "V") MsgBox A & B End Sub 「VVVV 」(Vが4つの後に3つの半角スペース) 「 VVVV」(3つの半角スペースの後にVが4つ) 「VVVVV」 「3VVVV」 None 26. 次のコードは、二つの変数を結合する処理である。空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim A As String Dim N As Integer A = "合計:" N = 5 MsgBox A【 ① 】N End Sub / + Mod & None 27. 次のVBAコードを実行したとき、実行結果の説明として正しいものはどれか。以下の選択肢より1つ解答しなさい。 txt1・・・は図のテキストボックスのことです。Sub Exam1() With Forms("Form1").txt1 .Value = "VBA" .ForeColor = vbRed End With End Sub エラーが発生して何も変更されない。 テキストボックス「txt1」の値と、その背景色が変更される。 フォーム「Form1」のタイトルと、その文字色が変更される。 テキストボックス「txt1」の値と、その文字色が変更される。 None 28. 次のVBAコードを実行したとき、表示されるメッセージボックスの内容として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As Variant N = Array("4", "2", "1", "3") MsgBox N(2) End Sub 4 1 3 2 None 29. 次のVBAコードを実行したとき、表示されるメッセージボックスの内容として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As Variant N = Null MsgBox Nz(N, 10) End Sub 0 10 エラーが発生する "" None 30. 次のVBAコードを実行したときの実行結果として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As String N = "SELECT * FROM [Table Sports1] ORDER BY data3 DESC, data4;" CurrentDb.QueryDefs("Query1").SQL = N DoCmd.OpenQuery "Query1" MsgBox"完了" End Sub data3 で昇順、次にdata4で降順に並べ替えられる。 data3とdata4の両方で降順に並べ替えられる。 data3で降順、次にdata4で昇順に並べ替えられる。 data3とdata4の両方で昇順に並べ替えられる。 None 31. 次のコードは、Cドライブの「test」フォルダにテーブルTable3をエクスポートする処理である。 空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() DoCmd.TransferSpreadsheet 【 ① 】,acSpreadsheetTypeExcel12Xml ,"Table3", "C:¥test¥test1.xlsx ", False MsgBox "完了" End Sub Export acLink acImport acExport None 32. VBAのコメントの書き方に関する記述として、誤っているものはどれか。以下の選択肢より1つ解答しなさい。 ステートメントの先頭に「'(シングルクォーテーション)」を記述すると、その行はコメントになる。 ステートメントの先頭に「Rem」ステートメントを記述すると、その行はコメントになる。 ステートメントの途中に「'」を記述すると、それ以降から行末までの文字列がコメントになる。 行継続文字( _ )を用いてステートメントを複数行に分割している場合、行継続文字の後ろに続けてコメントを記述することができる。 None 33. リレーショナルデータベースの正規化の手順や用語に関する記述として、誤っているものはどれか。以下の選択肢より1つ解答しなさい。 他のフィールドの計算によって値が求められる導出フィールドは、データの整合性を保つために、必ずテーブル内に保存しておく必要がある。 第2正規化では、主に主キーの一部によって値が決まるフィールドを、別のテーブルに分離する。 第1正規化では、主に1つのレコードの中に繰り返し現れる項目をなくし、テーブルを整理する。 第3正規化では、主に主キー以外の項目によって値が決まる項目を、別のテーブルに分離する。 None 34. 変数の宣言において、データ型の指定を省略した場合(例:Dim A)に自動的に適用される変数の型はどれか。以下の選択肢より1つ解答しなさい。 Object(オブジェクト型) String(文字列型) Variant(バリアント型) Integer(整数型) None 35. 次のVBAコードを実行したとき、表示されるメッセージボックスの内容として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() MsgBox DCount("data3", "Table1", "data3 < 35") End Sub エラーが発生する 5 3 2 None 36. ウォッチウィンドウに関して正しいものはどれか。以下の選択肢より1つ解答しなさい。 ウォッチウィンドウは、設定した条件式に関係なく、常にコードを強制終了させる。 ウォッチウィンドウは、コード内の全ての変数を自動的に表示するために使用する。 ウォッチウィンドウは、プログラム実行後にのみ設定可能である。 ウォッチウィンドウは、設定した条件式が真になったときに、コードの実行を中断させることができる。 None 37. 次のコードは、フォーム"Form1"を削除する処理である。空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() DoCmd.【 ① 】 acForm, "Form1" MsgBox "完了" End Sub Delete DeleteObject CopyObject Rename None 38. VBEでの文字列の検索·置換やヘルプの利用に関して誤っているものはどれか。以下の選択肢より1つ解答しなさい。 「標準」ツールバーの「検索」ボタンをクリックするか、Ctrl+Fキーで検索ダイアログを表示できる。 キーワードにカーソルを置いた状態でF1キーを押すと、自動でそのキーワードの構文を入力することができる。 「検索」ダイアログの「対象」オプションで、現在のプロジェクト内全てのモジュールを検索対象にできる。 「編集」メニュー→「置換」を選択するか、Ctrl+Hキーで置換ダイアログを表示できる。 None 39. 次のコードは、九九の表のように1から9までの数値を掛け合わせた結果をイミディエイトウィンドウに出力する処理である。 空欄に当てはまる最も適切なものはどれか。 以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim i As Integer, j As Integer For i = 1 To 9 For j = 1 To 9 Debug.Print i * j 【 ① 】 Next i End Sub Loop Next j End For Next i None 40. リストボックスとコンボボックスに関する説明として、正しいものはどれか。以下の選択肢より1つ解答しなさい。 コンボボックスは、リストからの選択だけでなく、ユーザーが任意の文字列を直接入力する機能も備えている。 リストボックスは、ユーザーが文字を入力して新しい選択肢を動的に追加するためのコントロールである。 コンボボックスは複数のテーブルを結合して表示するための専用オブジェクトであり、フォーム上には配置できない。 リストボックスとコンボボックスでは、表示するデータを設定するためのプロパティ(RowSourceなど)が全く異なる。 None