Merhabalar;
Bağlı Excel tablosundan yararlanarak bir form kullanıyorum. Excel tablosundaki satır sayısı belirsizdir. 10 satırda 1000 satırda olabilir.
Bu form ilk açıldığında bağlı Excel tablosundaki ilk 20 kaydın görünmesini daha sonra 1 dakika bekleyip sonraki 20 kaydın görünmesini ve bu sıra ile tüm kayıtların 20 şerli gruplar halinde 1 dakikalık beklemelerle listelenmesini istiyorum. bu işlem için sonraki sayfa gibi bir buton kullanmak istemiyorum.
yardımlarınız için teşekkür ederim.
Örnek ilişiktedir.
Bağlı excel tablosudan kayıt listesini gruplandırma
Ben bir örnek hazırladım. Öncelikle 20lim adında bir ekleme sorgusu ile 20li tablosuna Excel sayfasından verileri çekiyoruz.
Sonra en başa dönerken yeniden tablodaki verileri güncelliyoruz.
Sonra 20 şerli olarak gösteriliyor.
Kolay Gelsin.
Sonra en başa dönerken yeniden tablodaki verileri güncelliyoruz.
Sonra 20 şerli olarak gösteriliyor.
Kolay Gelsin.
komşuda dülger mi var geliyor keser sesi,
ustalar konuşunca çıraklar keser sesi.
ustalar konuşunca çıraklar keser sesi.
Sayın hocam;
Elinize, emeğinize sağlık harika olmuş.
Ancak bu döngü sonsuza kadar devam ediyor.
Bir tur döndükten sonra bitmesi için ne yapmalıyım.
Çok teşekkürler.
Elinize, emeğinize sağlık harika olmuş.
Ancak bu döngü sonsuza kadar devam ediyor.
Bir tur döndükten sonra bitmesi için ne yapmalıyım.
Çok teşekkürler.
Forum form_Timer bölümünü aşağıdaki eklemeyi yapınca sorun halledildi. Çok ama çok teşekkürler.
Private Sub Form_Timer()
'On Error Resume Next
If basla = 1 Then
DoCmd.SetWarnings False
DoCmd.RunSQL "Delete * from 20li"
DoCmd.OpenQuery "20lim"
End If
Dim kseti As ADODB.Recordset
Dim Sql As String
sql = "select * from 20li where sno between " & basla & " And " & bitir
Set kseti = New ADODB.Recordset
kseti.Open sql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Do While Not kseti.EOF
kseti.MoveNext
Loop
DoEvents
If basla <> 1 Then
Set Me.Recordset = kseti
Else
DoCmd.Close
End If
kseti.Close
If bitir > DCount("sno", "20li") Then
basla = 1
bitir = 20
Else
basla = basla + 20
bitir = bitir + 20
End If
End Sub
Private Sub Form_Timer()
'On Error Resume Next
If basla = 1 Then
DoCmd.SetWarnings False
DoCmd.RunSQL "Delete * from 20li"
DoCmd.OpenQuery "20lim"
End If
Dim kseti As ADODB.Recordset
Dim Sql As String
sql = "select * from 20li where sno between " & basla & " And " & bitir
Set kseti = New ADODB.Recordset
kseti.Open sql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Do While Not kseti.EOF
kseti.MoveNext
Loop
DoEvents
If basla <> 1 Then
Set Me.Recordset = kseti
Else
DoCmd.Close
End If
kseti.Close
If bitir > DCount("sno", "20li") Then
basla = 1
bitir = 20
Else
basla = basla + 20
bitir = bitir + 20
End If
End Sub
Konuyu Okuyanlar: 1 Ziyaretçi