Skip to main content

AccessTr.neT


access 201 tr ESC tuş kodu

access 201 tr ESC tuş kodu

Çözüldü #1
Merhaba, oluşturduğum FormAA üzerinde bir A5 butonu oluşturdum. Ben bu butona bastığımda klavyemden ESC komutunu çalıştırmasını istiyorum,
örnekleri denedim olmadı. Yardımcı olur musunuz,
teşekkür ederim,
saygılarımla...
Cevapla
#2
Sayın ssdestek;

(20/11/2015, 18:33)ssdestek yazdı: ESC komutunu çalıştırmasını istiyorum,
örnekleri denedim olmadı. Yardımcı olur musunuz,
teşekkür ederim,
saygılarımla...

İfadenizden anladığım kadarı ile

Sanırım yapmak istediğiniz "A5" düğmesine bastığında formu kapatması
Bunu A5 düğmesinin tıklanma olay yormadına aşağıdaki kodu yazarak yapa bilirsin
'Geçerli Formu Kaydedip Kapatmak İçin
'Kaydetme Özelliğini İptal Etmek İçin "acSaveYes" ibaresini sile bilir yada" acSaveNo" olarak değiştire bilirsin
DoCmd.Close acForm, Me.Name, acSaveYes

Bu işlemi klavyede "ESC" tuşuna basarak yapmak istiyor isen
İlgili formun yüklendi olay yordamına,
Me.KeyPreview = True

Sonrada ilgili formun "Tuşa basılırken" olay yordamına,
If (KeyCode = vbKeyEscape) Then  
     KeyCode = 0
DoCmd.Close acForm, Me.Name, acSaveYes
End If
Şeklinde yazarak yapa bilirsin
umarım yardımcı olur. Eğer yapmak istediğin bunların dışında olan bir şey ise örneğini ekleyerek belirtirsen yardımcı olamaya çalışırım.

Saygılar
İyi çalışmalar
Dünyada Yetirince Anlaşılır Dile Konuşan İnsanlar Var Birazcık da Anlaması İçin Düşünmesi Gerekiyor İnsanların
Son Düzenleme: 20/11/2015, 18:57, Düzenleyen: emir ustaoğlu.
Cevapla
#3
(20/11/2015, 18:53)emir ustaoğlu yazdı: Sayın ssdestek;


(20/11/2015, 18:33)ssdestek yazdı: ESC komutunu çalıştırmasını istiyorum,
örnekleri denedim olmadı. Yardımcı olur musunuz,
teşekkür ederim,
saygılarımla...

İfadenizden anladığım kadarı ile

Sanırım yapmak istediğiniz "A5" düğmesine bastığında formu kapatması
Bunu A5 düğmesinin tıklanma olay yormadına aşağıdaki kodu yazarak yapa bilirsin
'Geçerli Formu Kaydedip Kapatmak İçin
'Kaydetme Özelliğini İptal Etmek İçin "acSaveYes" ibaresini sile bilir yada" acSaveNo" olarak değiştire bilirsin
DoCmd.Close acForm, Me.Name, acSaveYes

Bu işlemi klavyede "ESC" tuşuna basarak yapmak istiyor isen
İlgili formun yüklendi olay yordamına,
Me.KeyPreview = True

Sonrada ilgili formun "Tuşa basılırken" olay yordamına,
If (KeyCode = vbKeyEscape) Then  
     KeyCode = 0
DoCmd.Close acForm, Me.Name, acSaveYes
End If
Şeklinde yazarak yapa bilirsin
umarım yardımcı olur. Eğer yapmak istediğin bunların dışında olan bir şey ise örneğini ekleyerek belirtirsen yardımcı olamaya çalışırım.

