• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Kapalı bir dosyadaki kayıtları saymak

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,202
Excel Vers. ve Dili
Office 2013 İngilizce
Merhabalar,

Aşağıdaki kodlarla Kapalı bir dosyadan koşullu veri alabiliyorum...

Benim öğrenmek istediğim kayıtları sayabilmek,

yani bir koşuldan bağımsız "C:\TEMP\myLKSY.xls" dosyasında "Sayfa11" içerisinde "Adı" alanında toplam kaç satır (kayıt) var.

Kod:
........
.............
Set cnt = New ADODB.Connection

strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\TEMP\myLKSY.xls;" & _
"Extended Properties=""Excel 8.0;HDR=Yes"""

cnt.Open strConn

   For i = 2 To [U65536].End(3).Row

   Set rst = New ADODB.Recordset

    a = Range("U" & i).Value
  
    stsql = "SELECT * FROM [Sayfa11$]Where Adı='" & a & "'"

        rst.Open stsql, cnt, 1, 3

            s = rst("Soyad")

                Range("AI" & i).Value = s
 
                   stsql = ""
        
                  Set rst = Nothing
Next i
........
.............

İyi Çalışmalar.
 
Merhabalar

Aşağıdaki kodla, Recordset'e Sorgu ile aldığınız kayıt adedini görüntüleyebilirsiniz.

Kod:
'Diğer kodlarınız
...................
       rst.Open stsql, cnt, 1, 3
       
[COLOR=red]       With rst
          .MoveLast
           kayitadedi = .RecordCount
          .MoveFirst
       End With
       MsgBox kayitadedi & " adet kayıt var", vbInformation, "KAYIT ADEDİ"[/COLOR]
..............
'Diğer kodlarınız

Not : Rst'de cursor position'ı belirleyen parametreleri değiştirirseniz (1,3 olanlar) doğal olarak hata alırsınız. Mevcut yapı ile bir sorun çıkarmaz.
 
Sn fpc ilginize teşekkürler...

Aşağıdaki kodla, Recordset'e Sorgu ile aldığınız kayıt adedini görüntüleyebilirsiniz.

Kod:
'Diğer kodlarınız
...................
       rst.Open stsql, cnt, 1, 3
       
..............
'Diğer kodlarınız

Not : Rst'de cursor position'ı belirleyen parametreleri değiştirirseniz (1,3 olanlar) doğal olarak hata alırsınız. Mevcut yapı ile bir sorun çıkarmaz.

Kod:
 rst.Open stsql, cnt, 1, 3

Burada
Kod:
 stsql="SELECT * FROM [Sayfa11$].....

nasıl tanımlayacağız, hata veriyor yada ben genel kod içerinde uygun yere yazamadım.
 
Aldığınız hata nedir? Bunu tam olarak yazarsanız bir önerim olabilir. Belki de, sorgunuz Rs'e kayıt getirmiyor olabilir. Böyle olursa da bir hata kontrolü koymak gerekbilir...
 
Sn fpc;
kodları
Kod:
 stsql = ""
  Set rst = Nothing

den sonra yazmışız.


Kod:
 Set rst = New ADODB.Recordset
 "stsql="SELECT * FROM [Sayfa11$]"

rst.Open stsql, cnt, 1, 3
.....
deyince sorun çözüldü.

öğrenmek açısından
Kod:
  "rst.Open stsql, cnt, 1,3"

bu sondaki yazılan (1,3) ne amlam ifade eder? (1,5) olsa ne olur?

İyi Akşamlar..
 
Geri
Üst