اذهب الي المحتوي
أوفيسنا

متقاعد

الخبراء
  • Posts

    583
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    25

كل منشورات العضو متقاعد

  1. في النموذج المستمر اسهل طريقة باستخدام التنسيق الشرطي للوصول للنتيجة سواء من خلال قيمة حقل او من خلال حقل id وهذا الطريقة التي عملتها اضفت حقل id وجعلته مخفي ثم عملت تنسيق شرطي id=1 ولكل حقل في النموذج المستمر اغير رقم id طريقة بسيطة ولكن تحتاج عملها بعدد الالوان التي لديك لديك 11 لون انا عملت اربعة حقول وبامكانك عملها بنفس الطريقة ربما يمكن عملها بطريقة اخرى ولكن ليس لدي طولة البال في التجريب تحياتي تطبيق لون(2).accdb
  2. ايضا ممكن استخدامها لفلترة السجلات باستخدام اي عدد من الحقول وبالتالي بكود مختصر ومربع نص واحد ممكن الفلترة باسم الموظف اور رقمه او مسمى الوظيفة نعم ممكن عملها بطرق اخرى مثلا في الاستعلام او بالكود ولكن هذه الطريقة تختصر علينا صف المعايير رووووعة Dim strWhere As String strWhere = "[Field1]&[Field1]&[Field3] like '*" & [Text1] & "*'" Me.balancesub.Form.Filter = strWhere Me.balancesub.Form.FilterOn = True هنا الفلترة من خلال ثلاث حقول بواسطة مربع نص واحد ☝️ واعتذر من الاستاذ قدور بالخروج عن الموضوع تحياتي
  3. الله عليك @أبو إبراهيم الغامدي استاذ الاساتذة وهذا تطبيقي لطريقتك Dim strWhere As String strWhere = "[Field1]&[Field2]like '*" & [tx1] & [tx3] & "*'" Me.tx2 = DLookup("[Your_Field]", "tblr", strWhere) روعة وترجع نتيجة صحيح عند وضع المعيار للحقلين اما عند ترك احد المعيارين فارغ فتعود باول تكرار اتفق معك
  4. لذا انا استغربت صحيح الجهاز قديم ولكن مواصفاته تعتبر متوسطة الى جيدة و ربما يكون حجم الرام هو السبب في النتيجة التي حصلت عليها حيث ان حجم الرام كبير 128 جيجا على كل الموضوع مفيد وفيه تنبيه للمبرمج بضرورة اختبار البرنامج على اجهزة بمواصفات مختلفة ولا يكتفي بالجهاز الذي يستخدمه وصلت للموضوع من خلال ردك على الاستاذ محمد لطفي تحياتي
  5. اعتقد استاذ ابو ابراهيم ان استخدام النجمة مع دالة DLookup امر قد يؤدي الى اعادة نتيجة عير صحيحة والسبب ان هذه الدالة ترجع قيمة حقل واحد استنادا إلى المعلومات المحددة في المعايير فاذا وجدت القيمة في اكثر من حقل ترجع القيمة الاولى لذا لابد من استخدام المعيار فريد وهذا لا يتحقق عند استخدام النجمة
  6. مشاركة مع الاساتذه ممكن تقسيم الشرطين كل شرط في سطر Dim strWhere As String strWhere = "[Field1]='" & [tx1] & "'" strWhere = strWhere & " and [Field2]='" & [tx2] & "'" Me.tx2 = DLookup("[Your_Field]", "tbl", strWhere) واعتقد ان هذه الطريقة اكثر سهولة تحياتي
  7. مع اتفاقي معك فيما اشرت اليه بتجنب استخدام هذه الدوال في الاستعلام الا ان الاستعلام فتح خلال ثواني والغريبة ان الحهاز الذي جربت عليه يعتبر قديم ومواصفاته متوسطة
  8. الحقيقة اختلط الامر على فانا لم احمل المرفق ⬇️ لذا اعتذر منكم استاذي ومن اخي العزيز ابو بسملة الحقيقة مواضيع دكتورنا الفاضل محمد حلبي لها طابع مختلف وتجذبني دائما تحياتي
  9. اهم شي كبسنا وجودك في الموضوع طيب لو اردنا العمل بدون تكرار الرسائل وبدون متغيير نضع Exit For عند اول مرور على حقل فارغ ويكون كود الاستاذ موسى Dim ctl As Control For Each ctl In Me.Controls If ctl.ControlType = acTextBox Then If Len(ctl.Value & "") = 0 Then MsgBox "كمل شغلك :)" Cancel = True Exit For End If End If Next ctl تحياتي
  10. كلامك صحيح والسبب ان الرسالة داخل الحلقة التي تمر على حقول النموذج فاذا كان عدد الحقول الفارغة 1 تظهر رسالة واحد وان كان عدد الحقول الفارغة اكثر سوف تظهر بعدد الحقول الحقيقة انا لم احمل المثال ولكن كفكرة بسيطة ممكن نجرب اضافة متغيير بسيط رقمي ونستفيد من قيمة المتغيير الافتراضية "0" Dim x As Byte Dim ctl As Control For Each ctl In Me.Controls If ctl.ControlType = acTextBox Then If Len(ctl.Value & "") = 0 Then x = 1 Cancel = True End If End If Next ctl If x <> 0 Then MsgBox "كمل شغلك :)" End If كما اشرت انا لم اجرب المثال ولكن منطقيا ستكون الاجابة صحيحة تحياتي
  11. ولك مثله واكثر اخي احسن الله اليك فعملك اكثر نفعا مما تظن تحياتي وتقديري
  12. مرفق مثال بسيط حسب فهمي للموضوع وحاولت اني ابسطه باكبر قدر ممكن لعله يحقق المطلوب او ينتفع به احدهم ايضاح اذا رغبت البحث فقط بالحرف الاول احذف * من بداية المعيار في الاستعلام تحياتي Database8.accdb
  13. اخي العزيز الاخ جعفر اعطاك امثله ممكن تطويعها لتنفيذ المطلوب قالامر سيان لنوذج او لقائمة منسدلة او مربع قائمة كل المطلوب من طالب العلم ان يشاهد الامثلة ثم يحاول تطويعها وانا من رأي اخي جعفر في انتظار مرفقكم ليقوم الزملاء بتعديله او تقديم اقتراحاتهم بشأنه تحياتي
  14. الاستاذ @jjafferr ماشاء الله عليه ماقصر وضع حل متميز كالمعتاد مع ذلك فكرتي المتواضعة عن طريق متغير عام Public k As Byte هذا المتغير سوف نستخدمه في النموذج والتقرير في زر امر طباعة نضع الامر Dim i As Byte k = 0 For i = 0 To 2 k = k + 1 DoCmd.OpenReport "re1", acViewPreview, , Me.frm1.Form.Filter DoCmd.PrintOut Next في راس التقرير وضعت تسمية وفي حدث عند الطباعة وضعت الامر If k = 1 Then Me.tt.Caption = "جزاءات" ElseIf k = 2 Then Me.tt.Caption = "ماهيات" Else Me.tt.Caption = "ماهيات وجزاءات" End If والنتيجة فتاكة ليست الحل الامثل ولكن تؤدي المطلوب تحياتي
  15. وجهة نظر معقولة ✔️
  16. اتفق معك في جميع النقاط ماعدا رقم 2 احيانا يتأخر العضو في مشاهدة الرد او يحتاج الى وقت لاجراء التعديل والتجربة على الملف الاصلي واذا قام المشرف باختيار افضل اجابة فان العديد من الاعضاء لن يهتموا بالموضوع حتى لو تم رفعه من صاحب المشاركة ولنفترض جدلا في احد المواضيع شارك اكثر من استاذ بوضع اجابة صحيحة فايهم سيختار المشرف ؟ بينما صاحب الموضوع سوف يختار الاجابة التي يستطيع تنفيذها على برنامجة حتى لو كانت الاخرى اكثر احترافية . تحياتي
  17. انا منتسب للموقع منذ سنوات عديد ومبرمج متقاعد هي ثالث عضوية لي " معرفاتي السابقة تركتها بمحض ارادتي " ويشهد الله انني لم المس اي تحيز بشكل مقصود وانما اجتهادات البعض منها قد يكون غير موفق وعند محاولة تبريرها بحجة بعض القوانين فانه قد ينظر اليها كنوع من التحيز وانا على يقين انها ليست كذلك. في جميع الاحوال يبقى الموقع منار لنشر العلم والمعرفة وملتقي لاساتذة كبار استفدنا من علمهم وخبراتهم فلهم جميعا كل التقدير والاحترام. واتوقف هنا والى لقاء في موضوع اخر تحياتي
  18. صباح الخير اخي جعفر هي فقرة واحد والواو واو الاستئناف ☝️ بدون اسباب موضوعية او مخالفة صريحة وان يقوم المشرف بابلاغ صاحب المشاركة المخالفة باسباب اغلاقها او تحريرها اما بالنسبة للموضوعات القديمة فيفترض ان يكون هناك مدة زمنية محددة يتم بعدها الاغلاق ولا يترك الامر للاجتهاد فيغلق موضوع متميز بحجة تطبيق النظام وتترك مواضيع اقدم منه ! في جميع الاحول مشاركي الاولى لم تكن تهدف الى تقديم مقترحات بقدر ماكانت تمثل وجهة نظر صيغت باسلوب الايهام تحياتي
  19. اذا ممكن شرح هذه النقطة حتى نقدر نستفيد منها 🙂 المقصود بذلك الشمولية الوضوح امكانية التطبيق عدم الانتقائية الا تكون مبررا لتجاوزات بعض القائمين عليه والا سيكون القانون منفر بدلا من ان يكون منظم ب. فهمتها وكتبتها في الملخص، في نهاية اول مشاركة لي ، أ. ما فهمت كيف شو دور المشرفين فيها !! اسمح لي اقتبس هذا الجزء من مشاركة سابقة ربما يوضح الامر تحياتي،،
  20. وعليكم السلام اخي جعفر بدخل في الموضوع مباشرة القوانين وضعت للتنظيم وليست للتنفير اغلب اعضاء الموقع ممن يسهموا في تقديم الحلول ومشاركة الخبرات يكتبون باسماء مستعارة فالهدف نشر المعرف وتقديم يد العون للاخرين كل بمجهوده والتضييق على البعض منهم باغلاق مواضيعهم او تحريرها بدون اسباب موضوعية امر يدعو للتعجب اخيرا قالت العرب : من شدد نفر و من تراخى تألف واصدق من ذلك قوله عز وجل " فَبِمَا رَحْمَةٍ مِّنَ اللَّهِ لِنتَ لَهُمْ ۖ وَلَوْ كُنتَ فَظًّا غَلِيظَ الْقَلْبِ لَانفَضُّوا مِنْ حَوْلِك " اكتفي بما سبق والله الموفق .
  21. طريقة اخرى عن طريق متغير عام اولا نعلن عن متغير في اي وحدة نمطية حتى لو كانت فارغة Public x As Byte في النموذج form1 في حدث عند الفتح نضع الامر x=1 في نفس النموذج في حدث عند الاغلاق نضع الامر x=0 في نموذج frm3 نضع الامر If x = 0 Then MsgBox "لايمكن فتح النموذج", vbCritical, "تنبية" Cancel = -1 Exit Sub End If مرفق مثال mm(1)(2).mdb
  22. في النمودج 2 في حدث عند الفتح نضع الامر التالي If (Application.CurrentProject.AllForms("form1").IsLoaded) = False Then MsgBox "لايمكن فتح النموذج", vbCritical, "تنبية" Cancel = -1 End If مرفق مثال حاول تفتح نموذج frm3 لن يفتح معك افتح نموذج form1 ثم جرب فتح frm3 سيتم فتحه اخي احمد لسهولة الاجابة على استفساراتك مستقبلا قم بوضع مثال تسهيلات على من يرغب الاجابة تحياتي mm(1).mdb
  23. مشاركة مع الاستاذ @kanory باستخدام كود فلترة بمعيارين وبدون معايير الاستعلام Dim strWhere As String strWhere = "" strWhere = strWhere & " [السائق] like '*" & Text1 & "*'" strWhere = strWhere & " and " & " [الشهر] like '*" & tx2 & "*'" Me.frm1.Form.Filter = strWhere Me.frm1.Form.FilterOn = True ولطباعة تقرير نتيجة الفلترة DoCmd.OpenReport "re1", acViewPreview, , Me.frm1.Form.Filter مرفق الملف mm(1).mdb
  24. في خصائص التقرير تنسيق لون اسود بديل بدون
×
×
  • اضف...

Important Information