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

استفسار عن ( كود الحفظ )

رائج
بدأه طالب علم مبتدىء في 18 نوفمبر 2011 · 64 رد · 5,436 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اعضاء ومشرفين وخبراء واساتذتى الأفاضل

عند تجربة كود الحفظ هذا وتعديل اسم خانة ID بالاسم الموجود عندى تلاحظ انه فى حالة عدم الحفظ يتم الحفظ فى الجدول الاول TNames ولا يتم الحفظ فى الجدول الثانى TBianat ؟

النموذج From اما النموذج الاخر فهو تمام

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

مرفق مثالى

 On Error Resume Next

 If MsgBox("åá ÊÑíÏ ÍÝÙ ÇáÈíÇäÇÊ ÇáÓÇÈÞÉ " & vbCrLf & "ÃÖÛØ (äÚã) ááÅÓÊãÑÇÑ Ãæ (áÇ) áÅáÛÇÁ ÇáÃãÑ.", vbQuestion + vbYesNo + vbMsgBoxRight + vbMsgBoxRtlReading, "ÑÓÇáÉ ÊäÈíå") = vbYes Then

Else

DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70

DoCmd.GoToRecord , , acNewRec

DoCmd.GoToControl ("[ID]")

End If

Test.rar

تم تعديل هذه المشاركة بواسطة طالب علم مبتدىء في 18 نوفمبر 2011 في 22:49

#2

اخي الكريم

تفضل ملفك بعد التعديل

كان يوجد لديك اسمين متشابهين في الجداول Num ومنشئ الإستعلام لا يقبل بإسمين متشابهين من جدولين

ولهذا قمنا بتغيير احد هذه الأسماء في الجدول الرئيسي الى kod

عموما تم اضافة كل طلباتك في النماذج

za-Test-UP2.rar

بالتوفيق

تم تعديل هذه المشاركة بواسطة zahrah في 19 نوفمبر 2011 في 09:39

2
#3

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

أسعدنى مرورك الكريم يا ام عهود وزادك الله علما واثابك الله عنا خير الجزاء ( وعودا حميدا للمنتدى ) ولكى كل احترام وتقدير يا ام شهد

1- عند تسجيل بيانات وحفظها عند الضغط على نعم يتم حفظ الاسم والرقم فى جدول TNames ولايتم تسجيل باقى البيانات فى جدول TBianat هذا فى النموذج From

2- فى نموذج FromAdd عند ادخال الرقم يتم فتح الفورم على صاحب الرقم تمام وبعد ادخال البيانات والضغط على حفظ لايتم اعطاء رساله هل تريد الحفظ ام لا ويتم اختفاء الاسم وتبقى البيانات ظاهره ولاتحفظ بالجدول Tbianat

فى حاجه غريبه بتحصل بالنسبه للنموذج الاول مش عارف فى ايه بصراحه

تم حذف السجلات الموجوده بالجداول وعند تسجيل بيانات من الاول لايتم تسجيلها لا الاسم والرقم فى جدول TNames ولا المبالغ فى جدول TBianat وعند الرجوع للنموذج لادخال نفس البيانات مره اخرى يتم تسجيل الاسم والرقم ولايتم تسجيل المبالغ

فى كل الحالات لا يتم التسجيل فى جدول TBianat

تم تعديل هذه المشاركة بواسطة طالب علم مبتدىء في 19 نوفمبر 2011 في 00:58

#5

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

بارك الله فيكى يا ام عهود وجزاكى الله عنا خير الجزاء

ارجو منك توضيح ( كان يوجد لديك اسمين متشابهين في الجداول Num ومنشئ الإستعلام لا يقبل بإسمين متشابهين من جدولين )

لانه من خلال القرائه للعلاقات وعلاقة راس باطراف استنتجت بانه يكون الاسمين متشابهين فى الجدولين

ام عهود لما ببعتلك على الخاص لااعلم ان كانت الرسائل تصل ام لا

+2

#8

اخي الفاضل

هل لديك مشكله في البرنامج ؟؟

بالتوفيق

2
#9

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

بارك الله فيكى يا ام عهود وجزاكى الله عنا خير الجزاء (تمت الاجابه)

