-
Posts
1,715 -
تاريخ الانضمام
-
Days Won
5
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
مشاركات المكتوبه بواسطه أبو عبدالله الحلوانى
-
-
السلام عليكم ورحمة الله وبركاته
أولا - تقبل الله طاعاتكم ورمضان مبارك عليكم ان شاء الله
وبعد؛
انشأت دالة لحساب بعض القيم وكان من ضمن البارمترات الممرة لها تاريخ يمكن ان يكون غير موجود ولاحظت عند الدبج للدالة انه يقوم بحساب التاريخ سواء كان موجودا أو غير موجود رغم اني وضعت كل الاحتمالات لكون التاريخ غير موجود، مثل:
1- if len(sarfDate & "") >0 2- or sarfDate = 0 3- or sarfDate = null
ارجو المساعدة وجزاكم الله خيرا
ربما الصور توضح المقصود ان شاء الله
-
منذ ساعه, RaDwAn00 said:
بالرغم من ترك الحقل فارغ الا انني عند الخروج من النموذج والدخول مرة اخرى ارى رقم السجل الاخير قد تغير
حقيقة لا استطيق تخمين ما حدث معك سوي ان هذا الحقل مرتبط بحقل بالجدول
علي كل يمكنك ان تنشىء نموذج مصغر للنموذج الذي به المشكلة وترفقه فليس من سمع كمن رأي
-
15 دقائق مضت, ABOLO2 said:
اثقلت عليك استاذي
و لكن اعذرني
فأنا احاول لاتعلم
كلنا ذلك الرجل
هل فكرة التنسيق مناسبة لك ام مازلت بحاجة للتعديل علي الفانكشن
-
7 ساعات مضت, alawael said:
فترة الضمان تكون صفر ويمحى ما بداخل نهاية التاريخ
فترة الضمان تكون صفر تمام مفهومة
لكن لماذا يتم ازالة تاريخ نهاية الضمان وهي بوجهة نظري معلومة مفيدة يجب حفظها بقاعدة البيانات ليتم الرجوع اليها وقت الحاجة
جرب هذه الفكرة لعلها تروق لك
- 1
-
جزاك الله خيرا
ومبارك الترقية خبيرا
قد شرف بكم اللقب فأنتم أهله وأحق به
- 1
-
-
-
السلام عليكم
8 ساعات مضت, ABOLO2 said:توضيح الكود (شرح)
انت اللي جبته لنقسك - اسمع شرح الصعايدة - وامرك لله
بس علي شرط لو لم تتفهم من الشرح شىء - عليك الاستعانة بالله أولا - ثم قم بشراء قاموس مفرادات اللهجة الصعيدية ولا تطلب الاعادة.
توكلنا علي الله
في 13/3/2022 at 20:56, أبو عبدالله الحلوانى said:'1 '2 '4 '3 Public Function TestRequeredField(ByRef frm As Form) As Boolean
1- في هذا السطر بنعرف دالة عامة - حتي نستطيع ان ننادي عليها من اي مكان بالبرنامج
2- لماذا دالة وليس اجراء؟! يعني لماذا Function وليس Sub ؟!
3- نعم لأن الدالة يمكن تحويلها الي قيمة وهذا ما حدث هنا فقد تم تحويل هذه الدالة الي قيمة منطقية ( True - False)
فبعد ان تنتهي دالتنا من مهمتها ستتحول الي قيمة true في حالة الانتهاء من مهمتها بنجاح والا الي false
4- وكنا بحاجة الي تمرير اسم الفورم الذي ستتعامل معه دالتنا فكان لا بد من وضع بارمتر للدالة لنمرر قيمة هذا البارمتر عند منادة الدالة من الفورم - وعلي حد علمي يمكن تمرير البارمتر بطريقتين:
أ- ByVal = وبهذه يتم تمرير القيمة للبارمتر - بحيث نخبر الدالة ان تتعامل مع هذا البارمتر كقيمة مثلا: عندما امرر اسم مربع نص لهذا البارمتر من الفورم فستقوم الدالة بالتعامل مع النص الذي بداخل مربع النص (ارجو ان يكون الأمر واضح)
ب- ByRef = وهذه تتعامل مع كائن المرر علي اعتباره وليس علي اعتبار قيمته ، مثلا: بالمثال السابق عند تمرير اسم مربع النص سيتم التعامل مع مربع النص كمربع نص - يعني ككنترول - وليس كرقم او نص الذي بداخل هذا الكنترول
لا تنسي الشرط - والقاموس
اما عن C فكنت قد عرفته في جزء التعريفات العام ولم ارفق هذا الجزء بالكود ولم انتبه الا عند ممارستي لهواية الشرح
وكان تعريف الـ c هكذا
Dim C As Control
وهكذا لا حاجة لتوضيح شىء آخر عن هذه النقطة والحمد لله
اما عن باقي الكود
فهذا لا يحتاج الي شرح اليس كذلك
وعلي كل وان كنت مصر
فهذا هو مدار الكود ان يتم التحقق من كل كنترول مظنة اداخل البيانات منه مثل: textbox - أو - combobox
ان كان يحمل تاج * هل هو فارغ ام لا ان كان فارغ يعطي الدالة قيمة false وينهي الاجراء ويظهر رسالة ويظلل خلفية هذا الكنترول بلون اصفر وضع التركيز عليه
ولا تسأل لماذا اللون الأصفر لأني لا أدري لماذا أفضله
أعتقد ان الشرح قد انتهي
وأسأل الله أن ييسر لكم فهم ما قلت
ولا تنسي شرطنا واتفاقنا منذ البداية
تمنياتي بالتوفيق
- 1
- 1
-
19 دقائق مضت, RaDwAn00 said:
وقمت بالخروج من النموذج فانه يقوم بانشاء سجل فارغ وهذا ما لا اريده
اذا اكتب الكود بهذا الشكل في حدث عند الخروج
ووافنا بالنتائج
Private Sub Form_Close() If TestRequeredField(Me) = False Then Me.Undo End If End Sub
- 1
-
8 ساعات مضت, ابو عبد الرحمن العراقي said:
دقة الحقل العشري صغيرة جدا لقبول الرقم الذي حاولت إضافته
run-time error 3761هلا تفضلت بمزيد من التوضيح ما هو الرقم الذي حاولت اضافته وكيف تريد ان يظهر وما هي النتيجة الخطأ التي تواجهك؟!
-
- 1
-
السلام عليكم ورحمة الله وبركاته
اولا - أنشأ موديل وضع به هذا الكود
Public Function TestRequeredField(ByRef frm As Form) As Boolean 'Elhlawany 21/12/2021 'test if control is marked with * or not On Error Resume Next For Each C In frm.Controls If C.ControlType = acTextBox Or C.ControlType = acComboBox Then If C.Tag = "*" And Len(C & "") = 0 Then C.BackColor = vbYellow C.SetFocus msgbox "This is Required Field you must fill it!" 'MakeMsg (45) TestRequeredField = False Debug.Print C.Name Exit For Exit Function Else TestRequeredField = True End If End If Next End Function
ثانيا- من خصائص الحقل او الحقول التي تريد التحقق منها اضبط خاصية التاج الي نجمة بهذا الشكل
ثالثا- في زر الحفظ ضع هذا الكود
If TestRequeredField(Me) = True Then 'Write here what you want happin Else Beep End If
ودمتم
ولا تنسانا من دعواتك
- 1
-
-
44 دقائق مضت, RaDwAn00 said:
في نموذج اضافة مريض جديد اريد ادخال حقل
هذا الحقل الذي تريد ادخاله - ضع الكود في حدث بعد التحديث له
أو اخبرنا اكثر عن آلية العمل حتي استطيع تخمين ما تريد فعله بالضبط
او قم بالتسهيل علينا وارفق مرفقا
-
مشاركة مع أستاذي وأخي @Moosak
يمكنك اضافة حقل يحمل كود المعاملة مثلا الصادر 1 الوارد 2 وهكذا
بحيث يكون رقم المسلسل ورقم المعاملة هما مفتاحان يرتبط بهما جدول المرفقات بحيث يكون المرفق 1 للحقل 1 للمعاملة 2 مثلا
ارجو ان يكون هذا الكلام مفهوم
- 1
-
وعليكم السلام ورحمة الله وبركاته
29 دقائق مضت, RaDwAn00 said:يعطيني رقم السجل الاخير من قائمة المرضى
ان كنت تقصد رقم المسلسل للسجل الأخير فيمكنك ان تستخدم احد هذين الكودين للحصول عليه
'1 dim lastReqrd as integer lastReqrd=Dlast("ID","YourTableName") '2 lastReqrd=Dmax("ID","YourTableName")
وانصحك بالكود الثاني ان كان السجل الأخير هذا يحمل قيمة رقمية متسلسلة بشكل تصاعدي
اما ان كنت تقصد بالسجل الأخير العدد النهائي للسجلات بعد اضافة اخر سجل فاستخدم هذا سيعطيك ما تريد ان شاء الله
dim lastReqrd as integer lastReqrd=Dcount("ID","YourTableName")
تمنياتي بالتوفيق
-
الأمر بسيط للغية ولكن طلاسم لغة الوسوم لم استطع حلها حتي الآن
في نموذج الأكسس عندما يكون النموذج مرتبط بجدول فعند تمرير القيمة من النموذج الي الجدول يدويا او عن طريق الكود فلا يوجد فرق اذ ان القيمة يتم تخزينها بالجدول سواء تم ادخالها يدويا من الفورم او عن طريق ضغط زر علي الفورم اليس كذلك؟!
ولكن بالنسبة لصفحة الويب عند الضغط علي الاتشك يتم تنفيذ الأمر وتغير القيمة بالجدول مباشرة
وعند تمرير القيمة من خلال الكود لا يحدث شىء سوي تعليم الاتشك شكليا ولا يتم تمرير القيمة الي الجدول
هذا كل ما في الأمر
ارجو ان اكون قد اوضحت الفكرة بشكل كاف هذه المرة
وبالمثال المرفق توضيح للمطلوب بالضبط
وجزاكم الله خيرا
-
11 ساعات مضت, أبو إبراهيم الغامدي said:
أيش يعني أرسال القيمة بدلا عن معرفتها؟! ومن أين ترسل؟
عنيت بها ما تفضلتم به بالمرفقكم الأول والذي كان يعرض رسالة لبيانات الحقل الذي قيمة الاتشك به = true
وقد تفضلتم بمرفقكم الأخير بحل هذا الامر وجزاكم الله خيرا
11 ساعات مضت, أبو إبراهيم الغامدي said:في ظني أنك تريد حفظ البيانات على صفحة بعد تحديد السجلات المراجعة
يبدو اني لم احسن توضيح مقصدي بشكل كاف ارجو ان يكون المثال المرفق به توضيح اكثر للفكرة المطلوبة
بهذا المرفق شرح للفكرة وتنفيذ بسيط لها
وجزاكم الله خيرا
-
الأخ @khaledmm عضو جديد ولعله لم ينتبه علي تاريخ الموضوع الذي بحث عنه قبل ان يطرح موضوعه
ولعله أراد ان يطرح نفس الموضوع
- 1
-
-
31 دقائق مضت, Moosak said:
الأفضل أن ترفق مثال (مرفق) ليتضح الأمر .
-
وعليكم السلام ورحمة الله وبركاته
هذين الجدولين هما جداول نظام يتم التعامل معهم آليا من قبل الاكسس
وهما كما هو واضح مرتبطين بعلاقة رأس بأطراف بين جدول يخزن اسماء المجموعات التي يتم انشاءها وبيانات العناصر داخل هذه المجموعة
تابع الصور
وهي مفيدة في عملية تصنيف الكائنات المرتبطة ببعضها البعض ليسهل الوصول اليها بالنسبة للمطور
- 1
- 1
-
قم بتعديل الكود بهذا الشكل
DoCmd.SetWarnings False DoCmd.OpenQuery "Q10" DoCmd.SetWarnings True me.Requery
ووافنا بالنتائج
- 1
-
في 4/3/2022 at 02:42, walid7799 said:
هذا الكود لكى يعمل لا بد من مديزل داعم وألا أصبح يأخذ مسار واحد
حقيقة لم افهم قصدك
ولكن هذا اكود بحاجة لاضافة مكتبة الأوقيس الخاصة بالاصدار الذي تعمل عليه من الــ refrences
مثل هذه الصور
ملاحظة: يختلف رقم الاصدار حسب الاصدار الذي تعمل عليه
فأوفيس 2003 تقريبا اصدار الخاص به 0.11
فأوفيس 2007 تقريبا اصدار الخاص به 0.12
وهكذا
وعلي كلا ان لم يكن هذا مرادك فرجاءا زيادة توضيح عن ما المشكلة التي تواجهها
- 1
كيف أخبر الدالة ان التاريخ غير موجود عند تمرير بارمتر تاريخ اختياري للدالة
في قسم الأكسيس Access
قام بنشر
جزاك الله خيرا علي المشاركة حياك الله وبياك
وجدت هذا الموضوع
https://stackoverflow.com/questions/18497942/function-optional-parameter-date-type-fails
وقد أفدت من الاجابة الثالثة فيه وقمت ببعض التعديل علي الكود بهذا الشكل
1-if len(srfdate & "") >0 2- And srfdate <> 0 ' Replace Or By And 3- and srfdate <> null 4-And srfdate > #12/31/2000# 'Add Defulte value Can control by it
وقد اعطتني الدالة قيم صحيحة والحمد لله
لن أقوم بوضع علامة مجاب علي الموضوع لعلي اجد بمشاركات الأساتذة حلا محترفا أكثر
وجزاكم الله خيرا