AccessTr.neT

Tam Versiyon: Listview Nesnesine Kapalı Dosyadan Veri Alma
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Değerli Hocalarım, Kıymetli Arkadaşlar Merhaba,

Kapalı bir Excel dosyasından listview nesnesine veri almak istiyorum.

Deneme.xlsm içindeki listview1 e 1111.xlsx kitabındaki verileri nasıl getirebilirim.

Şimdiden teşekkür eder, saygılar sunarım.
Çözüldü , teşekkürler..
kodlar aşağıdaki gibidir.

Kod:
Sub kayıtlar()
Dim conn As Object, rs As Object, sat As Long
Set conn = CreateObject("Adodb.connection")
Set rs = CreateObject("Adodb.recordset")
ListView1.ListItems.Clear
conn.Open ("provider=microsoft.ace.oledb.12.0;data source=" & ThisWorkbook.Path & _
        "\1111.xlsx;extended properties=""excel 12.0;hdr=yes"";")
sorgu = "select * from [Sipariş Listesi$]"

rs.Open sorgu, conn, 1, 1

ListView1.ListItems.Clear
Dim satir As Integer
    On Error Resume Next
    If Not rs.EOF Then
        Do While Not rs.EOF
Set umit = ListView1.ListItems.Add(, , rs.Fields("Sipariş No"))
umit.SubItems(1) = rs.Fields("Sipariş Tarih")
umit.SubItems(2) = Format(rs.Fields("Sipariş Platform"), "dd.mm.yyyy")
umit.SubItems(3) = rs.Fields("Hediye Çeki")
umit.SubItems(4) = rs.Fields("Kargo Barkodu")
umit.SubItems(5) = rs.Fields("Durum")
umit.SubItems(6) = rs.Fields("Fatura Adı")
umit.SubItems(7) = rs.Fields("Fatura Adresi")
umit.SubItems(8) = rs.Fields("Fatura İl")
umit.SubItems(9) = rs.Fields("Fatura İlçe")
umit.SubItems(10) = rs.Fields("Fatura Seri No")
umit.SubItems(11) = rs.Fields("Fatura Sıra No")
umit.SubItems(12) = rs.Fields("E-Fatura No")
umit.SubItems(13) = rs.Fields("E-Fatura Senaryo")
umit.SubItems(14) = rs.Fields("E-Fatura Tarihi")
umit.SubItems(15) = rs.Fields("E-Fatura ETN")
umit.SubItems(16) = rs.Fields("TC No")
umit.SubItems(17) = rs.Fields("Vergi No")
umit.SubItems(18) = rs.Fields("Vergi Dairesi")
umit.SubItems(19) = rs.Fields("Telefon")
umit.SubItems(20) = rs.Fields("E-Posta")
umit.SubItems(21) = rs.Fields("Üye No")
umit.SubItems(22) = rs.Fields("Ödeme Yöntemi")
umit.SubItems(23) = rs.Fields("Teslimat Adı")
umit.SubItems(24) = rs.Fields("Teslimat Adresi")
umit.SubItems(25) = rs.Fields("Teslimat İl")
umit.SubItems(26) = rs.Fields("Teslimat İlçe")
umit.SubItems(27) = rs.Fields("Toplam Kargo (TL)")
umit.SubItems(28) = rs.Fields("Toplam Tutar (TL)")
umit.SubItems(29) = rs.Fields("Ürün Kodu")
umit.SubItems(30) = rs.Fields("Ürün Adı")
umit.SubItems(31) = rs.Fields("Ürün Varyant 1")
umit.SubItems(32) = rs.Fields("Ürün Varyant 2")
umit.SubItems(33) = rs.Fields("Ürün Varyant 3")
umit.SubItems(34) = rs.Fields("Ürün KDV")
umit.SubItems(35) = rs.Fields("Ürün Adeti")
umit.SubItems(36) = rs.Fields("Ürün Fiyatı")
umit.SubItems(37) = rs.Fields("Ürün Toplam Tutarı")



  rs.MoveNext
            
Refresh.ListView1
        Loop
    End If
    rs.Close: con.Close
    Set rs = Nothing
End Sub
çözümü paylaştığınız için teşekkürler)
(29/10/2020, 21:26)berduş yazdı: [ -> ]çözümü paylaştığınız için teşekkürler)

