اخى عبداللطيف على ما اعتقد انك رفعت المثال قبل الحفظ حيث انه ليس هناك اى تغيير حدث
اخى @رعد داود ركز معى بارك الله فيك وجزاك الله خيرا فى يد العون والمحاوله لاخوانك
توضيح لكى تعم الفائده
DLookup("[user]", "Pass", "[Pass]= [n2] and [user]= [مربع_تحرير_وسرد62]")
المفروض انك عاوز تجيب الباس الخاص وتختبره هل هو ده ام لا
لكن انت عكست ثم قمت بالاختبار على اساس عدم مساوه المتغير بصفر
Dim X
X = Nz(DLookup("[user]", "Pass", "[Pass]= [n2] and [user]= [مربع_تحرير_وسرد62]"), 0)
If X <> 0 Then
UserName = X
DoCmd.OpenForm "main"
DoCmd.close acForm, "systempass"
Else
MsgBox "كلمة المرور غير صحيحة", vbInformation, "رسالة خطأ"
DoCmd.OpenForm "changepass"
والله اعلى واعلم
تقبلوا تحياتى وتمنياتى لكم وللجميع بالتوفيق