Skip to main content

AccessTr.neT


Sıra no düzenleme hakkında

Sıra no düzenleme hakkında

Çözüldü #7
İgi ve yardımlarınız için teşekkür ederim.. Sledgeab hocamın yaptığı şekliyle oldu gibi ancak küçük bir ayrıntı kaldı.. Bu sorgu ile sadece form ve sorguda istediğim gibi sıralamayı yapıyor ama tabloda gerekli güncellemeyi yapmıyor. tablodaki kayıtlarda silinmiş olan kaydın nıra nosunu yine atlıyor..mesela sıra no 3 deki kaydı sildiğim zaman 1,2,4,5 şeklinde kalıyor..tabloyuda güncelletebilirmiyiz? sıra numarasını =DMax("[Sıra No]";"Pckasa")+1 ile yaptırdığım için tabloyu güncelleyemediğim zaman yeni kayıt dediğimde en son kayıt numarasının +1 ini veriyor.. aradan silinen kayıt numarası atladığı içinde yanlış numara vermiş oluyor..
Son Düzenleme: 05/02/2012, 14:41, Düzenleyen: perisanoglu.
Cevapla
Çözüldü #8
Sn perisanoglu;
SıraNO'yu anladığım kadarıyla tablonuzda göstermek istiyorsunuz. Bu yanlıştır. Her bir kaydın kimliğini "Id" alanında belirtmişsiniz. Tekrar bir id gibi SıraNO alanı gereksiz ve karıştırıcıdır.
Ama her zaman 1,2,3,... diye sıralı durmasını istiyorsanız bunu sorguda yapmalısınız. Tabloda olmamalı.
Kayıt eklerken Id en son hangi sayıda idiyse Id'e +1 ekleyerek devam etmesi doğru olur.
Örneğin bir listede herzaman 1,2,3,.... diye sıralı olarak görünmesini isterseniz kaydı sildikten veya yeni kayıt ekledikten sonra listeyi requery yapın ( Liste0.requery ) Requery komutu ile listeniz otomatik olarak yeniden sıralanır.
Yoksa Id:1,2,3,4,5,6,7,8 olan 8 kayıttan 3 olanı silip, sonra yeni kayıt ekleyince bu yeni kaydın ( Id=9 olacak ve ) SıraNO=3 olsun derseniz bu yanlış bir yol olur.
Saygılar, iyi çalışmalar.
*********
Kod, formül vs bilmek önemlidir ama mantığını yürütebilmek, nerede ve nasıl kullanılacağını bilmek daha önemlidir.
Cevapla
Çözüldü #9
(05/02/2012, 16:21)ayhan2122 yazdı: Sn perisanoglu;
SıraNO'yu anladığım kadarıyla tablonuzda göstermek istiyorsunuz. Bu yanlıştır. Her bir kaydın kimliğini "Id" alanında belirtmişsiniz. Tekrar bir id gibi SıraNO alanı gereksiz ve karıştırıcıdır.
Ama her zaman 1,2,3,... diye sıralı durmasını istiyorsanız bunu sorguda yapmalısınız. Tabloda olmamalı.
Kayıt eklerken Id en son hangi sayıda idiyse Id'e +1 ekleyerek devam etmesi doğru olur.
Örneğin bir listede herzaman 1,2,3,.... diye sıralı olarak görünmesini isterseniz kaydı sildikten veya yeni kayıt ekledikten sonra listeyi requery yapın ( Liste0.requery ) Requery komutu ile listeniz otomatik olarak yeniden sıralanır.
Yoksa Id:1,2,3,4,5,6,7,8 olan 8 kayıttan 3 olanı silip, sonra yeni kayıt ekleyince bu yeni kaydın ( Id=9 olacak ve ) SıraNO=3 olsun derseniz bu yanlış bir yol olur.

ilginiz için teşekkür ederim sayın ayhan2122.. ben tam olarak ne istediğimi anlatamadım sanırım..bundan dolayıda istediğim yardımı alamadım.Img-grin sayın sledgeab hocamın buradaki çalışmasını ekteki örneğe uyarlamaya çalıştım.. ama istediğim gibi çalıtıramadım..hata veriyor..örneği inceleyip hatası hakkında yardımcı olabilirmisiniz??
Saygılar iyi çalışmalar...
Ek Dosyalar
 Örnekvt.rar(66.35 KB)
Cevapla
Çözüldü #10

Yanlış ama
Kod:
Dim KayitSayisi

KayitSayisi = DCount("Id", "pckasa")
    DoCmd.GoToRecord , , acFirst

        For i = 1 To KayitSayisi
            Me.[Sıra No] = KayitSayisi + i
            DoCmd.GoToRecord , , acNext
        Next i
    DoCmd.GoToRecord , , acFirst
        For i = 1 To KayitSayisi
            Me.[Sıra No] = i
            DoCmd.GoToRecord , , acNext
        Next i

Saygılar, iyi çalışmalar.
*********
Kod, formül vs bilmek önemlidir ama mantığını yürütebilmek, nerede ve nasıl kullanılacağını bilmek daha önemlidir.
Cevapla
Çözüldü #11
maalesef sorunum hala devam ediyor.. en son kodda da hata verdi
Son Düzenleme: 06/02/2012, 01:24, Düzenleyen: perisanoglu.
Cevapla
Çözüldü #12
Yapılacak en hatalı işlem ne ise siz şu anda onu yapmaya çalışıyorsunuz.

Forma buton ekle, tıklandığında olayına aşağıdaki kodu yaz.

DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE pckasa SET pckasa.[Sıra No] = DCount('[Id]','pckasa','[Id]<=' & [Id]);"
DoCmd.SetWarnings True
Me.List2.Requery
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task