Rica ederim üstad, birilerinin daha işine yarar umarım.
(29/10/2020, 21:21)kanakan52 yazdı: [ -> ]Çözüldü , teşekkürler..
kodlar aşağıdaki gibidir.

Kod:
Sub kayıtlar()
Dim conn As Object, rs As Object, sat As Long
Set conn = CreateObject("Adodb.connection")
Set rs = CreateObject("Adodb.recordset")
ListView1.ListItems.Clear
conn.Open ("provider=microsoft.ace.oledb.12.0;data source=" & ThisWorkbook.Path & _
        "\1111.xlsx;extended properties=""excel 12.0;hdr=yes"";")
sorgu = "select * from [Sipariş Listesi$]"

rs.Open sorgu, conn, 1, 1

ListView1.ListItems.Clear
Dim satir As Integer
    On Error Resume Next
    If Not rs.EOF Then
        Do While Not rs.EOF
Set umit = ListView1.ListItems.Add(, , rs.Fields("Sipariş No"))
umit.SubItems(1) = rs.Fields("Sipariş Tarih")
umit.SubItems(2) = Format(rs.Fields("Sipariş Platform"), "dd.mm.yyyy")
umit.SubItems(3) = rs.Fields("Hediye Çeki")
umit.SubItems(4) = rs.Fields("Kargo Barkodu")
umit.SubItems(5) = rs.Fields("Durum")
umit.SubItems(6) = rs.Fields("Fatura Adı")
umit.SubItems(7) = rs.Fields("Fatura Adresi")
umit.SubItems(8) = rs.Fields("Fatura İl")
umit.SubItems(9) = rs.Fields("Fatura İlçe")
umit.SubItems(10) = rs.Fields("Fatura Seri No")
umit.SubItems(11) = rs.Fields("Fatura Sıra No")
umit.SubItems(12) = rs.Fields("E-Fatura No")
umit.SubItems(13) = rs.Fields("E-Fatura Senaryo")
umit.SubItems(14) = rs.Fields("E-Fatura Tarihi")
umit.SubItems(15) = rs.Fields("E-Fatura ETN")
umit.SubItems(16) = rs.Fields("TC No")
umit.SubItems(17) = rs.Fields("Vergi No")
umit.SubItems(18) = rs.Fields("Vergi Dairesi")
umit.SubItems(19) = rs.Fields("Telefon")
umit.SubItems(20) = rs.Fields("E-Posta")
umit.SubItems(21) = rs.Fields("Üye No")
umit.SubItems(22) = rs.Fields("Ödeme Yöntemi")
umit.SubItems(23) = rs.Fields("Teslimat Adı")
umit.SubItems(24) = rs.Fields("Teslimat Adresi")
umit.SubItems(25) = rs.Fields("Teslimat İl")
umit.SubItems(26) = rs.Fields("Teslimat İlçe")
umit.SubItems(27) = rs.Fields("Toplam Kargo (TL)")
umit.SubItems(28) = rs.Fields("Toplam Tutar (TL)")
umit.SubItems(29) = rs.Fields("Ürün Kodu")
umit.SubItems(30) = rs.Fields("Ürün Adı")
umit.SubItems(31) = rs.Fields("Ürün Varyant 1")
umit.SubItems(32) = rs.Fields("Ürün Varyant 2")
umit.SubItems(33) = rs.Fields("Ürün Varyant 3")
umit.SubItems(34) = rs.Fields("Ürün KDV")
umit.SubItems(35) = rs.Fields("Ürün Adeti")
umit.SubItems(36) = rs.Fields("Ürün Fiyatı")
umit.SubItems(37) = rs.Fields("Ürün Toplam Tutarı")



  rs.MoveNext
           
Refresh.ListView1
        Loop
    End If
    rs.Close: con.Close
    Set rs = Nothing