ارجو منك توضيح ( كان يوجد لديك اسمين متشابهين في الجداول Num ومنشئ الإستعلام لا يقبل بإسمين متشابهين من جدولين ) ؟

لانه من خلال القرائه للعلاقات وعلاقة راس باطراف استنتجت بانه يكون الاسمين متشابهين فى الجدولين

ام عهود لما ببعتلك على الخاص لااعلم ان كانت الرسائل تصل ام لا

تم تعديل هذه المشاركة بواسطة طالب علم مبتدىء في 21 نوفمبر 2011 في 17:42

#10

post-15367-041911400 1321892764_thumb.gi

post-15367-035993500 1321892788_thumb.gi

المرفقات
TT1.gifTT2.gif
2
#11

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

بارك الله فيكى يا ام عهود على التوضيح فيما يخص بمنشىء الاستعلام

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

تبقى لى الاستفسار عن علاقه راس باطراف او واحد لمتعدد اللى فهمته ان لازم يكون الحقلان فى الجدولان متشابهان فى كل شىء ارجو التوضيح ؟

تمنياتى لكى وللجميع بالتوفيق ودوام النجاح

#12

اخي الفاضل

علاقة الرأس بأطراف او ( واحد الى متعدد ) او one-to-many كلها مسميات لعلاقه واحده

هذه العلاقه لها شروط معينه :

1. ان يكون المفتاح الأساسي في الجدول الأول مطابق في النوع للمفتاح الفرعي في الجدول الثاني بحيث لو كان الحقل الذي عليه المفتاح الأساسي في الجدول الرئيسي نوعه رقمي فيجب ان يكون الحقل الآخر نوعه ايضا رقمي وايضا لو كان نصي فيجب ان يكون الآخر نصي

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

اما من ناحية تسمية الحقل الأساسي والحقل الفرعي فيجب ان يكون هناك اختلاف بينهما حتى ولو كان بحرف زائد مثلا في الأساسي نعطيه اسم IDpr وفي الحقل الفرعي في الجدول الثاني نعطية مثلا IDfk فقط للتفريق بين الحقلين ولنعرف ايهما هو الحقل الأساسي وايهما الحقل الفرعي لأننا لو حاولنا وضع اسماء حقول متشابهه في الإستعلام من الجدولين فسوف يقوم الإستعلام بإصدار رسالة خطأ لوجود تشابه في اسماء الحقول ولن يتم تنفيذ بعض العمليات لأنه لا يعرف اي حقل انت تريد فهل تريد الحقل الذي في الجدول الأساسي او الحقل المشابه له في الإسم في الجدول الفرعي .

2. اذا قمنا بعملية الربط الصحيحة بين الجدولين فسنحصل على علاقة واحد الى متعدد ولو اردنا ان نكون اكثر دقه فسوف نستخدم التكامل المرجعي والذي يوفر علينا الكثير من الجهد من ناحية التحديث التلقائي للحقول المرتبطه وكذلك سرعة الحذف اذا حذفنا احد الأرقام من الجدول الرئيسي فسوف يحذف معه كل الحقول المرتبطه دفعة واحده بحيث لا يكون هناك كما يقال ( ابناء ايتام ليس لهم اب ) هذا تشبيه للمفتاح الرئيسي بالحقول الفرعيه المرتبطه .

بالتوفيق

1
#13

لقد اتضحت الامور الأن

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

لى سؤال على رابط اخر وهو

رسالة تفيد بتكرار رقم الموظف في نموذج فرعي

لقد حاولت تطبيقها على مرفقى هذا ولم افلح وبعد عدة محاولات اتضح لى ان خانة الرقم بالشرح هو حقل رقمى والحقل اللذى لدى هو حقل نصى فما هوا التعديل المطلوب ليعمل معى ؟

تمنياتى لكى وللجميع بالتوفيق ودوام النجاح يا اختى زهره وان شاء الله تفضلى منوره المنتدى على طول

#14

اذا كان الحقل txtCod رقمي كما في هذا الكود نضع له علامة اقتباس واحده بهذا الشكل "

