Skip to main content

AccessTr.neT


Belirtilen Kayda Gidemezsiniz Hatası Hakkında

İbrahim Şenol
İbrahim Şenol
11
2259

Belirtilen Kayda Gidemezsiniz Hatası Hakkında

#7
Teşekkür ederim. Çalışıyor.
Fakat mevcut kodun çalışmama sebebi nedir?
Private Sub Liste11_DblClick(Cancel As Integer)
DoCmd.GoToRecord , , acGoTo, Liste11.Column(0)
End Sub
Cevapla
#8
Merhaba, eklediğiniz koddaki Liste11.Column(0) kısmı, kaçıncı kayda gidileceğini belirler. TAblodaki 64 kimlik numaralı satır 1, 65 kimlik numaralı kayıt 2  66 ise 3. kayıt. siz liste kutusunda ilk satırı çift tıkladığınızda Liste11.Column(0)'in değeri 64 olduğu için ve DoCmd.GoToRecord koduna göre 64. kayıt olmadığı için kod çalışmıyor.

Liste kutusunun satır kaynağındaki sorguyu


SELECT (select count([Kimlik]) from malzeme where [Kimlik]<=tbl_malzeme.[Kimlik]) AS sirano, tbl_malzeme.lokasyon, tbl_malzeme.ocak, tbl_malzeme.malzeme_tur FROM malzeme AS tbl_malzeme;

kodu ile değiştirerek, Kimlik alanı yerine kayda göre sıralı numara ekletirseniz belirttiğiniz kod çalışır. Çünkü liste11.column(0) değeri 1,2,3 şeklinde sıralı.

Umarım açıklayabilmişimdir.
Cevapla
#9
(22/02/2017, 23:46)ozanakkaya yazdı: Merhaba, eklediğiniz koddaki Liste11.Column(0) kısmı, kaçıncı kayda gidileceğini belirler. TAblodaki 64 kimlik numaralı satır 1, 65 kimlik numaralı kayıt 2  66 ise 3. kayıt. siz liste kutusunda ilk satırı çift tıkladığınızda Liste11.Column(0)'in değeri 64 olduğu için ve DoCmd.GoToRecord koduna göre 64. kayıt olmadığı için kod çalışmıyor.

Liste kutusunun satır kaynağındaki sorguyu


SELECT (select count([Kimlik]) from malzeme where [Kimlik]<=tbl_malzeme.[Kimlik]) AS sirano, tbl_malzeme.lokasyon, tbl_malzeme.ocak, tbl_malzeme.malzeme_tur FROM malzeme AS tbl_malzeme;

kodu ile değiştirerek, Kimlik alanı yerine kayda göre sıralı numara ekletirseniz belirttiğiniz kod çalışır. Çünkü liste11.column(0) değeri 1,2,3 şeklinde sıralı.

Umarım açıklayabilmişimdir.

İlginiz için teşekkür ederim, yalnız sorgu tablomda Column(0) zaten kimlik alanını içermekte.
Cevapla
#10
Kimlik alanı 64,65 ve 66 olarak sıralı, kodda istediği 1,2,3

Ya üst mesajda belirttiğim gibi liste kutusunun satır kaynığındaki sorguyu değiştireceksiniz, ya da atoz hocanın kodunu kullanacaksınız.

Ben sorunuz gereği kodun neden çalışmadığını anlatmaya çalıştım. liste kutusunda 2. satırı çift tıkladığınızda satırın column(0) değeri 2 olacak ki 2. kayda gitsin, sizin 2. satırın colum(0) değeriniz 65., 65. kayıt olmadığı için belirtilen kayda gidemezsiniz uyarısı çıkıyor.
Cevapla
#11
sayın Şenol,

kendi adıma geçerli olmak sureti ile,6.mesajdan sonrasında forumda aktif olmadığım ve ancak şu an için forumda bulunduğum ve yazdığınız

Alıntı:Fakat mevcut kodun çalışmama sebebi nedir?

bilgi talebinizi yeni okuduğum gerekçeleri akabinde,yanıt vermek gerekirse;
her ne kadar sayın ozan bey,gereken bilgileri yazmış olmalarına rağmen,ben de tekrarlamak üzere,şunları yineleyebilirim.

DoCmd.GoToRecord , , acGoTo, Liste11.Column(0)

kod satırını kullanmak istediğinizde,hata iletisi vermesi doğaldır.çünkü;anlatımı yapıldığı üzere,listeden seçilen değer karşılığı ile form üzerine getirilmek istenen kayda ait değer çakışmaktadır ve aynı olmadığı gerekçesi ile de bahsi geçen hata iletisine maruz bırakmaktadır.

DoCmd.GoToRecord , , acGoTo (KaydaGit komutu) komutunda işleyiş,düşündüğünüz anlamda karşılığı denk gelen (kimlik değeri ile listedeki ilk sütun değeri) değerler üzerinden ilerlemez.

tıpkı,formun alt kısmında GEZİNTİ DÜĞMELERİ göstergesinde olduğu gibi,sıralı bir ilerleme durumu söz konusudur.

bu nedenle de,KİMLİK değeri ile değil,sıralı bir artan sayı sistemi olarak 1,2,3,... gibi bir dizilim olması gerekir.önerildiği üzere;eğer bu komut satırını kullanmayı tercih ederseniz,listenin sorgu kaynağını belirtildiği gibi oluşturmalısınız.eğer böyle bir değişimi yapmak istemiyorsanız da,diğer belirtilen şekilde kullanmalısınız.

benzer bir sonucu almak için,bir diğer kullanım yöntemi de;liste denetimin TIKLANDIĞINDA olay yordamı içerisindeki kodları temizleyip yerine

With Me.Form
.Recordset.FindFirst "Kimlik=" & Me.Liste11
End With

yukarıda yazılı kod satırlarını eklemek sureti ile de kullanabilirsiniz.

bilginize...iyi çalışmalar,saygılar.
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#12
İlginiz için teşekkür ederim. 
İyi Çalışmalar.
Saygılar.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task