前提・実現したいこと
VBAを使用して、「名前」のフォームから入力された姓と名を使って「MS_個人情報C」のクエリの情報と一致するデータを抽出し、結果をテキストボックスにリストとして表示するプログラムを作成するシステムを作っています。
ここでは、AccessのフォームとVBAコードを使用しています。
名前の姓だけを入力し、抽出を実行した際にメソッドまたはデータ メンバーが見つかりません (エラー 461)が発生しました。
発生している問題・エラーメッセージ
メソッドまたはデータ メンバーが見つかりません (エラー 461) ーーソースコードーー Me.txt抽出結果.Value = "抽出結果:" & vbCrLf の .Value = の所で止まってしまう ーーーーーーーーーー
該当のソースコード
vba
1Private Sub コマンド6_Click() 2 On Error GoTo ErrorHandler 3 4 Dim db As DAO.Database 5 Dim rs As DAO.Recordset 6 Dim strSQL As String 7 Dim lastName As String 8 Dim firstName As String 9 Dim queryPart As String 10 11 ' テキストボックスから入力された姓と名を取得 12 If Not IsNull(Me.txt姓.Value) Then 13 lastName = Trim(Me.txt姓.Value) 14 End If 15 16 If Not IsNull(Me.txt名.Value) Then 17 firstName = Trim(Me.txt名.Value) 18 End If 19 20 ' データベースへの接続(ファイル名は適宜変更してください) 21 Set db = CurrentDb() 22 23 ' クエリの基本部分を作成 24 strSQL = "SELECT * FROM MS_個人情報C WHERE " 25 26 ' 入力された姓と名に応じてクエリを作成 27 If lastName <> "" And firstName <> "" Then 28 ' 姓と名の両方が入力された場合のクエリ 29 queryPart = "([姓] = '" & lastName & "' AND [名] = '" & firstName & "')" 30 ElseIf lastName <> "" Then 31 ' 姓だけが入力された場合のクエリ 32 queryPart = "([姓] = '" & lastName & "')" 33 ElseIf firstName <> "" Then 34 ' 名だけが入力された場合のクエリ 35 queryPart = "([名] = '" & firstName & "')" 36 Else 37 ' 姓と名のどちらも入力されていない場合は終了 38 MsgBox "姓と名のいずれかを入力してください。", vbExclamation 39 Exit Sub 40 End If 41 42 ' クエリを完成させて実行 43 strSQL = strSQL & queryPart 44 Set rs = db.OpenRecordset(strSQL) 45 46 ' テキストボックスに抽出結果を表示 47 If Not rs.EOF Then 48 rs.MoveFirst 49 Me.txt抽出結果.Value = "抽出結果:" & vbCrLf 50 Do While Not rs.EOF 51 ' テキストボックスに氏名・姓・名・生年月日・性別・血液型を追加 52 Me.txt抽出結果.Value = Me.txt抽出結果.Value & rs("氏名") & "、" & rs("姓") & "、" & rs("名") & "、" & rs("生年月日") & "、" & rs("性別") & "、" & rs("血液型") & vbCrLf 53 rs.MoveNext 54 Loop 55 Else 56 Me.txt抽出結果.Value = "一致するデータはありませんでした。" 57 End If 58 59 ' レコードセットとデータベースをクローズ 60 rs.Close 61 db.Close 62 63 Set rs = Nothing 64 Set db = Nothing 65 66Exit Sub 67 68ErrorHandler: 69 MsgBox "エラーが発生しました:" & Err.Description, vbExclamation 70 Exit Sub 71End Sub
試したこと
ChatGPTを利用し、コードを入力し直してみたりしました。
・追記
ChatGPTを利用し、コードは現在のソースコードの通りになっております。
補足情報(FW/ツールのバージョンなど)
・Chat GPT 3.5
・Access 2007 - 2016 ファイル形式
・Windows10 pro 64bit
お忙しい中申し訳ございませんが宜しくお願いいたします。
その他、不明な点等ございましたら、お手数をお掛けしますが、ご質問をよろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー