Yapılan kayıt eklemeyi dbgridde en sona ekliyor

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Armani
Üye
Mesajlar: 104
Kayıt: 18 Mar 2004 05:32
Konum: Ankara

Yapılan kayıt eklemeyi dbgridde en sona ekliyor

Mesaj gönderen Armani »

Merhaba arkadaşlar.
Bir sorunum var. Yardımcı olursanız sevinirim.
başka bir programdan hazırladıgım database i (Mdb) kendi programımda kayıt ekleme yaptıgım zaman dbgrid de en alt satıra atıyor. Bir türlü istedigim satıra ekleme yapamıyorum. Biraz araştırdım, Mdb yi oluşturdugum zaman otomatik olarak kendi içinde bir sıra oluşturdugunu, çözümü olmadıgını söylediler.
Bu konuda sizlerin fikrinizi almak istedim.

Teşekkürler
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Doğrusu Access la fazla uğraşmadım fakat indeks olayı yoksa bu normaldir. Yani bir alana göre indekslersen olay çözülür. Yada TTable bileşeni yerine TQuery bileşeni ile kayıtları mdb den çekip DBGrid de order by ile sıralı çekip gösterebilirsin. Bu durumda da RequestLive i True yapamazsın. O halde TTable bileşeninden giriş yapıp Query ile görüntüleme yapmalısın. Her after posttan sonra da Query ni kapatıp açman gerekecek.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Armani
Üye
Mesajlar: 104
Kayıt: 18 Mar 2004 05:32
Konum: Ankara

Mesaj gönderen Armani »

Hocam günaydın
table kullanmadım Ado ve Query kullandım

Hocam aslında bir not daha söylersem belki başka bir fikir verirsiniz. Database de sıralı olması hiç önemli değil. Kullanıcının sadece Dbgrid de sıralı olarak görmesi gerekiyor. Dedigim gibi Mdb de sıralı olup olmaması hiç önemli değil.

Birde şu şekilde bir fikir geldi aklıma;
Bir kolon daha açsam ve o kolonada sıra numarası versem yinede access kendi verdigi sıra numarasını mı görür ?
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Gridde sıralı olmasını istediğinizi söylediğinize göre bu sıranın bir kriteri olmalı... Yani bir alana gore sılraı olmasını istediğinizi söyluyorsunuz anladığım kadarı ile.... Dolayısıyla o alana gore index oluşturmanız sıralı gormeniz icin yeterli... ilave bir alana da gerek kalmaz... Ama eğer sıralanmasını ona gore istediğiniz bir alan yok ise o zaman dediginiz gibi bir ilave alan ile bu dediginizi yapabilirsiniz...
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Armani
Üye
Mesajlar: 104
Kayıt: 18 Mar 2004 05:32
Konum: Ankara

Mesaj gönderen Armani »

hocam datalarım geregi mevcut herhangi bir kolona sıralama yaparsam amacıma ulaşamam.
Bu arada dediğim şeyi yaptım ama olmadı. yine en alta attı. ekledigim kolona(Sıra No) index yapınca benim indexi görmedi. Kendi indexini yaptı.

Yine aklıma bir fikir geldi . (Belki düşümcem saçma olabilir)
Bildiginiz gibi yeni kayıt girdikten sonra alt,üst satıra geçildigi zaman refresh yapıyor ve database e kayıt yapıyor ve ardından alt satıra atıyordu. Bu refrehs olayını kaldırmanın bir yolu varmı ? koysam (Database de sıralı olması önemli degil) işe yararmı?
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

dediğiniz yaptığınızda bence kesin olarak olmalı.... Yani sıralama icin bir kolon ekleyip tam olarak eklediğiniz satırda olması gereken bir değer verip bu degere gore sıralama kesinlikle calismali.... tabi Query'nin order by bolumunde bu alanı belirtmelisiniz... Ayrıca dikkat etmeniz gereken diger bir konu da bu alana vereceginiz degerlerin araları yeterince acik olmali... mesela 100, 200,300 gibi ya da 1000, 2000,30000 gibi ki aralara yapılan insertlerde ortadan bir deger verebilme imkanı olsun....
Bu yontemde insert isleminden sonra query'yi kapatıp acarak refresh etmeniz yeterlidir.... Sıra istediğiniz gibi olacaktır...
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Armani
Üye
Mesajlar: 104
Kayıt: 18 Mar 2004 05:32
Konum: Ankara

Mesaj gönderen Armani »

haklısın fahrettin abi
denedim oldu. Ama sıra numarasını aralıklı vermek güzel fikir. Ben olsam şimdi 1 den başlayarak numara verirdim yine olmazdı. :)

çok teşekkürler ilginize
Cevapla