【ランダム順出題】Access VBA ベーシック 模擬問題 Access VBA ベーシック 模擬問題 模擬試験 2026.04.23 制限時間は50分です。 問題の出題順や選択肢の並び順は、サイト側で自動でシャッフルされます。 準備が整い次第、ボタンを押して試験を開始してください。 1. 以下コードを実行した際の結果として、最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 ただし、Accessデータベース内に「Table1」というテーブルが存在し、C:¥Temp¥フォルダが事前に作成されているものとします。 Sub Exam1() DoCmd.TransferSpreadsheet acExport, , "Table1", "C:¥Temp¥Table1.xlsx", True MsgBox "完了" End Sub Accessデータベース内の「Table1」テーブルが、C:¥Temp¥Table1.xlsxとしてExcelファイルにエクスポートされるものである。 C:¥Temp¥フォルダが存在しないため、実行時エラーが発生するものである。 C:¥Temp¥Table1.xlsxのExcelファイルの内容が、Accessデータベースの「Table1」テーブルにインポートされるものである。 コードの実行時にコンパイルエラーが発生するものである。 None 2. 次のVBAコードを実行したとき、表示されるメッセージボックスの内容として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() MsgBox Format(#12/5/2023#, "yyyy/mm/dd") End Sub 2023-12-05 2023/12/05 05/12/2023 2023/12/5 None 3. For Each...Next ステートメントにおいて、繰り返し処理の対象として指定できるグループと、その際に要素変数として指定するデータ型の組み合わせに関する記述として、正しいものはどれか。以下の選択肢より1つ解答しなさい。 対象には「テーブル」や「クエリ」を指定でき、要素変数はすべて「バリアント型」を指定する。 対象には「配列」のみを指定でき、要素変数は常に「バリアント型」を指定する。 対象には「配列」や「コレクション」を指定でき、対象が配列の場合は「文字列型(String)」、コレクションの場合は「オブジェクト型」を指定しなければならない。 対象には「配列」や「コレクション」を指定でき、対象が配列の場合は「バリアント型」、コレクションの場合は「バリアント型あるいはオブジェクト型」を指定する。 None 4. 以下のVBAコードは、Accessデータベースのテーブルから特定の条件を満たすレコードを抽出するためのSELECTステートメントを示しています。 空欄に当てはまる最も適切な語句を以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As String N = "SELECT * FROM T競技 【 ① 】 利用料金 > 500; " CurrentDb.QueryDefs("Q競技").SQL = N DoCmd.OpenQuery "Q競技” End Sub WHERE GROUP BY ORDER BY HAVING None 5. SELECTステートメントで、重複するレコードを排除して1件にする場合に使用する語句はどれか。以下の選択肢より1つ解答しなさい。 DISTINCT IN GROUP BY LIKE None 6. 次のコードは「Table1」テーブルをデータシートビューで開く例である。 空欄に当てはまる最も適切な語句はどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() DoCmd.OpenTable "Table1", 【 ① 】,acReadOnly End Sub acDesign acViewDesign acViewNormal acViewPreview None 7. 以下のコードを実行した際の結果として最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 ただし、InputBoxには文字列の「B」が入力されたものと仮定します。 Sub Exam1() Dim N As String N = InputBox(”成績をアルファベットで入力してください (A, B, C) ”) SELECT Case N Case ”A” MsgBox ”素晴らしい成績です!” Case “B”, “C” MsgBox “良い成績です。” Case Else MsgBox “その他の成績です。” End SELECT End Sub コンパイルエラーが発生する。 コードは正常に実行され、メッセージボックスに「その他の成績です。」と表示される。 コードは正常に実行され、メッセージボックスに「素晴らしい成績です!」と表示される。 コードは正常に実行され、メッセージボックスに「良い成績です。」と表示される。 None 8. 次のコードは、指定した条件を使って、次のレコードを検索する処理である。 空欄に当てはまる最も適切なメソッドはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() DoCmd.GoToControl "data2" DoCmd.FindRecord "D", acStart DoCmd.【 ① 】 End Sub FindNext FindContinue GoToControl SearchNext None 9. 以下のコードを実行した際の結果として、最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim A As Long A = 30/2 If A > 10 Then MsgBox "入力値は10より大きい。" End If End Sub コンパイルエラーが発生する。 コードは正常に実行されるが、メッセージボックスは何も表示されない。 実行時エラーが発生する。 コードは正常に実行され、メッセージボックスに「入力値は10より大きい。」と表示される。 None 10. フォーム上のボタンを押して変更されるプロパティの説明として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Private Sub btn1_Click() With Me.txt1 .Value = "VBA" .ForeColor = vbRed End With End Sub フォームのタイトルと、その文字色が変更される。 テキストボックス「txt1」の値と、その文字色が変更される。 エラーが発生して何も変更されない。 テキストボックス「txt1」の値と、その背景色が変更される。 None 11. 次のコードは、変数を宣言しメッセージを表示する処理である。空欄に当てはまる最も適切なものはどれか。適切な語句を解答しなさい。 Sub Exam1() N As String N = "VBA" MsgBox N End Sub 12. 次のコードは、メッセージを表示する処理です。なおコード内にはコメントを記述しています。 空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() MsgBox "Hello" 【 ① 】これはメッセージ表示です。 End Sub + : ' " None 13. 次のVBAコードを実行したとき、メッセージボックスに表示される結果として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() MsgBox 10/( 5 * 2 ) End Sub 10 4 1 0 None 14. 次のVBAコードを実行したとき、表示されるメッセージボックスの内容として正しいものはどれか。 以下の選択肢より1つ解答しなさい。 Sub Exam1() MsgBox DateDiff("yyyy", #4/1/2020#, #4/1/2023#) End Sub 2023 3 1095 365 None 15. 以下コードを実行した際、メッセージボックスに表示される結果として最も適切なものはどれか。 選択肢から1つ解答しなさい。 Sub Exam1() Dim N As Variant N = Array("V", "B", "A") MsgBox LBound(N) End Sub メッセージボックスに「1」と表示される。 メッセージボックスに「0」と表示される。 実行時エラーが発生する。 メッセージボックスに「-1」と表示される。 None 16. VBEのコードウィンドウに表示される「オブジェクトボックス」に関する説明として、最も適切なものはどれか。 以下の選択肢より1つ解答しなさい。 イベントプロシージャに関連付けられているオブジェクト名を表示する。 現在のプロジェクトにあるすべてのモジュールを階層構造で表示する。 現在カーソルのあるプロシージャのみを表示する。 実行中のプロシージャ内にある、すべての変数の値を確認できる。 None 17. 以下のVBAコードは、Accessレポートのセクションが印刷プレビューされる際にデータを判別する処理を行うイベントのコードです。 空欄に当てはまる最も適切なイベント名を以下の選択肢より1つ解答しなさい。 Private Sub ページヘッダーセクション_【 ① 】(Cancel As Integer,FormatCount As Integer) Me.PrintSection = False MsgBox "設定完了" End Sub Layout Format Print Render None 18. 次のコードは、数値として扱われている「12345」を、文字列型のデータに変換して変数に格納する処理である。 空欄に当てはまる最も適切な関数はどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As String N = 【 ① 】(12345) MsgBox TypeName(N) End Sub CStr CInt CDate CLng None 19. 次のコードは、指定した数のスペースを作成し、文字列の間に挿入する処理である。空欄に当てはまる最も適切な関数はどれか。適切な語句を解答しなさい。 Sub Exam1() MsgBox "Access" & (5) & "VBA" End Sub 20. テーブルの正規化に関する記述として、正しいものはどれか。以下の選択肢より1つ解答しなさい。 正規化とは、データの重複をなくし、矛盾が生じないようにテーブルを分割して整理することである。 正規化されたデータベースでは、他のテーブルとのリレーションシップ(関連付け)は不要になる。 正規化を行う主な目的は、1つのテーブルにすべての情報を集約することである。 正規化を進めるとテーブルの数は減り、データ管理が単純になる。 None 21. 以下のコードを実行した際、フォームの左端に表示されるレコードセレクタの表示/非表示を切り替えます。空欄に当てはまる最も適切なプロパティを以下の選択肢より1つ解答しなさい。 Private Sub btn1_Click() Me.【 ① 】= False MsgBox “レコードセレクタを非表示にしました。” End Sub RecordSet RecordSelectors SetFocus RecordSource None 22. 次のVBAコードを実行したときの実行結果として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As String DoCmd.SetWarnings False N = "UPDATE T競技 SET 利用料金 = Null" DoCmd.RunSQL N DoCmd.SetWarnings True MsgBox "完了" End Sub 「T競技」のすべてのレコードにおいて、「利用料金」フィールドの値がNull値に更新される。 「T競技」の最初の1レコードのみ、「利用料金」フィールドの値がNull値に更新される。 構文エラーとなる。 実行しても Null値に更新できない。 None 23. 乱数を使用する際、乱数を初期化して、実行するたびに「1から10」の乱数が発生するようにするために使用する関数はどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As Integer 【 ① 】 N = Int((10 - 1 + 1) * Rnd + 1) MsgBox "本日のラッキーナンバーは " & N & " です!" End Sub Round Randomize InitRandom Fix None 24. 以下のコードはフォームに配置された「btn1」ボタンをクリックして、フォームのソース(参照元)を設定するコードである。 空欄に当てはまる最も適切なプロパティ名はどれか。以下の選択肢より1つ解答しなさい。 なおAccessフォームモジュールに記述されていると仮定する。 Private Sub btn1_Click() Me.【 ① 】 = "Product Master2" MsgBox "フォームのレコードソースがProduct Master2に変更されました。" End Sub RecordSource RowSource Name Caption None 25. 以下の文章はAccessのデータ型について説明したものである。空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 金額などの計算を行うための数値を格納するデータ型は【 ① 】である。 数値型 通貨型 オートナンバー型 OLEオブジェクト型 None 26. Access VBAにおける「コントロール」に関する説明として、最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 フォームやレポートの元になるデータを設定するためのプロパティである。 VBAのプログラムコードを格納するための特別なモジュールである。 データベース内のテーブルに保存されている個々のレコードのことである。 フォームやレポート内に配置されるテキストボックスやコンボボックスなどの部品である。 None 27. テーブルのフィールドを主キーに設定できない条件(状態)として正しいものはどれか。以下の選択肢より1つ解答しなさい。 フィールドのデータ型が短いテキスト型である。 フィールドにNull値が含まれている。 複数のフィールドを組み合わせて指定している。 他のレコードの値と重複していない。 None 28. 次のVBAコードを実行したとき、表示されるメッセージボックスの内容として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() Dim N As Integer N = 0 Do While N > 0 MsgBox N N = N-1 Loop End Sub エラーが発生する。 メッセージは表示されない。 ループが無限に続きメッセージが何度も表示される。 0が1回表示される。 None 29. VBEのデバッグ作業でステップインを実行するショートカットキーはどれか。以下の選択肢より1つ解答しなさい。 Ctrl+Jキー Ctrl+Breakキー F8キー Ctrl+F8キー None 30. 次のコードは、レポート"Report1"を選択しアクティブにする処理である。空欄に当てはまる最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() DoCmd.SelectObject 【 ① 】, "Report1" End Sub acReport Report acQuery acTable None 31. 次のVBAコードを実行したときの実行結果として正しいものはどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() MsgBox Forms("Form1").txt1.Value End Sub テキストボックスは参照できないため、エラーが発生する。 「txt1」という文字列そのものが表示される。 テキストボックス「Form1」の値が表示される。 フォーム「Form1」内のテキストボックス「txt1」内の値が表示される。 None 32. Accessのフォームで、キーボードのANSIキー(アルファベットや数字などの標準的なキー)が押されたときに発生するイベントの順番として、正しいものはどれか。以下の選択肢より1つ解答しなさい。 KeyDown → KeyPress → Change → KeyUp KeyDown → Change → KeyPress → KeyUp Change → KeyDown → KeyPress → KeyUp KeyPress → KeyDown → Change → KeyUp None 33. イベントプロシージャをVisual Basic Editor (VBE) から作成する際の手順に関する記述として、最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 イベントプロシージャを作成したいフォームをデザインビューで開き、プロパティシートの「その他」タブからイベントを選択し、「ビルド」ボタンをクリックする。 VBEのツールバーにある「イベント作成」ボタンをクリックし、リストからイベントを選択すると自動的にコードが生成される。 VBEで、イベントプロシージャを作成するフォームまたはレポートのモジュールを選択し、「オブジェクト」ボックスから対象のオブジェクトを選び、次に「プロシージャ」ボックスから作成したいイベントを選択する。 VBEを起動後、直接「挿入」メニューから「イベントプロシージャ」を選択し、表示されるダイアログでフォームとイベントを指定する。 None 34. Accessのクエリの種類に関する記述として、誤っているものはどれか。以下の選択肢より1つ解答しなさい。 パススルークエリやユニオンクエリは、SQLクエリと呼ばれる種類に含まれる。 選択クエリは、主にデータを抽出するクエリである。 アクションクエリは、テーブルなどのデータ変更を行うクエリである。 クロス集計クエリは、テーブルなどのデータを変更するアクションクエリの一種である。 None 35. データ型の格納に関する文章について正しいものはどれか。以下の選択肢より1つ解答しなさい。 Date型は、「True」または「False」の論理値のみである。 String型は、0〜255の数値である。 Boolean型は、日付と時刻である。 Long型は、-2,147,483,648〜2,147,483,647の整数である。 None 36. 「配列」に関する記述として、最も適切なものはどれか。以下の選択肢より1つ解答しなさい。 プログラムの実行中に変化する値を一つだけ一時的に格納するためのメモリ領域である。 異なるデータ型の値を複数、まとめて格納できる特別なデータ構造である。 値を変更できない固定されたデータを、プログラム内で繰り返し利用するための名前である。 複数の値を区切られたマス目に格納し、インデックス番号で個々の要素を操作できる。 None 37. 次のコードは、指定したコントロールに移動しフォーカスのあるフィールド全体で「30」という文字列と一致するレコードを検索する処理である。 空欄に当てはまる最も適切な定数はどれか。以下の選択肢より1つ解答しなさい。 Sub Exam1() DoCmd.GoToControl "data3" DoCmd.FindRecord "30", 【 ① 】 MsgBox "完了" End Sub acAll acEntire acAnywhere acStart None 38. 以下のコードは、Accessのフォームがレコードが表示される際に実行されるイベントプロシージャです。 空欄に当てはまる最も適切なイベント名を以下の選択肢より1つ解答しなさい。 Private Sub Form_【 ① 】() MsgBox "完了" End Sub Activate Unload Open Load None 39. 以下のコードを実行した際、リストボックスに表示される列数を設定します。 空欄に入る最も適切なプロパティを以下の選択肢より1つ解答しなさい。 なお list1はリストボックスのことです。 Private Sub btn_Click() Me.list1.【 ① 】= 2 Me.list1.RowSourceType = "Table/Query" Me.list1.RowSource = "T競技" MsgBox "リストボックスの表示列数を2列に設定しました。" End Sub RowCount CountColumn ColumnCount ColumnsCount None 40. 以下のコードにおいて、SQLのWHERE句でBetween…And演算子を使用して販売価格の範囲指定を行うSQL文と同じ意味になるように、空欄に当てはまる適切な演算子の組み合わせを選びなさい。 Sub Exam1() Dim N As String N = "SELECT * FROM T競技 WHERE 利用料金 【 ① 】 300 And 利用料金【 ② 】500; " CurrentDb.QueryDefs("Q競技").SQL = N DoCmd.OpenQuery “Q競技” End Sub 【 ① 】− >【 ② 】− < 【 ① 】− >= 【 ② 】− <= 【 ① 】− Is 【 ② 】− Or 【 ① 】− From 【 ② 】− To None