اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

يوسف أحمد

المشرفين السابقين
  • Posts

    1,055
  • تاريخ الانضمام

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

  • Days Won

    1

كل منشورات العضو يوسف أحمد

  1. بارك الله فيك استاذنا العزيز شيفان نعم المقصود البحث و لكن ليس لكل السجلات بل للسجلات التي تضاف الى مربع التحرير و السرد و لهذا سميتها مفضلة لان المستخدم احياناً يريد ان يتنقل بين سجلات محددة هو يريدها و لا يريد البحث في كل السجلات و عندها يستخدم هذه الطريقة ... عملية الاضافة تكون للسجل الحالي و الحلقة التكراراية لتفادي اضافة قيمة موجودة للسجل الحالي من ضمن عناصر مربع التحرير و السرد .. اشكرك مرة اخرى على اهتمامك و مرورك العطر
  2. و عليكم السلام و رحمة الله و بركاته اخي العزيز محمود لعمل ذلك ضع الكود التالي في حدث عند مفتاح للاسفل لمربع النص الخاص بكود فاتورة الشراء If KeyCode = vbKeyF12 Then DoCmd.GoToRecord , , acNewRec Me.SH_A_F.Form!BAR_COD.SetFocus End If تفضل المرفق بعد التعديل بالتوفيق SOBAR (2).rar
  3. بارك الله فيك اخي العزيز حلبي و شكراً جزيلاً لك على مرورك الكريم الاستاذ و الاخ العزيز شيفان : الكود يمر على جميع عناصر مربع التحرير و السرد ليتأكد ان كان هناك تكرار او لا حتى تتم الاضافة لكل عنصر على حدة و في نفس الوقت تجنب اضافة عنصر موجود سابقاً و هنا تبدأ الحلقة من صفر حيث ان اول عنصر في مربع التحرير و السرد يساوي صفر ثم نختبر قيمة مربع النص مع العنصر الذي فهرسة يساوي المتغير I فاذا تساوت القيم فيخرج من الحلقة و لا يضيف عنصر جديد لمربع التحرير و السرد .. و يتم اضافة واحد الى قيمة المتغير ليتم استكمال الحلقة .. اما اذا كانت قيمة مربع النص لا تساوي قيمة مربع التحرير و السرد فهنا تضاف القيمة الى عناصر مربع التحرير و السرد ... اشكرك جزيل الشكر على مرورك العطر و اتمنى ان تكون الفكرة وصلت بشكل اوضح
  4. السلام عليكم و رحمة الله و بركاته اخواني و اساتذتي الاعزاء ارفق لكم فكرة عمل مفضلة بحث لجلسة العمل الواحدة و فكرتها تشبه الى حد ما مفضلة متصفحات الانترنت ... و الفكرة تتلخص في التالي : انشاء مربع تحرير و سرد نوع مصدر الصف له قائمة قيم ... مربع التحرير و السرد هذا ليس له مصدر بيانات و لكن يتم اضافة القيم اليه من خلال زر اضافة و يتم حذف القيم منه باستخدام زر حذف ... و الفائدة من هذه الفكرة هي : انتقاء بعض السجلات و التنقل بينها بسهولة دون الرجوع الى نظام البحث بالبرنامج و تعمل قيم مربع التحرير و السرد المنتقاة كاشارات مرجعية محفوظة لجلسة العمل الواحدة . المثال يتكون من جدول اسمه tbl1 و نموذج اسمه frmFavourites و هذا النموذج مصدره الجدول النموذج يحتوي على مربع تحرير و سرد اسمه ( comboSearch ) لإضافة و حذف الاشارات المرجعية من خلال زري امر احدهما يحمل علامة + اسمه cmdAdd للاضافة و الاخر يحمل علامة - و اسمه cmdDelete للحذف. اكود المثال : 1: كود يجعل قيمة مربع التحرير و السرد عند فتح النموذج تساوي فراغ (Null) اي عدم وجود قيمة ظاهره به .. و هذا الكود هو بحدث عند الفتح للنموذج: Me.comboSearch = Null 2: كود بحدث عند النقر لزر الحذف cmdDelete و هذا الكود خاص بحذف القيمة الظاهرة على مربع التحرير و السرد عند عدم الحاجة اليها .. و هذا الكود كالتالي : On Error Resume Next Me.comboSearch.RemoveItem (Me.comboSearch.Value) Me.comboSearch = Null السطر الاول : يقوم باستئناف السطر التالي للكود عند وجود خطأ . السطر الثاني : يقوم بحذف العنصر المختار من مربع التحرير و السرد السطر الثالث : يقوم بازالة هذه القيمة حتى لا تبدو ظاهرة 3: كود بحدث بعد التحديث لمربع التحرير و السرد و هذا الكود خاص بعملية البحث في سجلات النموذج بناءً على قيمة حقل الاسم بالنموذج و الكود كالتالي : Me.txtName.SetFocus DoCmd.FindRecord Me!comboSearch If Me.comboSearch <> Me.txtName Then Me.comboSearch.RemoveItem (Me.comboSearch.Value) Me.comboSearch = Null End If السطر الاول : ينقل التركيز على مربع النص الخاص بالاسم حتى يتم تنفيذ عملية البحث. السطر الثاني : يقوم بعملية البحث بناءً على قيمة مربع التحرير و السرد السطر الثالث : باستخدام الجملة الشرطية If يتم مقارنة قيمة مربع التحرير و السرد مع قيمة مربع النص الخاص بالاسم . و هنا المقارنة بعدم المساواة .. اي اذا كانت قيمة مربع التحرير و السرد لا تساوي قيمة مربع النص ... السطر الرابع : في حالة عدم المساواة فإن هذا يعني عدم تطابق عملية البحث اي لا يوجد سجل مطابق لقيمة مربع التحرير و السرد . السطر الخامس : بناءً على عدم وجود قيمة كما هو موضح بالسطر الرابع فسيتم حذف هذا العنصر من مربع التحرير و السرد. السطر السادس : و سيتم حذف القيمة الظاهرة على مربع التحرير و السرد الخاصة بالعنصر المحذوف. السطر السابع : انهاء الجملة الشرطية If . 4: و هذا الكود خاص بزر اضافة الاشارات المرجعية للسجلات الى مربع التحرير و السرد ليتم استخدامها .. و هو كالتالي : Dim i As Integer If IsNull(Me.txtName) Then MsgBox "لا يوجد قيمة للإضافة", vbMsgBoxRight, "تنبيه" Exit Sub End If For i = 0 To Me.comboSearch.ListCount If Me.comboSearch.ItemData(i) = Me.txtName Then Exit For i = i + 1 Else Me.comboSearch.AddItem (Me.txtName) MsgBox "تمت اضافة اشارة مرجعية", vbOKOnly + vbMsgBoxRight, "اشارة مرجعية" Exit Sub End If Next السطر الاول : تعريف متغير من نوع عدد صحيح السطر الثاني : استخدام الجملة الشرطية If لاختبار قيمة مربع النص الخاص بالاسم ان كانت خالية . السطر الثالث : سيتم اظهار رسالة للمستخدم تخبره بعدم وجود قيمة للاضافة . السطر الرابع : الخروج من الاجراء السطر الخامس : انهاء الجملة الشرطية If . السطر السادس : استخدام الحلقة التكرارية For ... Next للمرور على جميع عناصر مربع التحرير و السرد ، و تم استخدام هذه الحلقة التكرارية ليتم مقارنة قيمة مربع النص الخاص بالاسم مع كل عنصر من عناصر مربع التحرير و السرد حتى يتم تفادي اضافة قيمة موجودة مسبقاً من ضمن عناصر مربع التحرير و السرد. السطر السابع : باستخدام الجملة الشرطية If يتم اختبار قيمة عنصر مربع التحرير و السرد للفهرس المساوي للمتغير I علماً بأن القيمة ستبدأ بالصفر لاول عنصر من عناصر مربع التحرير و السرد و تزداد هذه القيمة بمقدار واحد ( كما هو موضح بالسياق ) فإذا كانت مساوية لقيمة مربع النص فإن هذا يعني ان العنصر هذا موجود مسبقاً من ضمن عناصر مربع التحرير و السرد. السطر الثامن : يتم الخروج من الحلقة التكرارية. السطر التاسع : اضافة واحد الى قيمة المتغير I ليتم المرور على العنصر التالي من عناصر مربع التحرير و السرد. السطر العاشر : تعني و الا .. اي اذا كانت قيمة عنصر مربع التحرير و السرد لا تساوي قيمة مربع النص . اي ان قيمة مربع النص الخاصة بالاسم غير موجودة ضمن عناصر مربع التحرير و السرد. السطر الحادي عشر : يتم اضافة القيمة الى مربع التحرير و السرد. السطر الثاني عشر : يتم اخبار المستخدم برسالة بأن العنصر تمت اضافته. السطر الثالث عشر : يتم الخروج من الاجراء . السطر الرابع عشر : انهاء الجملة الشرطية If . السطر الخامس عشر : العودة للحلقة التكرارية الى ان يتم المرور على جميع عناصر مربع التحرير و السرد. اعتذر على الاطالة و ارجو ان اكون وفقت في شرح الفكرة و خصوصاً لاخواني المبتدئين حتى يسهل عليهم تطبيقها ان ارادوا الاستفادة منها . اليكم المثال بالتوفيق للجميع مفضلة البحث لجلسة العمل الواحدة.rar
  5. و فيك بارك و اياك جزى اخي العزيز في الحل المرفق استخدمت دالة بوحدة نمطية سميتها (mdlRound) للاستاذ الرائع جعفر بالرابط ادناه مع تعديل بسيط لتفي بما تبحث عنه ان شاء الله تفضل من هنا جرب و اخبرني بالنتيجة بالتوفيق Prog 2019.rar
  6. و عليكم السلام و رحمة الله و بركاته الطريقة تحتاج الى تغيير خاصية النموذج FilterOn الى True عند عملية البحث ليكون هناك تصفية حاصلة للنموذج و بناءً عليه سيتم تنفيذ فلتر النموذج على التقرير عند فتحه انظر المرفق بعد التعديل و لاحظ عملية الفلترة للنموذج . نصيحة لكل اخواني بالمنتدى بعدم كتابة الاسماء بالعربية فهذا لا يوضح التعابير و الاكواد بشكلها الصحيح اضافة الى اسباب برمجية اخرى بالتوفيق طلب استفسار.rar
  7. و عليكم السلام و رحمة الله و بركاته اخي العزيز حربي الفرق يساوي 0.001 ان شاء الله يكون الحل باضافة الفرق على ناتج الجمع ليكون التعبير كالتالي : =Sum([Qsafi])+0.001 بالتوفيق
  8. و فيك بارك اخي العزيز kanory نعم تم الحل بنفس الطريقة التي ذكرتها اعلاه اضافة الى وجود اجراء تم تغيير جملة تعريفه بنفس الطريقة . اشكر لك اهتمامك
  9. تفضل اخي العزيز جرب و اخبرنا بالنتيجة بالتوفيق for gud.rar
  10. و عليكم السلام اخي العزيز .. غير الجملة Private Declare الى Private Declare PtrSafe في جميع الدوال البرمجية . او ارفق ملفك كي يتمكن الجميع من المساهمة في الحل بالتوفيق
  11. بارك الله فيكم اخواني ممكن ايضاً الاستغناء تماماً عن استخدام الدالة int و التعويض عنها باستخدام علامة القسمة الصحيحة ( \ ) كالتالي : A: IIf([TOTAL]<0;Abs([SH_TOTL]-[B_TOTL])\[t]*-1 & " " & "كرتونة";([SH_TOTL]-[B_TOTL])\[t] & " " & "كرتونة")
  12. و عليكم السلام و رحمة الله و بركاته تفضل الكود اخي العزيز If Me.FilterOn = False Then DoCmd.OpenReport "rpt1", acViewReport Else DoCmd.OpenReport "rpt1", acViewReport, , Me.filter End If حيث ان rpt هو اسم التقرير تفضل مثال على ذلك بالتوفيق filter.rar
  13. بارك الله فيك استاذ شيفان ... و لا يهمك نحن مكملين لبعض و شرف لي مشاركتك في اي موضوع استخدام الدالة ABS هو الحل ... و عندي فقط تعديل بسيط على معادلة الكرتونة A A: IIf([TOTAL]<0;Int(Abs([SH_TOTL]-[B_TOTL])/[t])*-1 & " " & "كرتونة";([SH_TOTL]-[B_TOTL])\[t] & " " & "كرتونة") بالتوفيق للجميع
  14. بارك الله فيك اخي العزيز محمود اسأل الله ان اكون عند حسن ظنكم بي ما طلبته اعتقد بأنه محقق بالمعادلات السابقة ... ( انا جربت بتعديل القيم ) .. لأن المعادلة مرتبطة بقيمة حقل المجموع total جرب و ضع نفس القيم و اخبرني بالنتيجة .. او ارفق ملفك به القيم المطلوبة بالتوفيق
  15. و عليكم السلام و رحمة الله و بركاته اخي العزيز محمود للحقل A استخدم التعبير التالي : A: Int(([SH_TOTL]-[B_TOTL])/[t]) & " " & "كرتونة" و للحقل B استخدم التعبير التالي : B: [total] Mod [t] & " " & "قطعة" تفضل ملفك بعد التعديل بالتوفيق MM.rar
  16. ملف الاستاذ ابا جودي مضبوط .. و ملفك يظهر به علامات استفهام و عندما غيرت الخط حسب ما افاد استاذ ابا جود ضبط معي .. ارفق لك الملف Database1 (1).rar
  17. السلام عليكم مشاركه مع اخواني الاعزاء واجهت هذه المشكلة من قبل و كنت استخدم الإصدار 2007 و عندما قمت بتثبيت أكسس ٢٠١٣ ظهرت العناوين بالعربي ، جرب تثبيت أكسس ٢٠١٠ او ٢٠١٣ بالتوفيق
  18. و عليكم السلام و رحمة الله و بركاته اخي العزيز عبد العزيز الرابط ادناه به ما تبحث عنه ان شاء الله و هو للاستاذ الفاضل ابو خليل جزاه الله خير الجزاء تفضل من هنا بالتوفيق
  19. ما تم عمله هو استعلام تحديد يحتوي على معيار للتاريخ ما بين مربعي نص على نموذج و من ثم عمل استعلامين مبنيين على هذا الاستعلام احدهما للاكثر مبيعاً و الاخر للاقل مبيعاً و تم عمل تقريرين مبنيين على الاستعلامين ... تفضل المرفق بعد التعديل بالتوفيق كميات.rar
  20. و عليكم السلام اجعل مصدر التقرير استعلام تجميعي و اجمع فيه الكميات و ضع معايير التواريخ ( من و الى ) تحت حقل تاريخ الطلب و يفضل وضع ملف من طرفك للعمل على حل المشكلة بالتوفيق
  21. يمكنك استخدام نفس التعبير في النموذج تفضل المثال على نموذج بالتوفيق test.rar
  22. السلام عليكم و رحمة الله و بركاته مشاركة مع الاخوة الاعزاء ارى بأن يوضع مثال لتتضح المشكلة ... عموما احد اسباب ظهور هذه الكلمة هو قسمة صفر على صفر و في هذه الحالة ممكن ان نستخدم التعبير التالي : IIf([a]=0;0;IIf([b]=0;0;[a]/[b])) حيث a و b هي اسماء الحقول مرفق مثال على ذلك باستخدام حقول محسوبة بإستعلام ( qry1) بالتوفيق test.rar
  23. و عليكم السلام و رحمة الله و بركاته اخي العزيز تفضل تصحيح الخطأ =DCount("التسلسل";"[المراجعين]";"[اسماء الموظفين]='سالم' and [المدرسة]='الاولى'") و انصحك بعدم استخدام اللغة العربية لاسماء الحقول و الجداول و جميع كائنات الاكسس الاخرى . تفضل المرفق بعد التعديل بالتوفيق عدد تكرار بين حقلين.rar
  24. و عليكم السلام و رحمة الله و بركاته اخي العزيز حربي ما تحتاجه هو وحدة نمطية و ليس وحدة فئة ما قمت به هو فقط تغيير نوع الوحدة من وحدة فئة الى وحدة نمطية و ايضاً تغيير اسم الاجراء لأن كلمة change تعتبير كلمة محجوزة .. ايضاً الاستدعاء يكون بحدث بعد التحديث لمربع التحرير و السرد ( و ليس حدث عند التغيير ) و حدث عند الفتح للنموذج ( او حسب ما تريد ممكن ان يكون في حدث في الحالي ) تفضل المرفق بعد التعديل بالتوفيق ProgNew1.rar
×
×
  • اضف...

Important Information