الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ماهو الخطأ في هذا الكود

مغلق
بدأه SANDANET في 19 يونيو 2007 · 18 رد · 1,299 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أما بعد...

لدي جدول به مجموعة اسماء مع باسورداتهم وعندي فورم به كومبو بكس اقوم من خلاله باختيار احدى تلك الأسماء ومربع نص اخر غير مرتبط بالجدول السابق اقوم بإدخال باسورد الاسم الذي اخترته

ثم وضعت كود على زر أمر موافق حيث انه من المفروض ان يتحقق من الادخال اذا كان الاسم والباسورد مطابقين للأسم والباسورد المخزنة بالجدول فانه سوف يتم الدخول للبرنامج

If [Forms]![name_form]![name] = [name_table].[name] Then

If Me.pass = [name_table].[pass] Then

docmd.openform "form2"

else

msgbox " there is error "

end if

end if

علما بأن الفورم مصدره جدول آخر بحيث عند كتابة الأسم في الفورم فانه سوف يخزن في جدول آخر

تم تعديل هذه المشاركة بواسطة SANDANET في 19 يونيو 2007 في 19:28

#2

اخي السلام عيليكم ورحمة الله وبركاتة

اما بعد

بالنسبة للكود فهو كما ارى بالكامل خطاء سوف اعطيك الحل فيما بعد لاني مستعجل الان فقد دخلت الى المنتدى فقط بدافع الزيارة المستعجلة فعذرني غد ان شاء الله وشكراً اخوك محمد الخدر

#3

مشكور اخي الكريم على المساعدة

فانا مازلت مبتدئ واحاول تعلم كتابة الأكواد

عموما أنا في الانتظار

#4
SANDANET كتب:
مشكور اخي الكريم على المساعدة

فانا مازلت مبتدئ واحاول تعلم كتابة الأكواد

عموما أنا في الانتظار

السلام عليكم كما وعدتك الرجاء انشائ جدول وفيه اسم المستخدم يكون نص وكلمة المرور ويكون نص واسم الجدول مستخدمين وضع فيه بيانات للتجربه وانشائ نموذج وانشاء فيه مربيعين نص الاول اسمه a والثاني b وزر اسمه أمر3 وضع حدث في الزر عند النقر هذا الكود وهو

'لنفترض ان لدينا نموذج مكون من مربعين نص الاول اسمه "a"
'والثاني اسمه "b"
'اسم النموذج طبعاً "دخول
'ولدينا زر اسمه "أمر3
'ولنضع هذا الكود في الزر اجراء حدث عند النقر
If IsNull(Me![a]) Then
MsgBox "!الرجاء كتابة اسم المستخدم", vbInformation, "عفواً"
DoCmd.GoToControl "a"
'وهذا الكود في حالة اسم المستخدم غير مكتوب وهو المربع "a"
ElseIf IsNull(Me!) Then
MsgBox "!الرجاء كتابة كلمة المرور", vbInformation, "عفواً"
DoCmd.GoToControl "b"
'وهذا الكود في حالة كلمة المرور غير مكتوب وهو المربع "b"
Else
If (Eval("dlookup(""[اسم المستخدم]"",""[مستخدمين]"",""[اسم المستخدم]=form![a]"") is not null")) And (Eval("dlookup(""[كلمة المرور]"",""[مستخدمين]"",""[كلمة المرور]=form!"") is not null")) Or a.Value = "محمد" And b.Value = "123456" Then
'وهذا الكود التي فيه الشفرة dlookup
'تاخذ القيمة التي هي موجودة في النموذج في المربغع النص الذي اسمه a
'ويذهب الى الجدول ويبحث في اسم المستخدم هل هو موجود ام لا
'وقد اظفت and
'وهي لكلمة المرور للمطابقة حيث اذا كان اسم المستخدم وكلمة المرور مطابقة يقبل
'وكذلك اظفت or
'وهي في للمبرمج اذا كان يريد ان يدخل الى البرنامج في حالة لم  يتذكر المستخدم كلمة المرور او لاي ظرف
'a تساوي القيمة محمد
'و b تساوي القيمة 123456 يقبل
DoCmd.Close
'طبعاً لاغلاق النموذج حق الدخول
Dim stdocname As String
Dim stlinkcriteria As String
stdocname = "الرئيسي"
DoCmd.OpenForm stdocname, , , stlinkcriteria
'وطبعا هذا الكود لفتح النموذج بدل اسم النموذج الرئيسي الى النموذج المراد فتحه
MsgBox "مرحبا بكم لقد تم تسجيل دخولك", vbInformation, "أهلاً وسهلاً"
'رسالة للترحيب وتاكيد الدخول
'والان نضع كود في حالة عدم مطابقة اسم المستخد وكلمة المرور
Else
MsgBox "كلمة المرور او اسم المستخد غير صحيحة الرجاء التاكد", vbInformation, "عفواً"
a.Value = Null
b.Value = Null
DoCmd.GoToControl "a"
End If
End If

ثم جرب واخبرني بالنتيجة واليك هذا المثال في الملفات المرفقة

اخوك محمد الخدر

Microsoft_Office_Access_Application_____.rar

#5

بارك الله فيك أخي الكريم على المساعدة

بالفعل فقد نجح الكود نجاحاً باهراً

