1- Çözümünüzde nerden türetildiğini anlamadığım frm.AcikMi kodu var bu kod nasıl türetildi frm diye bir değişken tanımlamışsınız ama AcikMi ifadesi nedir metod yada fonksiyon değil nerden çıktı anlamadım.
2-Kayıt sil butonundak kodda Me.Name nereyi ifade ediyor. Bende böyle bir alan yok.
If Len(Me.ID_TXT) > 0 Then DoCmd.OpenForm "F_Password", , , , , , Me.Name & ";" & Me.ID_TXT Else MsgBox "herhangi bir kayıt seçilmedi?"
3- Genel anlamda bu örneğin forumdan indirdiğim aslında nasıl oluyor da integer olması gereken limit değişkeni (Kodları aldığım örnekte Sayı adında ) string olarak tanımlanmış sonuçta her bir döngüde limitin bir artması için değişkenin sayı - ınteger olması gerekmiyor mu.
4-ADO ile kayıt yaptırmasaydım üretilecek çözümde bu kadar takla attırmaya gerek kalırmıy dı merak ediyorum.
5-Son olarak Hatalı şifre girildikten sonra Çıkan mesaj sonrası imleci neden bir türlü Me.Password_TXT alanına Setfocus yapamıyorum bir çok yerde ve varyasyonda denedim olmuyor.
Bu Örnek gibi forumda bir çözüm yoktu belki benim gibi cins birilerinin de işine yarar. ( Aslında neden hep sabit Vba ya gömülmüş kodlarla çözüm üretilmiş anlamış değilim bence bu şekilde daha kullanışlı neyse verdiğiniz emek için tekrar teşekkür ederim.
Option Compare Database
Option Explicit
Dim limit As Integer
Private Sub Form_Open(Cancel As Integer)
limit = 0
End Sub
Private Sub Kapat_BTN_Click()
DoCmd.Close acForm, "F_Password"
End Sub
Private Sub Password_TXT_AfterUpdate()
Dim limit As Integer
Dim frm As Form
Set frm = Forms(Split(OpenArgs, ";")(0))
If DCount("*", "t_kullanici", "yetki='admin' and sifre='" & Me.Password_TXT & "'") > 0 Then
If MsgBox("Ayni Yardim Kaydı ve bilgileri silinecek, İşlemin geri dönüşü yoktur, eminmisiniz ? ", vbCritical + vbYesNo, " !!! DİKKAT !!! ") = vbYes Then
CurrentDb.Execute "delete from T_AyniYardim where [ID]=" & Split(OpenArgs, ";")(1)
frm.AcikMi
End If
Else
limit = limit + 1
MsgBox "Şifre Yanlış", vbExclamation, "HATALI ŞİFRE"
End If
If limit = 3 Then
End If
'Me.Password_TXT = ""
'Me.Password_TXT.SetFocus
End Sub
Private Sub Password_TXT_LostFocus()
limit = limit + 1
If limit = 3 Then
MsgBox "Hata sınırını aştınız", vbOKOnly, "Dikkat"
Me.Kapat_BTN.Visible = True
Me.Kapat_BTN.SetFocus
Me.Password_TXT.Enabled = False
Else
End If
End Sub