Belirli bir klavye tuşunu olay yordamı olarak atamak

18/02/2016, 21:58

mehmetb84

MErhaba arkadaşlar,
Ekteki dosyamdaki hambezsiparisyyy veritabınında bulunan "listekutusu"na tıkladığınızda, kaydı foruma aktarıyor. Herhangi bir tuşa bastığımızda ise kaydı düzenlemek için yeni bir form açılıyor. 
Formun orjinali bu ekte göründüğünden biraz daha karmaşık. Dolayısıyla benim ihtiyacım olan şey, herhangi bir tuşa bastığımda kaydı düzenlemek için forumun açılmasından ziyade belirli bir tuşa bastığımda bu işlemin gerçekleşmesi. Çünkü kerhen veya formun başka bölümünde bir kayıtla uğraşırken ihtiyacım olmadığı halde düzenleme formu açılıyor.
Bu sorunum için daha önce kullandığım vbkey fonksiyonunu denedim, fakat bu formül herhangi bir metin kutusundayken, örneğin f3 tuşuna bastığımda imleç ilk sıradaki alana gidiyordu. Listekutusunda bu fonksiyon çalışmadı.
Özetle istediğim şey, klavyede belirli bir tuşa bastığımda bu kayıt düzenleme işleminin gerçekleşmesi.

İyi akşamlar dilerim.
18/02/2016, 22:50

atoz112

sayın mehmetb84,

öncelikle;
eklediğiniz uygulama üst sürüm olduğu için kendi adıma katılımcı olmak üzere inceleme imkanı olmadığını belirtmek istiyorum.

bahsettiğiniz talebinize yönelik olarak;
site arama sayfasında "tuşa atama" ya da "fonksiyon tuşu" (çift tırnaklar içerisinde yazınız) veyahut da "sendkey" benzeri ifadeler ile aratmak sureti ile edineceğiniz çeşitli içeriklerdeki konulardaki bilgileri ve örnekleri inceleyebilirsiniz.

aşağıda bunlardan iki tanesi mevcut.

Fonksiyon Tuşları (F1)

Alt+f tuşları ile form açmak

bilginize...iyi çalışmalar,saygılar.
18/02/2016, 23:10

mehmetb84

kullanılan bazı öğeler nedeniyle 2003 e çeviremiyorum Gönderdiğiniz linkler yardımıyla f2 tuşu için düzenleidğim kod şu şekilde;
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If (KeyCode = vbKeyF2) Then
Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "frm_listeekle"

stLinkCriteria = "[fat_otomatik]=" & Me.Listekutusu
DoCmd.OpenForm stDocName, , , stLinkCriteria
End If
End Sub



fakat çalışmadı.
18/02/2016, 23:46

atoz112

sayın mehmetb84,

eklediğiniz kodlar incelendiğinde görülmektedir ki;
Kod:
If (KeyCode = vbKeyF2) Then
satırının bir altına
Kod:
KeyCode = 0
kod satırını yazmamışsınız.bunu eklemelisiniz.

ayrıca,
İşlemi uygulayacağınız formu tasarım olarak açtıktan sonra,tuşlar için önizleme yapılmasına imkan sağlanması adına,ister ÖZELLİKLER-OLAY sekmesindeki en sondaki TUŞ ÖNİZLEME sarını EVET olarak işaretlemek sureti ile ya da isterseniz işlemi uygulayacağınız formun Yüklendiğinde olay yordamı içerisine
Kod:
Me.KeyPreview = True
kod ifadesini ekleyiniz.

bilginize...iyi çalışmalar,saygılar.
18/02/2016, 23:50

mehmetb84

teşekkürler, sorunum çözüldü, çok sağolun.