Saygılar
İyi çalışmalar
Merhaba, benim istediğim bu değil, hata bende tam anlatamadım sanırım. Form açıkken hem ana form hemde bu forma bağlı ve bu form üzerinde görünen alt formada kayıtlı veriler üzerinde değişiklik yapılabilir bu değişikliği geri almak veya iptal etmek gerekirse GERI AL komutu çalıştıracak bir buton eklediğimde sadece ana forma uyguluyor alt forma uygulamiyor. ama ben ana formdaki butona bastığımda ister ana formdaki isterse alt formdaki değişiklikleri iptal etsin istiyorum. Bunuda bir modül içinde ESC tuşunu çalıştır diye bir kod oluşturursam ve ana fordaki butona her bastığımda modül çalışırsa işimi görür diye düşünmüştüm
Başkan yöntem varsa o da olabilir
Cevapla
#4
Sayın ssdestek,

Öncelikle bir bilgilendirmede bulunmakta fayda var kanısındayım.

ESC TUŞU
Hali hazırda yapılmakta olan bir işlemin işleyişini o esnada vazgeçmek üzere sonlandırmak,yarıda kesmek diğer bir ifade ile iptal etmek için kullanılmaktadır.

UNDO KOMUTU
Bir form üzerinde yapılmış olan bir kaydetme ya da düzeltme işleminin geri alınması ya da diğer bir ifade ile kayıt işleminden vazgeçilmesi için kullanılmaktadır.

1)
Alıntı:...ana formdaki butona bastığımda ister ana formdaki isterse alt formdaki değişiklikleri iptal etsin istiyorum. Bunuda bir modül içinde ESC tuşunu çalıştır diye bir kod oluşturursam ve ana fordaki butona her bastığımda modül çalışırsa işimi görür diye düşünmüştüm...

ifadenize yönelik olarak;ESC tuşunu tek başına olduğu gibi kullanmanız bu talebinizi yerine getirmeye yeterli değildir.çünkü;görevi sadece iptal (vazgeçme) işlevini sağlamak olduğu için ancak,bunu gerçekleştirebilir.bu tuş için UNDO komutunu devreye almalısınız (yazmalısınız) ki,istediğiniz olsun.

Yalnız,burada yeri gelmişken belirtmek de gerekir.eğer kayıt düzenleme işlemi esnasında hemen akabinde kaydetme işlemi yapılmamışsa,bu bahsedilen işlemler (yapılan değişikliği veya düzeltmeyi geri alma işlemi gerçekleşir ve kayıt bilgisi eski haline geri döner.bu değişim de hemen ekranda belirir.fakat,eğer kayıt değişimi yaptıktan hemen sonra kaydetme butonuna da basılırsa (kaydetme yapılırsa),bu işlem gerçekleşmez.çünkü;artık geçmiştir.

Şöyle düşünmelisiniz;yapılan değişiklikler geçici olarak havada asılı durmaktadır.eğer kaydedilirse geri alınmaz fakat henüz kayıt yapılmamışken bu değişimlerden (düzeltmeden) vazgeçilmesi sağlanır.

Bu nedenle,kayıt üzerinde yapılan ve kaydedilen bir düzenleme ya da veri değiştirme işleminin geri alınması için yapılması gereken;eğer amacınız kayıtlar üzerinde herhangi bir veri değiştirme işleminin yapılmasını engellemek ise,o zaman,ana formun ya da alt formun ÖZELLİKLER-VERİ sekmesindeki DÜZENLEME İZNİ satırını HAYIR olarak değiştirmelisiniz.böylece,kullanıcıların kayıt üzerinde bir düzenleme yapmasını engellemiş olursunuz.

Eğer amacınız,ola ki bir kayıt üzerinde fark edilmiş bir düzeltme ihtiyacı söz konusu olmuşsa ve akabinde de bir düzenlemeye (veri değiştirmeye) gidilecek olunursa fakat bu düzeltme işleminden de o esnada vazgeçilmek istenirse böyle bir durumda geçerli olması için kullanılmak üzere,ilgili butonun olay yordamı içerisine UNDO komutu yazılabilir.böylece,henüz kaydedilmesi yapılmamış ve yapılan düzeltmeden vazgeçilme durumunda devreye girmesi sağlanmak sureti ile işlem iptal edilebilir.

ÖRNEK:
butonun Tıklandığında olay yordamı içerisine aşağıdaki kodları yazınız.
Kod:
Me.Undo
Me.Refresh

2)
Bir veri üzerinde herhangi bir düzeltme yapılıp kaydedildikten sonra,işlemi geri alamıyorsunuz.fakat şunu yapabilirsiniz;yapılmış bir değişikliği tekrar eski durumuna getirmek için,UPDATE (Güncelleme) Sql sorgusu oluşturup düzeltmesi yapılan kayda eski veriyi yazıp bu sorguyu çalıştırmalısınız. böylece,hemen akabinde veri değişimi tabloya da yansımış olur.

