Metin Kutularında Otomotik Tamamlama

Katılım
22 Ocak 2007
Mesajlar
815
Excel Vers. ve Dili
2003
herkes accessde excell gibi bilgi daha önce girilmişse ben harf yazdıkça otomotik tamamlasın der
şimdi aranızdan bir kaç kişinin canım bunun nesi var diyenleri duyabiliyorum bir sorgu yaparım len ile mid vs vs ile harfleri aratır bulurum veya önce açılır kutu yapar sonra onu metin kutusuna dönüştürürüm gibi değişik önerileri olanlar olacaktır. peki bunun nesi var diyenlere bu kod yalnızca bir defa forma yazılıyor o içine girilen metin kutusunun denetim kaynağını araştırıyor ve ordaki bilgileri kontrol ediyor siz yazdıkça tamamlanıyor
bu kısım formunuza yalnız unutmadan tuş önizlemeyi açacaksınız
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
otomotiktamamla (Screen.ActiveForm.ActiveControl.ControlSource)
End Sub


buda modül
Option Compare Database
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Function otomotiktamamla(kutuadi As String)
Dim ctl As Control
Dim LenOldText As Long
Static Once As Boolean
Dim rst As Object
If Once = False Then
If GetAsyncKeyState(vbKeyBack) = 0 _
And GetAsyncKeyState(vbKeyDelete) = 0 Then
Once = True
On Error Resume Next
Set ctl = Screen.ActiveForm.ActiveControl
Set rst = Screen.ActiveForm.RecordsetClone
If ctl.Text <> "" Then
rst.FindFirst kutuadi & " LIKE '" & ctl.Text & "*'"
If Not rst.NoMatch Then
LenOldText = Len(ctl.Text)
ctl.Text = rst(kutuadi)
ctl.SelStart = LenOldText
ctl.SelLength = Len(ctl.Text) - LenOldText
End If
End If
Set ctl = Nothing
Set rst = Nothing
On Error GoTo 0
Once = False
End If
End If
End Function


örnek ekte
 

Ekli dosyalar

Katılım
26 Ekim 2006
Mesajlar
169
Excel Vers. ve Dili
office 2003
yararlı olacak güzel bir örnek

teşekkür ederim
 
Üst