Private Sub TXTCOD_BeforeUpdate(Cancel As Integer)
        If Nz(DLookup("TXTCOD", "EMPLOYEES", "txtCod = " & Nz(TXTCOD, 0)), 0) > 0 Then
                MsgBox "سبق إدخال هذا الرقم للموظف: " & Nz(DLookup("txtName", "EMPLOYEES", "txtCod = " & Nz(TXTCOD, 0)), "لا أحد"), vbExclamation, "إدخال مكرر"
                TXTCOD.SelStart = 0
                TXTCOD.SelLength = Len(TXTCOD.Text)
                Cancel = True
        End If
End Sub

اما اذا كان الحقل نصي فنستخدم له علامة اقتباس بهذا الشكل "'" ليصبح الكود بعد التعديل الى حقل نصي بهذه الطريقة

Private Sub TXTCOD_BeforeUpdate(Cancel As Integer)
        If Nz(DLookup("TXTCOD", "EMPLOYEES", "txtCod = '" & Nz([TXTCOD] & "'", 0)), 0) > 0 Then
                MsgBox "سبق إدخال هذا الرقم للموظف: " & Nz(DLookup("txtName", "EMPLOYEES", "txtCod = '" & Nz([TXTCOD] & "'", 0)), "لا أحد"), vbExclamation, "إدخال مكرر"
                TXTCOD.SelStart = 0
                TXTCOD.SelLength = Len(TXTCOD.Text)
                Cancel = True
        End If
End Sub

بالتوفيق

1
#15

جزاكى الله كل خير يا ام عهود

وتمت التجربه بنجاح

تمنياتى لكى وللجميع بالتوفيق

#16

أختى زهره اسف هتعبك معايا تانى

لقد قمت ببعض خطوات اضافيه على المرفق

1- إضافة كود اذا كان السجل موجود ام لا وتم العمل بنجاح (وهنا اريد إضافة جزئيه اخرى وهيا هل تريد اضافة بيانات له ان كانت (نعم) يتم فتح النموذج FromAdd على هذا الاسم وان كانت (لا) يتم مسح البيانات اللتى تم

إدخالها ) كما هو الحال فى امر بيانات اخرى

2- قمت بتجربة إضافة سجل وضغط على امر الاضافه فتم تسجيل البيانات فقمت بإضافة كود الحفظ على امر الاضافه حتى لايتم التسجيل سهوا وتم العمل بنجاح ( وهنا اريد اضافة شىء اخر بانه فى حالة عدم وجود بيانات بالحقول وتم الضغط على امر الإغلاق يتم غلق النموذج دون عرض رسالة هل تريد الحفظ )

3- قمت بتجربة إضافة سجل والضغط على أمر الإغلاق فتم تسجيل البيانات فقمت بإضافة كود الحفظ على امر الإغلاق حتى لايتم التسجيل سهوا وتم العمل بنجاح ( وهنا اريد اضافة شىء اخر بانه فى حالة عدم وجود بيانات بالحقول وتم الضغط على امر الإغلاق يتم غلق النموذج دون عرض رسالة هل تريد الحفظ )

تقبلى فائق التحيه والاحترام والتقدير وتمنياتى لكى وللجميع بالتوفيق

Za-Test-UP2.rar

#17
طالب علم مبتدىء كتب:

أختى زهره اسف هتعبك معايا تانى

لقد قمت ببعض خطوات اضافيه على المرفق

1- إضافة كود اذا كان السجل موجود ام لا وتم العمل بنجاح (وهنا اريد إضافة جزئيه اخرى وهيا هل تريد اضافة بيانات له ان كانت (نعم) يتم فتح النموذج FromAdd على هذا الاسم وان كانت (لا) يتم مسح البيانات اللتى تم

إدخالها ) كما هو الحال فى امر بيانات اخرى

2- قمت بتجربة إضافة سجل وضغط على امر الاضافه فتم تسجيل البيانات فقمت بإضافة كود الحفظ على امر الاضافه حتى لايتم التسجيل سهوا وتم العمل بنجاح ( وهنا اريد اضافة شىء اخر بانه فى حالة عدم وجود بيانات بالحقول وتم الضغط على امر الإغلاق يتم غلق النموذج دون عرض رسالة هل تريد الحفظ )

