MErhaba arkadaşlar ekteki veritabanımın, f_ithalatust formunun ithalatlar sekmesinde;
listekutusundaki kayıtlara tıkladığım anda, otomatik olarak alt forma istediğim değerleri kopyalıyor.
Fakat bazen kullanıcılar dalgınlıkla altformda kayıt seçmeden bu işlemi yaptıkları için, eski kaydın üzerine verilerin yanlışlıkla kopyalanması gibi bir durumla karşılaşabiliyoruz. O yüzden sizden yardım istediğim konu;
Liste kutusunda bir kayıt tıklandığı anda, altforma veriler (eskisinin üzerine yazılmasını önlemek için)yeni kayıt açılmak suretiyle eklensin.
İlginiz için teşekkürler.
sayın mehmetb84,
bahsettiğiniz talebinize yönelik olarak;
listenin tıklandığında olay yordamında seçilen kaydı aktarımda bulunmadan öncesinde,alt form içerisinde yeni kayıt satırı açmak üzere
Kod:
DoCmd.GoToRecord , , acNewRec
kod satırı ile kayıtları dahil edebilirsiniz.bunun için;
Kod:
Sub GoToNewRecord()
DoCmd.GoToRecord , , acNewRec
End Sub
yukarıdaki kodu,ana form üzerinde ekleyiniz ve listenin tıklandığında olay yordamında alt forma aktarım öncesindeki satıra
Kod:
Me.alt_form_adi.GoToNewRecord
kod satırını ekleyiniz.
bir diğer alternatif yöntem ise;
Kod:
Me.altform_adi!altformdaki_birdenetim_adi.SetFocus
DoCmd.GoToRecord , , acNewRec
kod satırını listedeki olay yordamında aktarım öncesine yazınız.
bilginize...iyi çalışmalar,saygılar.
öncelikle teşekkür ederim atoz.
ilk yöntemde data member not found hatası veriyor.
ikincisini denedim hiçbir değişiklik olmadı. (aktarım öncesi diye bir bölüm bulamadım ondan sanırım)
Ekteki dosyayı 2003 formatında ekledim bakabilmeniz için.
sayın mehmetb84,
yeni kayıt açma kodu için
Kod:
Me.f_gelen2!g2_kalite.SetFocus
DoCmd.GoToRecord , , acNewRec
bu kodları deneyebilirsiniz.
fakat,öncesinde listenin olay yordamındaki denetimleri bulamamasına dair beliren hatanın nedenin,,aşağıda bağlantısı yazılı konuyu incelediğinizde daha net anlaşılacaktır.
alt form ve alt form üzerindeki alt forma ulaşma konusunu incelemeniz faydalı olacaktır kanısındayım.
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
yazmayı istediğiniz değerleri aktaracağınız ve aktarılacak olan denetimlerin yazımını bu doğrultuda tekrar düzenlemelisiniz.
imkan ve zaman geçerli olduğunda eklediğiniz örnek uygulamayı daha rahat inceleyip çözüm sunmak da isterim elbette.fakat,harici katılımcılar tarafından da bu konuda uygun görülecek katılımları edinmeniz de olası.
bilginize...iyi çalışmalar,saygılar.
sayın mehmetb84,
Listekutusu adlı listenin TIKLANDIĞINDA olay yordamını aşağıdaki ile değiştirerek kullanmayı deneyiniz.
Kod:
Private Sub Listekutusu_DblClick(Cancel As Integer)
Me.f_gelen2!g2_kalite.SetFocus
DoCmd.GoToRecord , , acNewRec
[Forms]![f_ithalust]![f_gelen]![f_gelen2].[Form]![g2_konst] = Forms("f_ithalust").Controls("f_gelen").Form.Controls("Listekutusu").Column(6)
[Forms]![f_ithalust]![f_gelen]![f_gelen2].[Form]![g2_en] = Forms("f_ithalust").Controls("f_gelen").Form.Controls("Listekutusu").Column(5)
[Forms]![f_ithalust]![f_gelen]![f_gelen2].[Form]![g2_fiyat] = Forms("f_ithalust").Controls("f_gelen").Form.Controls("Listekutusu").Column(8)
[Forms]![f_ithalust]![f_gelen]![f_gelen2].[Form]![g2_pb] = Forms("f_ithalust").Controls("f_gelen").Form.Controls("Listekutusu").Column(9)
[Forms]![f_ithalust]![f_gelen]![f_gelen2].[Form]![g2_bag2] = Forms("f_ithalust").Controls("f_gelen").Form.Controls("Listekutusu").Column(12)
[Forms]![f_ithalust]![f_gelen]![f_gelen2].[Form]![g2_kalite] = Forms("f_ithalust").Controls("f_gelen").Form.Controls("Listekutusu").Column(4)
End Sub
bilginize...iyi çalışmalar,saygılar.