End Sub
Kod:
rs.Fields("Sipariş No")
yerine alttaki gibi yazmazsanız eğer hücrelerde boş varsa kayma olup karışıyor diye biliyorum tecrübelerimden.
Tabii diğerleride aynı.
Kod:
IIf(IsNull(rs.Fields("Sipariş No")) = True, " ",rs.Fields("Sipariş No")
(30/10/2020, 01:44)feraz yazdı: [ -> ]
(29/10/2020, 21:21)kanakan52 yazdı: [ -> ]Çözüldü , teşekkürler..
kodlar aşağıdaki gibidir.

Kod:
Sub kayıtlar()
Dim conn As Object, rs As Object, sat As Long
Set conn = CreateObject("Adodb.connection")
Set rs = CreateObject("Adodb.recordset")
ListView1.ListItems.Clear
conn.Open ("provider=microsoft.ace.oledb.12.0;data source=" & ThisWorkbook.Path & _
        "\1111.xlsx;extended properties=""excel 12.0;hdr=yes"";")
sorgu = "select * from [Sipariş Listesi$]"

rs.Open sorgu, conn, 1, 1

ListView1.ListItems.Clear
Dim satir As Integer
    On Error Resume Next
    If Not rs.EOF Then
        Do While Not rs.EOF
Set umit = ListView1.ListItems.Add(, , rs.Fields("Sipariş No"))
umit.SubItems(1) = rs.Fields("Sipariş Tarih")
umit.SubItems(2) = Format(rs.Fields("Sipariş Platform"), "dd.mm.yyyy")
umit.SubItems(3) = rs.Fields("Hediye Çeki")
umit.SubItems(4) = rs.Fields("Kargo Barkodu")
umit.SubItems(5) = rs.Fields("Durum")
umit.SubItems(6) = rs.Fields("Fatura Adı")
umit.SubItems(7) = rs.Fields("Fatura Adresi")
umit.SubItems(8) = rs.Fields("Fatura İl")
umit.SubItems(9) = rs.Fields("Fatura İlçe")
umit.SubItems(10) = rs.Fields("Fatura Seri No")
umit.SubItems(11) = rs.Fields("Fatura Sıra No")
umit.SubItems(12) = rs.Fields("E-Fatura No")
umit.SubItems(13) = rs.Fields("E-Fatura Senaryo")
umit.SubItems(14) = rs.Fields("E-Fatura Tarihi")
umit.SubItems(15) = rs.Fields("E-Fatura ETN")
umit.SubItems(16) = rs.Fields("TC No")
umit.SubItems(17) = rs.Fields("Vergi No")
umit.SubItems(18) = rs.Fields("Vergi Dairesi")
umit.SubItems(19) = rs.Fields("Telefon")
umit.SubItems(20) = rs.Fields("E-Posta")
umit.SubItems(21) = rs.Fields("Üye No")
umit.SubItems(22) = rs.Fields("Ödeme Yöntemi")
umit.SubItems(23) = rs.Fields("Teslimat Adı")
umit.SubItems(24) = rs.Fields("Teslimat Adresi")
umit.SubItems(25) = rs.Fields("Teslimat İl")
umit.SubItems(26) = rs.Fields("Teslimat İlçe")
umit.SubItems(27) = rs.Fields("Toplam Kargo (TL)")
umit.SubItems(28) = rs.Fields("Toplam Tutar (TL)")
umit.SubItems(29) = rs.Fields("Ürün Kodu")
umit.SubItems(30) = rs.Fields("Ürün Adı")
umit.SubItems(31) = rs.Fields("Ürün Varyant 1")
umit.SubItems(32) = rs.Fields("Ürün Varyant 2")
umit.SubItems(33) = rs.Fields("Ürün Varyant 3")
umit.SubItems(34) = rs.Fields("Ürün KDV")
umit.SubItems(35) = rs.Fields("Ürün Adeti")
umit.SubItems(36) = rs.Fields("Ürün Fiyatı")
umit.SubItems(37) = rs.Fields("Ürün Toplam Tutarı")



  rs.MoveNext
           
Refresh.ListView1
        Loop
    End If
    rs.Close: con.Close
    Set rs = Nothing
End Sub
Kod:
rs.Fields("Sipariş No")
yerine alttaki gibi yazmazsanız eğer hücrelerde boş varsa kayma olup karışıyor diye biliyorum tecrübelerimden.
Tabii diğerleride aynı.
Kod:
IIf(IsNull(rs.Fields("Sipariş No")) = True, " ",rs.Fields("Sipariş No")


@feraz hocam selamlar,

Yoğunluktan ancak bakabildim. Dediğiniz gibi revize edeceğim.

sevgiler, saygılar..