3- قمت بتجربة إضافة سجل والضغط على أمر الإغلاق فتم تسجيل البيانات فقمت بإضافة كود الحفظ على امر الإغلاق حتى لايتم التسجيل سهوا وتم العمل بنجاح ( وهنا اريد اضافة شىء اخر بانه فى حالة عدم وجود بيانات بالحقول وتم الضغط على امر الإغلاق يتم غلق النموذج دون عرض رسالة هل تريد الحفظ )

تقبلى فائق التحيه والاحترام والتقدير وتمنياتى لكى وللجميع بالتوفيق

للرفع

#20
طالب علم مبتدىء كتب:

أختى زهره اسف هتعبك معايا تانى

لقد قمت ببعض خطوات اضافيه على المرفق

1- إضافة كود اذا كان السجل موجود ام لا وتم العمل بنجاح (وهنا اريد إضافة جزئيه اخرى وهيا هل تريد اضافة بيانات له ان كانت (نعم) يتم فتح النموذج FromAdd على هذا الاسم وان كانت (لا) يتم مسح البيانات اللتى تم

إدخالها ) كما هو الحال فى امر بيانات اخرى

2- قمت بتجربة إضافة سجل وضغط على امر الاضافه فتم تسجيل البيانات فقمت بإضافة كود الحفظ على امر الاضافه حتى لايتم التسجيل سهوا وتم العمل بنجاح ( وهنا اريد اضافة شىء اخر بانه فى حالة عدم وجود بيانات بالحقول وتم الضغط على امر الإغلاق يتم غلق النموذج دون عرض رسالة هل تريد الحفظ )

3- قمت بتجربة إضافة سجل والضغط على أمر الإغلاق فتم تسجيل البيانات فقمت بإضافة كود الحفظ على امر الإغلاق حتى لايتم التسجيل سهوا وتم العمل بنجاح ( وهنا اريد اضافة شىء اخر بانه فى حالة عدم وجود بيانات بالحقول وتم الضغط على امر الإغلاق يتم غلق النموذج دون عرض رسالة هل تريد الحفظ )

تقبلى فائق التحيه والاحترام والتقدير وتمنياتى لكى وللجميع بالتوفيق

اخي الفاضل

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

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

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

وعند الخروج من النموذج او عند فتح النموذج تقوم بالحفظ .

وهنا سؤال اطرحه عليك : لو كان لديك في قاعدة البيانات حوالي 30 - 50 نموذج هل ستقوم بنفس خطوات الحفظ التي تريدها على نموذجك الوحيد ؟؟؟؟

المعروف بارك الله بك ان امر الحفظ يتم لمره واحده فقط من خلال زر أمر واحد على النموذج وحتى لو لم تقم بالحفظ فإن برنامج الأكسيس كفيلا بأن يحفظ البيانات المدخلة تلقائيا بدون عناء وهناك حالات استثنائية يرغب المستخدم في تحديد الحدث فقط بنعم او لا لمره واحده فقط وليس لعشرات المرات والسبب بارك الله بك انه سيحدث هناك العديد من التعارضات والتداخلات بين الأكواد فمرة تقوم بعمل امر انه لا يحفظ اذا خرجت من النموذج ومرة تطلب انه لا يحفظ اذا كان الإسم موجود ومرة .... و ... و

الخلاصة : يكفي عمل زر امر واحد لعملية الحفظ

ثانيا : كنت اتمنى ان تبحث في المنتدى وتحاول بنفسك لكي تتعلم ولا بأس ان تقوم بالمحاوله مع الخطأ فمن اخطاءنا نتعلم دائما علما بأن المنتدى به مئات الأمثله لمثل هذه الرسائل التي في مثال ذو النموذج الواحد حتى تستفيد وتكتسب خبره .

