Recordset kayıt sayısı belli bir değerden az olduğunda döngü işlemi hk.

tamer42

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

Aşağıdaki kodda; eğer recordset kayıt sayısı 10 dan küçükse ( 0 dahil) ; rNumber ifadesi olarak "sayac" değerini alması sağlanabilir mi?

Örnek: recordset kayıt sayısı 5 olsun;
1- 5' arası rNumber = rst(0), 6 ile 10 arasında recordset kayıt nesnesinde rNumber değerini bulamayacağı için bunun yerine döngüde yer sayac değerini kullanacak..

özetle döngü recordset kayıt sayısı kadar değil, 10 sayacı kadar olacak

Bu şekilde döngü nasıl düzenlenebilir ?
desteğiniz için şimdiden teşekkürler.

Kod:
    Set rst = New ADODB.Recordset
    SQL = " SELECT * FROM " & tableName
   SQL = SQL & " Where ID =1"
    rst.Open SQL, cn, 1, 3
   TotalRecord = rst.RecordCount

sayac = 1

 Do While Not (rst.EOF)
        
         rNumber = rst(0)
         Sayfa1.Cells(sayac + 1, 2).Value = rNumber
        rst.MoveNext
        sayac = sayac + 1

Loop
 
Katılım
2 Temmuz 2014
Mesajlar
242
Excel Vers. ve Dili
2021 Türkçe, 64bit
ne yapılmasını istediğinizi anlamadım, 10 dan küçükse diyelim ki 5 kayıt var, kayıtlar bitince 6..10 arası satır mı eklenecek? öyleyse aşağıdaki gibi bir düzenleme işinize yarayabilir.
Kod:
    SQL = " SELECT * FROM " & tableName
    SQL = SQL & " Where ID =1"
Set rst = New ADODB.Recordset 
    rst.Open SQL, cn, 1, 3
    TotalRecord = rst.RecordCount

sayac = 1

Do While Not (rst.EOF)
       
    rNumber = rst(0)
    Sayfa1.Cells(sayac + 1, 2).Value = rNumber
    rst.MoveNext
    sayac = sayac + 1

Loop
for x=sayac to 10
     rNumber = x
     Sayfa1.Cells(sayac + 1, 2).Value = rNumber
next x
 
Son düzenleme:
Katılım
12 Aralık 2015
Mesajlar
1,214
Excel Vers. ve Dili
Türkçe Ofis 2007
Genellikle ID alanı benzersiz olur. Bu alanı " Where ID =1" şeklinde kısıtlarsanız tek kayıt gelir.
Ayrıca ID alanı birinci alansa rst(0) 1 olur.
Sorunuza biraz daha açıklık getirin.
 
Son düzenleme:

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,154
Excel Vers. ve Dili
Office 2013 İngilizce
ne yapılmasını istediğinizi anlamadım, 10 dan küçükse diyelim ki 5 kayıt var, kayıtlar bitince 6..10 arası satır mı eklenecek? öyleyse aşağıdaki gibi bir düzenleme işinize yarayabilir.
Kod:
    SQL = " SELECT * FROM " & tableName
    SQL = SQL & " Where ID =1"
Set rst = New ADODB.Recordset
    rst.Open SQL, cn, 1, 3
    TotalRecord = rst.RecordCount

sayac = 1

Do While Not (rst.EOF)
      
    rNumber = rst(0)
    Sayfa1.Cells(sayac + 1, 2).Value = rNumber
    rst.MoveNext
    sayac = sayac + 1

Loop
for x=sayac to 10
     rNumber = x
     Sayfa1.Cells(sayac + 1, 2).Value = rNumber
next x
teşekkürler Hocam
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,154
Excel Vers. ve Dili
Office 2013 İngilizce
Genellikle ID alanı benzersiz olur. Bu alanı " Where ID =1" şeklinde kısıtlarsanız tek kayıt gelir.
Ayrıca ID alanı birinci alansa rst(0) 1 olur.
Sorunuza biraz daha açıklık getirin.
tek kayıt gelmesinde bir sıkıntı yok aslında;
ID yerinde farklı bir alan adı düşünebilirsiniz.

iyi çalışmalar.
 
Katılım
2 Temmuz 2014
Mesajlar
242
Excel Vers. ve Dili
2021 Türkçe, 64bit
Rica ederim
İyi çalışmalar
 
Üst