プロが教えるわが家の防犯対策術!

いつもお世話になっております
SQLでリストビューに読み込む方法
★の部分をなにをすればよいか
わかる方教えてくれませんでしょぅか

With .ListItems.Add
.Text =★
.SubItems(1) =★
.SubItems(2) =★


Dim objCn As New ADODB.Connection
Dim objRS As ADODB.Recordset
Dim GYO As Long, COL As Long
Dim strSQL As String

With objCn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Extended Properties") = "Excel 8.0"
.Open ThisWorkbook.Path & "\" & ThisWorkbook.Name
End With

strSQL = ""
strSQL = strSQL & " SELECT "
strSQL = strSQL & " 顧客番号, 顧客名, 住所 "
strSQL = strSQL & " FROM"
strSQL = strSQL & " [顧客マスタ$]"

Set objRS = New ADODB.Recordset
Set objRS = objCn.Execute(strSQL)

With ListView1
.View = lvwReport
.Gridlines = True
.ForeColor = vbBlack
.FullRowSelect = True
.ColumnHeaders.Add , , "顧客番号", 70
.ColumnHeaders.Add , , "顧客名", 70
.ColumnHeaders.Add , , "住所", 70

Dim dataB
Dim val


With .ListItems.Add
.Text =
.SubItems(1) =
.SubItems(2) =
End With
Next

End With

objCn.Close
Set objCn = Nothing

A 回答 (2件)

どうして "Microsoft.Jet.OLEDB.4.0"(Excel~2003)を使用されているのかはわかりませんが。



Set objRS = objCn.Execute(strSQL)

With ListView1
.View = lvwReport
.Gridlines = True
.ForeColor = vbBlack
.FullRowSelect = True
.ColumnHeaders.Add , , "顧客番号", 70
.ColumnHeaders.Add , , "顧客名", 70
.ColumnHeaders.Add , , "住所", 70

Dim dataB
Dim val
'---------------------------
objRS.MoveFirst

Do Until dbres.EOF
With .ListItems.Add
.Text = objRS!顧客番号
.SubItems(1) = objRS!顧客名
.SubItems(2) = objRS!住所
objRS.MoveNext
End With
Loop
Next ' ★これは残骸?もっと前にFor~があるの?
'--------------------------
End With

検証してないのでダメでしたらごめんなさい。
    • good
    • 0
この回答へのお礼

いつもお世話になっております

すこし いじりました
うまくいきました。

ありがとうございます

お礼日時:2021/10/24 17:50

コードを見る感じ、objRSでデータを読み取ってるので、そちらを設定するのではないかと。


ADODB.RecordSetについての知識が必要です。Web検索すれば、やり方が見つかります。

あと、Excel VBAのデバッグ機能でobjRSとListView1をウォッチしてみることを、学習法としてお勧めします。
https://www.bing.com/search?q=Excel+VBA+How+to+w …
    • good
    • 0
この回答へのお礼

ありがとうございますありがとうございます

お礼日時:2021/10/24 17:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!