Skip to main content

AccessTr.neT


Metin Kutularında Otomatik Tamamlama

Metin Kutularında Otomatik Tamamlama

#25
ozanakkaya teşekkürler cvp için
yeni başladım Access e acemiyim biraz
bu modül ve kodu denediğimde hata veriyo vb da
(Screen.ActiveForm.ActiveControl.ControlSource)
yazan yeri gösteriyor .
"Lütfen olumlu veya olumsuz geri dönüş yapınız... " writed by POWER


"sen başla en başta gerektiği yerde elimizden geleni https://www.accesstr.net ailesi olarak yaparız. " writed by özgüryasin


Cevapla
#26
(02/12/2012, 04:19)metehan16 yazdı: ozanakkaya teşekkürler cvp için
yeni başladım Access e acemiyim biraz
bu modül ve kodu denediğimde hata veriyo vb da
(Screen.ActiveForm.ActiveControl.ControlSource)
yazan yeri gösteriyor .


Uygulamanızın vb sayfasını açıp referanslarını kontrol edin

[Resim: 13544116611.png]
Cevapla
#27
yeni başlayan biri olarak çalıştıramadım. vermiş olduğunuz kodlarda kutuadi ifadesi formdan forma değişmeli mi? bir de bu kodları vb penceresinde modül ekle diyerek iki ayrı modüle yapıştırdım. doğru mu yaptım?
Cevapla
#28
(06/01/2013, 23:42)fenrisgrim yazdı: yeni başlayan biri olarak çalıştıramadım. vermiş olduğunuz kodlarda kutuadi ifadesi formdan forma değişmeli mi? bir de bu kodları vb penceresinde modül ekle diyerek iki ayrı modüle yapıştırdım. doğru mu yaptım?

kutuadi formdan forma değişmez.

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
otomotiktamamla (Screen.ActiveForm.ActiveControl.ControlSource)
End Sub
üstteki kodu forma, alttaki kodu modüle eklemeniz gerekiyor.
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

1. mesajdaki örnek uygulamayı inceleyiniz...
Cevapla
#29
bir yerde yanlış yapıyorum ama nerde tek başıma bulamadım. eklediğim dosyaya yardım edebilir misiniz?
.rar cihaz kimlik.rar (Dosya Boyutu: 43,92 KB | İndirme Sayısı: 13)
Cevapla
#30
If GetAsyncKeyState hatası veriyor
Option Explicit
#If VBA7 And Win64 Then
Private Declare PtrSafe Function apiShowWindow Lib "user32" _
Alias "ShowWindow" (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long
#Else
Private Declare Function apiShowWindow Lib "user32" _
Alias "ShowWindow" (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long
#End If





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
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task