Veri tabanındaki kayıtların sıralaması [Archive] - Excel Forum

PDA

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

alpi
10-12-2006, 12:59
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.

alpi
10-12-2006, 13:11
Ö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.

alpi
10-12-2006, 13:45
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.

alpi
10-12-2006, 14:17
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")


Özel Arama