ثالثا : يعلم الله انه لا يوجد لدي اي مشكله لا في برنامج الأكسيس ولا في قاعدة بيانات اخرى او اي برنامج آخر لكي اضع لكم الحلول الجاهزه من باب المساعدة على نشر العلم ولن ابخل على اي شخص مهما كان ولكن الى متى بارك الله بك فسيأتي يوما من الأيام لن اكون متواجده معكم ولهذا يجب ان تشمر عن ساعديك وتحاول ان تعلم نفسك بنفسك فأنا رايد منك ان تخطئ وتصحح خطأك بنفسك واذا اعيتك الحيله فأبوابنا مفتوحه للمساعده نرى اين مكان الخطأ ونقوم بإصلاحه وابلاغك اين وقع الخطأ مع الشرح الكامل للموضوع .

ختاما اتمنى من الله العلي القدير ان يوفقك لما فيه الخير

بالتوفيق

تم تعديل هذه المشاركة بواسطة zahrah في 25 نوفمبر 2011 في 20:53

#21
zahrah كتب:

اخي الفاضل

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

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

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

وعند الخروج من النموذج او عند فتح النموذج تقوم بالحفظ .

وهنا سؤال اطرحه عليك : لو كان لديك في قاعدة البيانات حوالي 30 - 50 نموذج هل ستقوم بنفس خطوات الحفظ التي تريدها على نموذجك الوحيد ؟؟؟؟

المعروف بارك الله بك ان امر الحفظ يتم لمره واحده فقط من خلال زر أمر واحد على النموذج وحتى لو لم تقم بالحفظ فإن برنامج الأكسيس كفيلا بأن يحفظ البيانات المدخلة تلقائيا بدون عناء وهناك حالات استثنائية يرغب المستخدم في تحديد الحدث فقط بنعم او لا لمره واحده فقط وليس لعشرات المرات والسبب بارك الله بك انه سيحدث هناك العديد من التعارضات والتداخلات بين الأكواد فمرة تقوم بعمل امر انه لا يحفظ اذا خرجت من النموذج ومرة تطلب انه لا يحفظ اذا كان الإسم موجود ومرة .... و ... و

الخلاصة : يكفي عمل زر امر واحد لعملية الحفظ

ثانيا : كنت اتمنى ان تبحث في المنتدى وتحاول بنفسك لكي تتعلم ولا بأس ان تقوم بالمحاوله مع الخطأ فمن اخطاءنا نتعلم دائما علما بأن المنتدى به مئات الأمثله لمثل هذه الرسائل التي في مثال ذو النموذج الواحد حتى تستفيد وتكتسب خبره .

ثالثا : يعلم الله انه لا يوجد لدي اي مشكله لا في برنامج الأكسيس ولا في قاعدة بيانات اخرى او اي برنامج آخر لكي اضع لكم الحلول الجاهزه من باب المساعدة على نشر العلم ولن ابخل على اي شخص مهما كان ولكن الى متى بارك الله بك فسيأتي يوما من الأيام لن اكون متواجده معكم ولهذا يجب ان تشمر عن ساعديك وتحاول ان تعلم نفسك بنفسك فأنا رايد منك ان تخطئ وتصحح خطأك بنفسك واذا اعيتك الحيله فأبوابنا مفتوحه للمساعده نرى اين مكان الخطأ ونقوم بإصلاحه وابلاغك اين وقع الخطأ مع الشرح الكامل للموضوع .

ختاما اتمنى من الله العلي القدير ان يوفقك لما فيه الخير

بالتوفيق

اختى ومعلمتى الفاضله زهره اولا كل عام وانتى بخير بمناسبة العام الهجرى الجديد

نعم استمع لنصيحتك واقرائها بكل تمعن وافهمها بايضاح كيف لى ان اضيع نصيحه غاليه من معلمه قديره مثلك

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

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

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

وانا اعلم انك لاتبخلين على احد بمساعده ورائحتك الطيبه يازهره تملىء اركان هذا المنتدى

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

وكلنا سعداء بعودتك للمنتدى فهنيئا لنا ياام عهود بعودتك

#22

بارك الله بك اخي الكريم

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

za-Test-LAST.rar

بالتوفيق

1
#23

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

جزاكى الله كل خير ياام عهود على هذه الاضافات الجميله

وجدت بعض الملاحظات

