- ベストアンサー
Excelのセルに入力した値からAccessの値を取得・表示したい
いつもお世話になります。 Excel2003にて、セルB3からB45にてユーザーIDを入力すると、入力されたIDからネットワーク上にあるMDBファイル(Access2003)のユーザー氏名をC3からC45のセルに表示する仕組みを作りたいのですが、以下のVBAを作成しましたがマクロを実行しても 「実行時エラー'13': 型が一致しません。」 とエラーが表示され、実際にセルにIDを入力してもユーザー氏名は表示されません。 エラー内容もどこの型が問題なのかも不明ですし、下記のコード自体もどこが間違いなのか皆様のご指摘をお願いいたします。 なお、MDBファイルのユーザーIDフィールドは数値型です。 Option Explicit Private Sub Worksheet_Activate() Dim UserID As Long Dim constr As String Dim con As New ADODB.Connection Dim rs1 As New ADODB.Recordset Dim sql1 As String With Range("B3:B45") .Value = UserID If UserID = "" Then .Offset(0, 1).Value = "" Else constr = "provider = Microsoft.Jet.OLEDB.4.0;Data Source = \\192.168.0.100\UserDB\userdb.mdb" con.Open constr sql1 = "select ユーザー氏名 where ユーザーID =" & UserID & ";" rs1.Open sql1, con If rs1.EOF Then MsgBox "入力したユーザーIDのユーザーはありません。", vbOKOnly + vbCritical, "ユーザーID入力エラー" .SetFocus Else .Offset(0, 1).Value = rs1!ユーザー氏名 End If End If End With End Sub
- みんなの回答 (3)
- 専門家の回答
お礼
ご回答ありがとうございました。 2回に渡ってわかりやすいご説明をいただき、おかげさまでこのエラーは解消することができました。 ただ、次のエラーが発生しまだ完成しておりませんが、自分で出来る限り調べてもなお、分からない時は再度ご質問をさせていただきます。 ありがとうございました。