وبالفعل كان الكود الذي كتبته أنا غير صحيح

#6

أخي الكريم هل بالامكان استبدال دالة dlookup بدالة ELookup في الكود السابق لأن الدالة السابقة لم تعطي نتائج صحيحة

أرجو الرد للأهمية القصوى

#7

السلام عليكم ورحمة الله،

أخي الفاضل، جرب استخدام DCount وفي حال كان القيمة ليست 1 يعني ليس موجود اسم المستخدم أو خطأ في الرقم السري.

DCount ("*","TableName","Name=userName and Pass=userPass")

فراس

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

#8

أخي العزيز فراس تحية طيبة وبعد

لا اعتقد بأن الكود الذي تفضلت به ينفع معي لأن النموذج الذي لدي غير مرتبط بجدول الاسم والباسورد بل انه مرتبط بجدول آخر تخزن فيه بيانات الدخول ..

فياريت أخي لو تستطيع التعديل على صيغة كود الأخ محمد باستخدام دالة ELookup لأنها اقوى من دالة dLookup

#9

السلام/ أخي الكريم،،

لستخدام هذه الدال يجب ان تحمل مكتبة DAO،

واستبدل DLookup بـــ ELookup مباشره.

وهذا موقع يفيدك عن Elookup الموقع (توجد الدالة ELookup كاملة في هذا الموقع)

اقتباس
اعتقد بأن الكود الذي تفضلت به ينفع معي

عزيزي الكود ملائم لأنه يعتمد على نفس الجدول وما تحتاجة هو سوى تغير الاسماء

ولك جزيل الشكر اخي الكريم

تم تعديل هذه المشاركة بواسطة Feras Nasser في 22 يونيو 2007 في 00:02

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

#10

الملف مرفق يرجى التعديل عليه

db1.zip

تم تعديل هذه المشاركة بواسطة SANDANET في 22 يونيو 2007 في 20:41

#11

عزيزي،

لقد أضفت الــــ Elookup لك، ولكن لا استطيع تشغيله بسبب الكلام العربي الي في وسط الكود، أرجوا ان تحقق من المرفق، ولك جزيل الشكر.

db11.zip

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

#12

بارك الله فيك أخي فراس على المحاولة

وأتمنى من الأخت زهرة الاطلاع على هذه المشكلة فهي أكثر خبرة

#13

السلام،

أوكي ما اشتغل معاك على كذا :blink: ، اجل بجرب الكود على جهاز أخر يعمل فيه العربي، واشوف ايش الي ماضبط معاك......

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

#14

:D ارجوا القاء نظره على المرفق

db11.zip

تم تعديل هذه المشاركة بواسطة Feras Nasser في 23 يونيو 2007 في 00:59

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

#15

أخي العزيز فراس تحية طيبة وبعد...

أشكرك جزيل الشكر على المساعدة ... بارك الله فيك ... وجعل أعمالك كلها في ميزان حسناتك .

أخي الكريم ... حملت المرفق لكن للأسف لم يفتح حيث ان الملف معطوب .. فلو تكرمت ورفعته مرة أخرى أكن لك شاكراً...

ثانيا ما قصدك بالكود لا يعمل لوجود كلام عربي ؟؟؟

#16

أخي الغالي ســــاند نـــت/

الملف مرفق واعتذر على الرابط المعطوب السابق <_<

احتياط بكتب الكود هنا،

بس عدل الكود السابق بهذا السطر

If Elookup("*", "table1", "name='" & Form![NAME] & "' AND pass='" & Form![pass] & "'") <> Empty Then

وغير اسم الوحده النمطية الموجودة عند بأسم Elookup إلى Elookup_ حتى لا يحصل تضارب مع اسم الدالة Elookup

اقتباس
ما قصدك بالكود لا يعمل لوجود كلام عربي ؟؟؟

وبالنسبة لمشكلة العربي عندي فهي كما يلي :

screen.png

أمل إن شاء الله كل شي يشتغل معاك ،،،،،،

أخوك فراس

login.zip

تم تعديل هذه المشاركة بواسطة Feras Nasser في 23 يونيو 2007 في 21:36

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

#17

أخي الكريم فراس حياك الله أينما كنت ... وأخيراً بفضل الله وبفضل هذا المنتدى وبفضلك حلت المشكلة أخيراً ... فبارك الله بك ... وجعلك من أصحاب الجنة ... قول آمين.

لقد عانيت كثيرا من الدالة السابقة dlookup فهي دالة غبية كما ذكرت أستاذتنا زهرة وبالفعل كان مفعول الدالة elookup قوي جدا ... ونادراً ما تجد شخص يفهم الدوال في الأكسس فالحمد لله أنك تجيد أستعمالها ... فسنكون لا غنى عنك بالمنتدى هذا إن شاء الله.

اخوك بالله sandanet

#18

السلام عليكم ورحمة الله

عفوا لاني ما ساعدت كثيرا لاني والله مشغول

تقبلوا تحياتي

#19

على البركة أخوي ساند :lol: والفضل لله أولا وأخيرا.

ويارب يجمعنا على ما يحبة ويرضاه في هذا المنتدى المبارك -waf

ولكم جزيل الشكر والتقدير،،،،،،

أخوك فراس ناصر

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

هذا الموضوع مغلق.

مواضيع مشابهة