3)
Alıntı:...ana formdaki butona bastığımda ister ana formdaki isterse alt formdaki değişiklikleri iptal etsin istiyorum...

ifadenize yönelik olarak;aynı anda yapılan işlemi geri alma davranışını uygulamanız geçersiz kalır.çünkü;eğer ana formdaki ya da alt formdaki bir kaydı değiştirmek istediğinizde direkt o formun içerisinde olacağınızdan dolayı ve bunun akabinde de eğer ki iki formunda kayıt kaynağı da tablodan oluşuyorsa,her bir forma odaklanıldığında ya da üzerinde işlem yapıldığı anda bir diğer formu kaydetmiş gibi güncellemiş oluyorsunuz.nedeni de,somut olarak havada asılı kalan bir değişim imkanı olacak veri bulunmayacağından dolayı direkt o değişime uğramış hali ile kaydetmiş bir diğer ifade ile üzerine yazmış oluyorsunuz hali ile,formlar arasındaki bu geçiş durumlarından dolayı.

Fakat her bir form üzerinde ayrı bir butonda bu UNDO komutunu dahil edecek olursanız,o zaman sorun çıkmayacaktır.

son olarak,bir de hatırlatmada bulunmak adına;lütfen,katılımcılar tarafından konunuza yazılan mesajlardan eğer ALINTI yapacak olursanız,SADECE gerekli kısmını almak ve kullanmak sureti ile genelini değil ilgili kısmını yeni mesajlarınızda yer veriniz.teşekkürler.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
#5
(22/11/2015, 01:26)atoz112 yazdı: Sayın ssdestek,

Öncelikle bir bilgilendirmede bulunmakta fayda var kanısındayım.

ESC TUŞU
Hali hazırda yapılmakta olan bir işlemin işleyişini o esnada vazgeçmek üzere sonlandırmak,yarıda kesmek diğer bir ifade ile iptal etmek için kullanılmaktadır.

UNDO KOMUTU
Bir form üzerinde yapılmış olan bir kaydetme ya da düzeltme işleminin geri alınması ya da diğer bir ifade ile kayıt işleminden vazgeçilmesi için kullanılmaktadır.

1)

Alıntı:...ana formdaki butona bastığımda ister ana formdaki isterse alt formdaki değişiklikleri iptal etsin istiyorum. Bunuda bir modül içinde ESC tuşunu çalıştır diye bir kod oluşturursam ve ana fordaki butona her bastığımda modül çalışırsa işimi görür diye düşünmüştüm...

ifadenize yönelik olarak;ESC tuşunu tek başına olduğu gibi kullanmanız bu talebinizi yerine getirmeye yeterli değildir.çünkü;görevi sadece iptal (vazgeçme) işlevini sağlamak olduğu için ancak,bunu gerçekleştirebilir.bu tuş için UNDO komutunu devreye almalısınız (yazmalısınız) ki,istediğiniz olsun.

