Tüm Versiyonu Göster : Veri tabanındaki kayıtların sıralaması
Zeki Gürsoy
10-12-2006, 11:26
Merhaba,
Veri tabanındaki verilerin sıralamasını tablodaki kayıt sırasına göre almak istiyorum. "MoveFist" komutunun kullanımı nasıl olmalı.
Sub xxx()
Dim dbs As Database, rst As Recordset
Set dbs = OpenDatabase("C:\Documents and Settings\zgry\Desktop\vt1.mdb")
Set rst = dbs.OpenRecordset("SELECT * FROM Tablo1")
rst.MoveFirst ' İlk kayıta geçemiyoruz.
Do While Not rst.EOF
s = s + 1
Cells(s, 1) = rst!Ad
Cells(s, 2) = rst!tut
rst.MoveNext
Loop
dbs.Close
End Sub
rst.MoveFirst en başa gitmek istediğiniz tablonuz boşsa hata vermesi muhtemeldir fakat bunun dışında bir hata ile karşılaşıyorsanız aldığınız hatanın ne olduğunu numarası ile birlikte söylerseniz yardımcı olmaya çalışırım.
Zeki Gürsoy
10-12-2006, 13:03
Hata almıyorum. Verileri, tablodaki sıra düzeniyle almak istiyorum sadece.
Özür dilerim ben MoveFirst ile ilgili bir probleminiz olduğunu sanmıştım.
Öncelikle şunu söyleyeyimki sizin probleminizin MoveFirst ile ilgisi yok çünkü bu komut imleci tablonuzun başına konumlandırır.
Probleminizin çözümü için aklıma bir tek şey geliyor, tablonuzu oluştururken alfabetik sıralama yaptırmış olabilirsiniz. Tablonuzu tasarım görünümünde açın ve özellikler penceresinden sıralama yapılıp yapılmadığını kontrol edin eğer sıralama yapılmışsa kaldırın.
Zeki Gürsoy
10-12-2006, 13:30
İlginiz için teşekkürler.
Dediğiniz özelliği kontrol ettim, sıralı değil. Ayrıca tablom da sıralı değil. Neden en son kayıttan başlayarak geriye doğru veri getirdiğini hala çözemedim.
Sayın Anemos gerçekten ilginç bir şey
o zaman bizde işlemi tersten yaparak çözmeye çalışalım
MoveFirst yerine MoveLast
MoveNext yerine MovePrevious deneyin bakalım ne olacak.
Zeki Gürsoy
10-12-2006, 13:58
Hata iletisi geldi. İçeriği : "Run-time error '1004' Geçerli kayıt yok."
Sanırım en iyi sayfaya getirdikten sonra sıralama olacak. Ama bir çözümü varsa da onu da merak ediyorum.
Sayın Anemos
Son bir önerim daha var. Access dosyanız bozulmuş olabilir mi?
Access dosyanızdaki verileri yeni bir access dosyasına alın ve deneyin.
Olmuyorsa
Access dosyanızı sıkıştırarak eklerseniz elimden geleni yapmaya çalışırım.
Zeki Gürsoy
10-12-2006, 14:34
Sayın Anemos
Son bir önerim daha var. Access dosyanız bozulmuş olabilir mi?
Access dosyanızdaki verileri yeni bir access dosyasına alın ve deneyin.
Çok teşekkür ederim. Öneriniz işe yaradı ve sorun çözüldü.
suatsuphi
21-01-2007, 20:04
Set rst = dbs.OpenRecordset("SELECT * FROM Tablo1")
buraya şunu ekliyoruz order by ... asc
Set rst = dbs.OpenRecordset("SELECT * FROM Tablo1 order by SIRALAMAK_İSTEDİĞİN_SUTUN_İSMİ ASC")
vBulletin v3.7.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.