Metin Kutusunda Tuşa Basıldığında Filtreleme

26/02/2020, 17:20

vetaltan

Private Sub SAD_KeyPress(KeyAscii As Integer)

On Error GoTo A
Forms!adlar.RecordSource = "adlartum"
If KeyAscii = vbKeySpace Then
DoCmd.GoToControl "SAD"
Me.SAD.SelStart = Nz(Len(Me.SAD) + 1, 0)
Else
DoCmd.GoToControl "SAD"
Me.SAD.SelStart = Nz(Len(Me.SAD), 0)
End If

A:


End Sub
Değerli arkadaşlar,
1.Örnek kodda görüldüğü üzere metin kutusundan her tuşa basıldığında adları filtreleyerek forma getiriyor,ancak ikinci ad yada soyadı için boşluk tuşunu kullandıktan sonra ,herhangi bir tuşa basıldığında boşluğu yok edip,birleşik olarak devam ediyor.
2.yazılan isim adlartum sorgusu tarafından bulunamıyorsa,hata veriyor.Bunu engellemek üzere on error goto kullandım.Ancak bu sefer  son yazılan değil tüm yazılanları seçiyor.

Yukarıda hatalarını verdiğim kodun bu hatalarını nasıl düzeltebilirim.

Saygılar
Altan
26/02/2020, 17:41

berduş

çalışmanızın ilgili kısmını ekleyebilir misiniz?
27/02/2020, 01:54

vetaltan

[attachment=31574]

ilgili mdb ekte
28/02/2020, 15:14

berduş

SAD_KeyPress tuşa basıldığında olayını silip değiştiğinde olayına aşağıdaki kodu yazmayı dener misiniz?
Dim txtKrt As String

txtKrt = Me.SAD.Text
Me.Requery
DoCmd.GoToControl "SAD"
Me.SAD = txtKrt
Me.SAD.SelStart = Nz(Len(Me.SAD), 0)
28/02/2020, 16:44

vetaltan

Sayın Berduş,
Boşluk tuşu sorunum çözüldü,teşekkür ederim.
2. sorunum olan hatalı isim yazdığımda on error goto kullanmazsam 1. ekteki hatayı veriyor.Kullanırsam cursor , SAD daki tüm alanı tutuyor,sona gitmiyor.2.ek
28/02/2020, 16:51

berduş

kodun en başına
On Error Resume Next
ekler misiniz?

o da olmuyor pardon