1- فى زر الاغلاق عند وجود بيانات وعند الاغلاق تظهر الرساله ولا يتم الحفظ عند اختيار نعم ولا يتم الاغلاق

قبل التعديل

Private Sub ÃãÑ12_Click()
On Error GoTo Err_ÃãÑ12_Click

On Error Resume Next

If IsNull(Me.Names) And IsNull(Me.Kod) Then
DoCmd.Close

ElseIf MsgBox("åá ÊÑíÏ ÍÝÙ ÇáÈíÇäÇÊ ÇáÓÇÈÞÉ " & vbCrLf & "ÃÖÛØ (äÚã) ááÅÓÊãÑÇÑ Ãæ (áÇ) áÅáÛÇÁ ÇáÃãÑ.", vbQuestion + vbYesNo + vbMsgBoxRight + vbMsgBoxRtlReading, "ÑÓÇáÉ ÊäÈíå") = vbYes Then
DoCmd.Save
DoCmd.GoToControl ("[kod]")

Else
Me.Undo
DoCmd.Close


End If


Exit_ÃãÑ12_Click:
    Exit Sub

Err_ÃãÑ12_Click:
    MsgBox Err.Description
    Resume Exit_ÃãÑ12_Click

End Sub

بعد التعديل (يتم إغلاق القاعده كلها وليس النموذج)

Private Sub ÃãÑ12_Click()
On Error GoTo Err_ÃãÑ12_Click

On Error Resume Next

If IsNull(Me.Names) And IsNull(Me.Kod) Then
DoCmd.Close

ElseIf MsgBox("åá ÊÑíÏ ÍÝÙ ÇáÈíÇäÇÊ ÇáÓÇÈÞÉ " & vbCrLf & "ÃÖÛØ (äÚã) ááÅÓÊãÑÇÑ Ãæ (áÇ) áÅáÛÇÁ ÇáÃãÑ.", vbQuestion + vbYesNo + vbMsgBoxRight + vbMsgBoxRtlReading, "ÑÓÇáÉ ÊäÈíå") = vbYes Then
DoCmd.Save
DoCmd.GoToControl ("[kod]")

Else
Me.Undo

End If

' تم تعديل هذه الجزئيه من قبل انهاء الشرط  الى بعد انهاء الشرط  للاستجابه عند الحفظ والاغلاق 

DoCmd.Close

Exit_ÃãÑ12_Click:
    Exit Sub

Err_ÃãÑ12_Click:
    MsgBox Err.Description
    Resume Exit_ÃãÑ12_Click

End Sub

2-كذلك فى امر الحفظ قبل التعديل

Private Sub ÃãÑ14_Click()
On Error Resume Next

If IsNull(Me.Names) And IsNull(Me.Kod) Then
MsgBox "ÚÐÑÇ ÇÎí ÇáßÑíã .. áÇ íæÌÏ ÈíÇäÇÊ Ýí ÇáÍÞæá"
 Me.Undo
ElseIf MsgBox("åá ÊÑíÏ ÍÝÙ ÇáÈíÇäÇÊ ÇáÓÇÈÞÉ " & vbCrLf & "ÃÖÛØ (äÚã) ááÅÓÊãÑÇÑ Ãæ (áÇ) áÅáÛÇÁ ÇáÃãÑ.", vbQuestion + vbYesNo + vbMsgBoxRight + vbMsgBoxRtlReading, "ÑÓÇáÉ ÊäÈíå") = vbYes Then
DoCmd.Save
DoCmd.GoToControl ("[kod]")

Else
Me.Undo
End If
End Sub

بعد التعيديل

Private Sub أمر14_Click()
On Error Resume Next

If IsNull(Me.Names) And IsNull(Me.Kod) Then
MsgBox "عذرا اخي الكريم .. لا يوجد بيانات في الحقول"
 Me.Undo
ElseIf MsgBox("هل تريد حفظ البيانات السابقة " & vbCrLf & "أضغط (نعم) للإستمرار أو (لا) لإلغاء الأمر.", vbQuestion + vbYesNo + vbMsgBoxRight + vbMsgBoxRtlReading, "رسالة تنبيه") = vbYes Then
DoCmd.Save
DoCmd.GoToControl ("[kod]")
Else
Me.Undo
End If