Yalnız,burada yeri gelmişken belirtmek de gerekir.eğer kayıt düzenleme işlemi esnasında hemen akabinde kaydetme işlemi yapılmamışsa,bu bahsedilen işlemler (yapılan değişikliği veya düzeltmeyi geri alma işlemi gerçekleşir ve kayıt bilgisi eski haline geri döner.bu değişim de hemen ekranda belirir.fakat,eğer kayıt değişimi yaptıktan hemen sonra kaydetme butonuna da basılırsa (kaydetme yapılırsa),bu işlem gerçekleşmez.çünkü;artık geçmiştir.

Şöyle düşünmelisiniz;yapılan değişiklikler geçici olarak havada asılı durmaktadır.eğer kaydedilirse geri alınmaz fakat henüz kayıt yapılmamışken bu değişimlerden (düzeltmeden) vazgeçilmesi sağlanır.

Bu nedenle,kayıt üzerinde yapılan ve kaydedilen bir düzenleme ya da veri değiştirme işleminin geri alınması için yapılması gereken;eğer amacınız kayıtlar üzerinde herhangi bir veri değiştirme işleminin yapılmasını engellemek ise,o zaman,ana formun ya da alt formun ÖZELLİKLER-VERİ sekmesindeki DÜZENLEME İZNİ satırını HAYIR olarak değiştirmelisiniz.böylece,kullanıcıların kayıt üzerinde bir düzenleme yapmasını engellemiş olursunuz.

Eğer amacınız,ola ki bir kayıt üzerinde fark edilmiş bir düzeltme ihtiyacı söz konusu olmuşsa ve akabinde de bir düzenlemeye (veri değiştirmeye) gidilecek olunursa fakat bu düzeltme işleminden de o esnada vazgeçilmek istenirse böyle bir durumda geçerli olması için kullanılmak üzere,ilgili butonun olay yordamı içerisine UNDO komutu yazılabilir.böylece,henüz kaydedilmesi yapılmamış ve yapılan düzeltmeden vazgeçilme durumunda devreye girmesi sağlanmak sureti ile işlem iptal edilebilir.

ÖRNEK:
butonun Tıklandığında olay yordamı içerisine aşağıdaki kodları yazınız.

Kod:
Me.Undo
Me.Refresh

2)
Bir veri üzerinde herhangi bir düzeltme yapılıp kaydedildikten sonra,işlemi geri alamıyorsunuz.fakat şunu yapabilirsiniz;yapılmış bir değişikliği tekrar eski durumuna getirmek için,UPDATE (Güncelleme) Sql sorgusu oluşturup düzeltmesi yapılan kayda eski veriyi yazıp bu sorguyu çalıştırmalısınız. böylece,hemen akabinde veri değişimi tabloya da yansımış olur.

3)

Alıntı:...ana formdaki butona bastığımda ister ana formdaki isterse alt formdaki değişiklikleri iptal etsin istiyorum...

ifadenize yönelik olarak;aynı anda yapılan işlemi geri alma davranışını uygulamanız geçersiz kalır.çünkü;eğer ana formdaki ya da alt formdaki bir kaydı değiştirmek istediğinizde direkt o formun içerisinde olacağınızdan dolayı ve bunun akabinde de eğer ki iki formunda kayıt kaynağı da tablodan oluşuyorsa,her bir forma odaklanıldığında ya da üzerinde işlem yapıldığı anda bir diğer formu kaydetmiş gibi güncellemiş oluyorsunuz.nedeni de,somut olarak havada asılı kalan bir değişim imkanı olacak veri bulunmayacağından dolayı direkt o değişime uğramış hali ile kaydetmiş bir diğer ifade ile üzerine yazmış oluyorsunuz hali ile,formlar arasındaki bu geçiş durumlarından dolayı.

Fakat her bir form üzerinde ayrı bir butonda bu UNDO komutunu dahil edecek olursanız,o zaman sorun çıkmayacaktır.

son olarak,bir de hatırlatmada bulunmak adına;lütfen,katılımcılar tarafından konunuza yazılan mesajlardan eğer ALINTI yapacak olursanız,SADECE gerekli kısmını almak ve kullanmak sureti ile genelini değil ilgili kısmını yeni mesajlarınızda yer veriniz.teşekkürler.bilginize…iyi çalışmalar,saygılar.
Merhaba,
bu konudaki problem çözülmüştür. Teşekkür ederim.
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