' تم إضافة هذه الجزئيه للحفظ وتفريغ الحقول

On Error GoTo Err_أمر14_Click
    DoCmd.GoToRecord , , acNewRec
Exit_أمر14_Click:
    Exit Sub
Err_أمر14_Click:
    MsgBox Err.Description
    Resume Exit_أمر14_Click
End Sub

3- تم ارجاع كود زر بيانات اخرى كما فى السابق

الملاحظه الأهم : تم اضافة بيانات وتم حفظها تم ادخال نفس البيانات للتجربه وعند الانتقال من حقل الرقم ظهرت رسالة بان الاسم مسجل ولكن لم تظهر الرساله الثانيه بالكود هل تريد اضافة بيانات

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

الكود اللذى تم تعديله

Private Sub Kod_BeforeUpdate(Cancel As Integer)

  If Nz(DLookup("Kod", "TNames", "Kod = '" & Nz([Kod] & "'", 0)), 0) > 0 Then
                MsgBox " ÓÈÞ ÅÏÎÇá åÐÇ ÇáÑÞã ááãæÙÝ : " & Nz(DLookup("Names", "TNames", "Kod = '" & Nz([Kod] & "'", 0)), "áÇ ÃÍÏ"), vbExclamation, "ÅÏÎÇá ãßÑÑ"
                Kod.SelStart = 0
                Kod.SelLength = Len(Kod.Text)
                Cancel = True
If MsgBox("åá ÊÑíÏ ÅÖÇÝÉ ÈíÇäÇÊ áåÐÇ ÇáÃÓã   " & vbCrLf & "ÃÖÛØ (äÚã) ááÅÓÊãÑÇÑ Ãæ (áÇ) áÅáÛÇÁ ÇáÃãÑ.", vbQuestion + vbYesNo + vbMsgBoxRight + vbMsgBoxRtlReading, "ÑÓÇáÉ ÊäÈíå") = vbYes Then

               DoCmd.OpenForm "FromAdd"

End If
End If

End Sub

شكرا لكى يا ام عهود وعذرا للاطاله

تمنياتى لكى وللجميع بالتوفيق ودوام النجاح

تم تعديل هذه المشاركة بواسطة طالب علم مبتدىء في 28 نوفمبر 2011 في 17:05

#24

للرفع

الملاحظه الأهم : تم اضافة بيانات وتم حفظها تم ادخال نفس البيانات للتجربه وعند الانتقال من حقل الرقم ظهرت رسالة بان الاسم مسجل ولكن لم تظهر الرساله الثانيه بالكود هل تريد اضافة بيانات

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

الكود اللذى تم تعديله

Private Sub Kod_BeforeUpdate(Cancel As Integer)

  If Nz(DLookup("Kod", "TNames", "Kod = '" & Nz([Kod] & "'", 0)), 0) > 0 Then
                MsgBox " ÓÈÞ ÅÏÎÇá åÐÇ ÇáÑÞã ááãæÙÝ : " & Nz(DLookup("Names", "TNames", "Kod = '" & Nz([Kod] & "'", 0)), "áÇ ÃÍÏ"), vbExclamation, "ÅÏÎÇá ãßÑÑ"
                Kod.SelStart = 0
                Kod.SelLength = Len(Kod.Text)
                Cancel = True

               If MsgBox("åá ÊÑíÏ ÅÖÇÝÉ ÈíÇäÇÊ áåÐÇ ÇáÃÓã   " & vbCrLf & "ÃÖÛØ (äÚã) ááÅÓÊãÑÇÑ Ãæ (áÇ) áÅáÛÇÁ ÇáÃãÑ.", vbQuestion + vbYesNo + vbMsgBoxRight + vbMsgBoxRtlReading, "ÑÓÇáÉ ÊäÈíå") = vbYes Then

               DoCmd.OpenForm "FromAdd"

End If
End If

End Sub

تم تعديل هذه المشاركة بواسطة طالب علم مبتدىء في 29 نوفمبر 2011 في 00:00

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