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

نجوم المشاركات

  1. أبوبسمله

    أبوبسمله

    الخبراء


    • نقاط

      7

    • Posts

      3,254


  2. سليم حاصبيا

    سليم حاصبيا

    أوفيسنا


    • نقاط

      7

    • Posts

      8,723


  3. عبد اللطيف سلوم

    عبد اللطيف سلوم

    06 عضو ماسي


    • نقاط

      3

    • Posts

      1,948


  4. husamwahab

    husamwahab

    الخبراء


    • نقاط

      3

    • Posts

      1,047


Popular Content

Showing content with the highest reputation on 15 فبر, 2020 in all areas

  1. فورم اضافة وبحث فى كتاب رجال حول الرسول الفيديو
    2 points
  2. السلام عليكم ورحمة الله جرب المرفق لعل فيه ما تريد... يمكن عمل ذلك بدالة مستحدثة عن طريق VBA (والذي هو ليس من امكانياتي)... بن علية حاجي فصل أيام الغياب.xlsx
    2 points
  3. واياكم اخى على وجزاهم الله خيرا اخواننا واساتذتنا تقبل تحياتى وتمنياتى لك وللجميع ببالتوفيق
    2 points
  4. وعليكم السلام ومشاركه مع اخى @kanory جزاه الله خيرا اتفضل اخى الفاضل تقبل تحياتى وتمنياتى لكم وللجميع بالتوفيق DB4.accdb
    2 points
  5. أستاذ prince hamid مع كل هذه الإجابات فين الضغط على الإعجاب ؟!!💙
    2 points
  6. السلام عليكم ورحمة الله وبركاتة برجاء المساعده في مدة الاختبار وهي مثلا يوجد لدي موظف فترة اختباره هي 90 يوم تم انشاء ثلاث تكست بوكس الاول تاريخ التعيين 02/02/2020 و الثاني ادخال مدة الاختبار وهي 90 يوم و الثالث يظهر ميعاد الانتهاء تلقائيا. ومن ثم اظهار رسالة تحمل قرب انتهاء فترة الاختبار وهي (يوجد عدد 000 موظفين تحت الاختبار تم الاقتراب من نهاية الاختبار) واليكم المرفق شكرا جزيلا df.accdb
    1 point
  7. السلام عليكم من سلسلة معلومة في اكسس اضع بين ايديكم الترقيم اليومي والاسبوعي والشهري لطفا شاهدوا الفيديو ولا تبخلوا علينا في وضع متابعة ولايك فديت قلبكم ملاحظة - قاعدة البيانات مرفقة في صندوق الوصف اسفل الفيديو
    1 point
  8. بردو في العمود الاصفر من هذا الملف اتعجب من اشخاص يلحون على المساعدة بل ويصرون عليها و عندما يجدونها يبدون الاعجاب (فقط) دون حتى تحميل الملف و مشاهدة ماذا يحتويه هل هذا الشيء مجرد تحدي لمعرفة قدرة الاساتذة المساعدين من خلال التدرج في تعقيد المطلوب من السهل الى الاصعب ام انه محاولة لتضييع وقت المساعدين لذلك اعتذر عن الغاء تحميل الملف حيث يوجد الحل تحت اسم Creasy_data_val_1 و سوف اقوم بحذفه
    1 point
  9. 1 point
  10. تمام جدا شكرا انا ضبط كل حاجة معلش تعبتك معايا جدا
    1 point
  11. السلام عليكم بما أنكم لم ترفقوا مثالاً لعملكم، انظر المرفق: يتضمن استعلاماً يعرض أول بصمة خلال الدقيقة (دون أخذ التاريخ بالاعتبار) WithOutDupicate.accdb
    1 point
  12. استاذ خالد تحياتى لحضرتك تسلم ايدك ربنا يسعدك هو ده المطلوب اشكرك
    1 point
  13. الشكر لله ثم لاخى العزيز @kanory ولجميع اساتذتنا جزاهم الله كل خير يرجى تعديل افضل اجابه لاخى واستاذى فلم افعل شيء بالتوفيق اخى
    1 point
  14. الزميل الفاضل Kanory الزميل الفاضل أحمد الفلاحجى السلام عليكم أتقدم لسيادتكم بوافر الشكر و التقدير و مزيد من الأغجاب لمساهمات سيادتكم القيمة لما بذلتموه أساتذتى لمساعدتى فالشكر واجب و مستحق لحضراتكم مع تمنياتى لحضراتكم بدوام التوفيق و النجاح
    1 point
  15. اعرض الملف Store Management Program (مجانا) Store Management Program شرح البرنامج برنامج مخازن علي الاكسل لادارة 1000 صنف و يعمل 10500 حركة صنف - كلمة السر رقم 1 *أمكانية رؤية الرصيد بعد كل حركة لكل صنف حتي و أن أختلف ترتيب الاصناف أسفل بعضها في ورقة أدخال البيانات . * أستخدام الفلتر لعمل يومية المخزن في تاريخ معين أو كارتة صنف معين أو أي تحديدات معينة . و يخضع كل ما سبق للمجموع الفرعي في ورقة أدخال البيانات . *أستخراج العديد من التقارير الخاصة بتحديدات معينة من خلال الفلاتر والمجموع الفرعي في ورقة التعريفات و الأرصدة و امكانية عمل كمية حد الطلب للاصناف و أمكانية الجرد و مقارنة الجرد الفعلي مع الجرد الدفتري .. * توفر ورقة الة حاسبة للمساعدة و ورقة للمسودات و ورقة للمجموعات المتنوعة من نوع العمليات و وحدات الاصناف و نوع الحركات . صاحب الملف lovemycar تمت الاضافه 15 فبر, 2020 الاقسام قسم الإكسيل  
    1 point
  16. عليك بهذه المعادلة =IF(NOT(ISNUMBER(A2)),"",CHOOSE((MOD(A2,1)<0.5)+1,CEILING(A2,0.5),FLOOR(A2,0.5))) الملف مرفق Question.xlsx
    1 point
  17. السلام عليكم اخي العزيز جرب الملف (Hide_32_64) على اوفيس 64 بت واعلمنا النتائج (علما انني لا اعمل على اوفيس 64 بت) لم احربه؟؟ تحياتي Hide_32_64v2_2.rar ومرفق اخر وهو من روائع اختنا الفاضلة الدكتورة أم عهود حفظها الله تعالى za-Database32-64bit-UP.rar
    1 point
  18. السلام عليكم في المرفق وضعت شرط إجبار المستخدم على إدخال رقم القرض وأضفت أمراً هاماً وهو التحقق أن مجموع التسديدات للقرض الواحد لا يتجاوز قيمة القرض بالتوفيق أخي العزيز قرض 6 بعد التعديل.accdb
    1 point
  19. بسم الله الرحمان الرحيم والصلاة و سلام على سيدنا محمد اما بعد اقدم هذا الملف الجاهز للاستعمال و هو ملف حضور غياب و حساب الاجر و هو غير مشفر لمن اراد التعديل حسب الحاجه على الاخوه المشرفين و اساتذتي الكرام تشرفي بالنقد و التصحيح فالف شكر للقائمين على هذا المنتدى الذي افادنى كثيرا برنامج حضور و غياب و حساب الاجر.xlsm
    1 point
  20. اخي العزيز التعديل يكون من الوحدة النمطيه للتفقيط انظر للمرفق تحياتي اختبار.rar
    1 point
  21. جرب هذه المعادلة في الخلية I6 =IF(H6>$H$1,G6,IF(H6>$H$2,CHOOSE((G6-J6<=0)+1,G6-J6,G6),0))
    1 point
  22. في الخلية C10 هذه المعادلة =MOD(ROUND(B10,3),1)*1000 في الخلية D10 هذه المعادلة =QUOTIENT(B10,1) اذا لم تعمل استبدل الفاصلة " ," بفاصلة منقوطة "; " (حسب اعدادات الجهاز عندك) لتبدو المعادلة بهذا الشكل =MOD(ROUND(B10;3);1)*1000 AND =QUOTIENT(B10;1)
    1 point
  23. بالخدمة اخي العزيز ساحاول وان شاء الله اجد الحل تفضل اخي العزيز Root12.rar
    1 point
  24. السلام عليكم اي الكريم هذه محاولة عسى ان يكون طلبك ارجو اخباري بالنتيجة ملاحظة: الزر الموجود في النموذج هو لانشاء بيانات حسب الشهر معتمدة على توقيت الحاسبة Root11.rar
    1 point
  25. وعليكم السلام احذف كلمة قرشا وخلية فارغ ="فقط و قدره" & " " & NoToTxt([TT1];"جنيه ";" ") & " " & "لاغير"
    1 point
  26. اتفضل اخى على ان شاء الله يكون ما طلبت الاول محسوب به 3 والاخر محسوب به 2 A_Daily Report V14_2.rar A_Daily Report V14.accdb
    1 point
  27. اخي العزيز السلام عليكم هل طبقت المثال الذي ارسله لك المثال يقوم بنفس العملية لكن بدون الحاجة لزر فقط املي البيانات وبعد التاريخ سيتم الترقيم تلقائيا ام الزر فهو لترحيل البيانات للجدول بد التاكد من صحتها
    1 point
  28. انظر التقرير أخي الامير .... DB (3).accdb
    1 point
  29. شكرا لك اخي جزاك الله كل خير
    1 point
  30. حجم الملف كبير جداً حوالي(7000 صف) لذلك من المفترض ان يأخد وقتاً للتنفيذ الكود الملف المرفق نموذج عما تريد (فقط حوالي 50 صف) لمتابعة عمل الكود الكود Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Not Intersect(Target, Range("A4:g4")) Is Nothing And _ Target.Count = 1 Then Range("A4:g4").Interior.ColorIndex = 40 Target.Interior.ColorIndex = 6 Call find_please(Target.Row, Target.Column) End If Application.EnableEvents = True End Sub '++++++++++++++++++++++++++ Sub find_please(IRow, ICol) Dim R As Worksheet, L As Worksheet Dim S_rg As Range 'Source range Dim m%, Ro%, i% Set R = Sheets("recherche") Set L = Sheets("liste") Set S_rg = L.Range("a2", L.Range("G1").End(4)) Ro = S_rg.Rows.Count For i = 1 To 7 If i <> ICol Then R.Cells(IRow, i) = vbNullString End If Next R.Range("A9").CurrentRegion.Offset(1).ClearContents m = 10 For i = 1 To Ro If UCase(Mid(S_rg.Columns(ICol).Cells(i), 1, Len(R.Cells(IRow, ICol)))) = _ UCase(R.Cells(IRow, ICol)) Then R.Cells(m, 1).Resize(, 7).Value = _ S_rg.Rows(i).Value m = m + 1 End If Next End Sub الملف مرفق list_saerch.xlsm
    1 point
  31. السلام عليكم ورحمة الله وبركاتة يكثر السؤال عن الغاء الحفظ التلقائي في الاكسس وهذه الخاصية بطبيعة الحال غير موجودة مع النماذج المنضمه ولتغلب على هذا الأمر نحتاج لعمل طريقة نتحايل بها على الاكسس لنعيد السجل بالنموذج الرئيسي وكل السجلات بالنموذج الفرعي إلى سابق عهدها قبل التعديل عند النقر على زر أمر تراجع عن التعديل أو التراجع عن إضافة سجل المثال المرفق فيه فكرة لذلك عن طريق عمل جداول مؤقته نأخذ منها قيم السجلات قبل التعديل وتحديث السجلات من خلالها في الجدول الاساسي هناك فكرة أخرى عن طريق عمل المصفوفات وهي للاستغناء عن الجداول المؤقت ولكنها صعبة نوعا ما ولا أجيد التعامل معها باحترافية لعل احد الاساتذه أو الاعضاء يطبق الفكرة من خلال المصفوفات وإليكم المثال قم بالتعديل او الحذف للحقول في النموذج الاساسي والنموذج الفرعي واحذف وأضف سجلات كاملة بالنموذج الفرعي ثم أنقر على زر تراجع وانظر النتيجة ::بالتوفيق للجميع :: disableSavKaser96.rar
    1 point
  32. الاجابة هنا (الجدول الاصفر) 3 أرقام - 4 ارقام / 3 ارقام Creasy_data_val.xlsx
    1 point
  33. بسم الله والصلاة والسلام على سيدنا رسول الله شرح سهل وبسيط للاخوة المبتدئين في برمجة اكسس حول استعلام التوحيد لطفا شاهدوا الفيدو وطبقوا استعلام توحيد.accdb
    1 point
  34. يمكن للجميع الان اضافة الاسم الحقيقي فى البروفايل دون تغيير اسم الدخول و المشاركة و ذلك لسهولة التواصل و هذا عن طريق اعادة استخدام خاصية الرتبة السابقة ، و التي لم نعد نستخدمها حاليا فى الموقع و الخطوات كالتالي ا- اذهب الي الملف الشخصي من اعلى يسار صفحة المنتدى 2- اختار تعديل الملف الشخصي 3- قم بتعديل الاسم فيظهر الاسم الفعلي فى صفحة الروفايل كما يلي و بالتالي ستظهر فوق الصورة فى كل المشاركات مثال:
    1 point
  35. السلام عليكم ورحمه الله وبركاته اخوانى فى الله احببت ان اضع درس بسيط لا يخفى على الكثيرين منكم ولكن مشاركه منى لما اتعلمه وحتى يستفاد منه المبتدئين امثالى ممن يتعلمون فى بعض الاحيان نحتاج حقل نصى ولكن سوف نكتب به ارقام وحتى لا نقوم بحجز مساحات دون داعى على سبيل المثال حقل لارقام المحمول نجعله نصى لان حقل المحمول سيتم تخزين فيه مثلا 11 رقم وحتى يقبل 0 باول الرقم , لان الحقل الرقمى لا يقوم بذلك مثل الصوره الاولى الكود التالى IsNumeric([Tel])=صواب Or Is Null يقوم باجبار المستخدم بادخال قيم رقميه او ترك الحقل فارغ كما الصوره التاليه وبالمثال يتضح المقال ارجو ان اكون وفقت للشرح تقبلوا تحياتى وتمنياتى لكم بالتوفيق طبتم واهتديتم ex.mdb
    1 point
  36. السلام عليكم ورحمة الله وبركاته جمعت كل اوراقي القديمة ومشاريعي وجعلتها في برنامج اسميته محاسبة 71 كل معرفتي بالاكسيس حاولت ان اضعها فيه نتمتى من الاخوة ابداء الراي برنامج محاسبة ومستودعات.rar
    1 point
  37. السلام عليكم ورحمة الله تعالى وبركاته ندخل فى الموضوع بالنسبة لربط قاعدة البينات اكسس باالاستضافات والتحكم فى البرنامج الخاص بك من اى مكان فى العالم شرط الاتصال بالانترنت اولا قمت بحجز استضافة مجانيه من هذا الموقع https://somee.com/ وقمت بانشاء جدول SQL للتجربة فقط بهذا البرنامج https://msdn.microsoft.com/en-us/sqlserver2014express.aspx?f=255&MSPPError=-2147217396 ونظرا لطلب الاخوة فى هذا الموضوع http://www.officena.net/ib/index.php?showtopic=61485&hl= بخصوص الربط وجعل قاعدة اكسس مجرد واجهة قمت باعداد هذا المرفق والذى يعتمد على الاكواد المذكورة فى المشاركة السابقة اما ان تنشء اتصال DNS وتستورد منه الجداول من خلال اكسس او تربط الجداول مباشرة بقاعدة اكسس وتضيف وتعدل فيها وقت ما تشاء ومن اى مكان تحب وعند اختيار ربط الجداول ستجد تلقائيا جدول فى قاعدة البيانات باسم mared تستطيع التعدل والاضافة فيه فى امكان اترككم مع المرفق انشاء اتصال DNS.rar
    1 point
  38. يمكنك استخدام الكود التالي كذلك: Private Sub أمر140_Click() Dim ctl As Control Str2 = "" For Each ctl In Me.التعديل.Controls If (ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox) Then If Len(ctl.Value & "") = 0 Or ctl.Value = 0 Then Str2 = Str2 & ctl.ControlSource & vbCrLf End If End If Next If Len(Str2 & "") <> 0 Then MsgBox "الحقول التالية فارغة" & vbCrLf & vbCrLf & Mid(Str2, 1) Else Me.Refresh End If End Sub . والنتيجة . جعفر 944.Nouveau Microsoft Office Access 2007 قاعدة بيانات.accdb.zip
    1 point
  39. تم اضافة الاصدار الخامس - سبتمبر 2012 إسم الملف: مُجمِع البيانات للاكسيل - Excel Data Collector أضيف للمكتبة بواسطة: محمد طاهر تاريخ الإضافة: 12 Sep 2011 القسم فى المكتبة: قسم الإكسيل هذا التطبيق يقوم بتجميع البيانات من كافة ملفات الاكسيل الموجودة فى مجلد معبن وفق مجال الخلايا الذي يتم تحديده خطوات الاستخدام ضع كافة الملفات المطلوب تجميع البيانات منها فى مجلد واحد حدد مسار المجلد و مجال الخلايا المطلوب تجميع البيانات منها قم بتشغيل التطبيق من زر Get Data ، سيتم تجميع البيانات من كافة الملفات فى ملف جديد ميزة اضافية اذا اردت استخدام التطبيق اكثر من مرة على عدة مجلدات ، فتوفيرا لخطوات اختيار المجلد المستهدف ، يمكن تحديد مجلد بدء الاختيار الافتراضي، ليبدا اختيار المجلدات منه فى كل مرة أثناء استخدام الملف بدلا من البدء من My Computer . و يمكن عمل ذلك بتحرير الخلية مباشرة ، فمثلا نكتب المسار d:\data الاصدار الثاني إضافة امكانية تحديد ورقة عمل محددة داخل الملفات باسمها ، اكتب اسم ورقة العمل او اتركها خالية للعمل افتراضيا على ورقة العمل الاولي فى جميع ملفات المصدر الاصدار الثالث تم اضافة المزايا التالية : 1- استخدام نموذج بدل من الازرار المباشرة نظرا لاضافة خيارات عديدة ، و يتم تسجيل مسار المجلد و اسم ورقة العمل و المجال المطلوب للخلايا المراد تجميع البيانات منها فى الحقول المناظرة. 2- فى حال عدم تسمية ورقة العمل سيتم التجميع من ورقة العمل الاولي فى جميع المفات داخل المجلد. 3- اضافة تلميحات tips بالعربية عند الوقوف بالماوس على الحقل للتوضيح. 4-امكانية اختيار تجميع البيانات فقط أو تجميع البيانات و التنسيق معا من ملفات المصدر الموجودة داخل المجلد المختار. 5- امكانية اختيار اظهار او اخفاء امتداد اسماء الملفات عند وضعها كعنوان للبيانات فى الملف التجميعي. 6- امكانية السماح بتكرار اسم الملف عند وجود اكثر من عمود يتم استخراجه من نفس الملف ، او الاكتفاء بخلية واحدة مع دمج العناوين. 7- اضافة اطار خارجي يوضح بيانات كل ملف الإصدار الرابع - تنقيح و ترتيب داخلي للكود - تعديل واجهة الاستخدام - امكانية استخراج البيانات دون فتح ملفات المصدر كخيار اضافى ، على أن يتم ذلك دون جلبها بنفس تنسيق المصدر. و هنا يوجد خياران للتشغيل الخيار الأول ، و هو الخيار الأصلي Get Data While Opening Files و به كافة الامكانيات فى الاصدار الثالث ، و امكانية عدم تحديد اسم ورقة العمل ليعمل على أول ورقة عمل فى الملفات الخيار الثاني و المضاف فى هذا الاصدار كخيار اضافي يستخدم عند الحاجة و به بعض المحدودية Get Data Without Opening Files و هنا يتم استخراج البيانات دون فتح ملفات المصدر ، و ذلك بهدف تسريع الاستخدام فى حالة الملفات الكثيرة و كبيرة الحجم و هنا خيار جلب التنسيق للخلايا غير مفعل ، و ايضا لابد من تحديد اسم ورقة العمل و الخيار كله اضافى حيث يغطي الخيار الأول خيارات أكثر الإصدار الخامس تم اضافة خيار امكانية استخراج البيانات بطريفة افقية ( بيانات الملفات المختلفة تظهر فى صفوف ) كخيار بديل و ليس رأسيا فقط ( أعمدة) مثل الاصدارات السابقة إضغط هنـــــــــــا لتنزيل الملف
    1 point
  40. الوصلة المختصرة للموضوع : bit.ly/3B8lXSU هذا الموضوع سيحوي فهرس المواضيع التي سيتم نشرها تباعا باذن الله تعالي منهج الدورة سنبدأ الدورة باذن الله تعالي بالأشياء العملية التي تحدث فرق فى القراءة ثم نتوقف لحلقة واحدة عند الظروف المناسبة للقراءة و بعدها نبدأ بإذن الله تعالى فى المنهجيات و الاستراتيجيات الخاصة بالقراءة الفعالة 1- الحلقة الأولي - المقدمة 2 فبراير 2009-اضغط هنـــــا الأشياء العملية التى تُحدث فرق فى سرعة و كفائة القراءة 2- الحلقة الثانية - التلفظ - 2 فبراير 2009-اضغط هنـــا 3-الحلقة الثالثة - حركة العين - 4 فبراير 2009- اضغط هنــــا 4- الحلقة الرابعة- دليل توجيه العين - 7 فبراير 2009- اضغط هنــــا 5- الحلقة الخامسة - تدوين الملاحظات - 7 فبراير 2009- اضغط هنا 6-الحلقة السادسة - الخرائط الذهنية - 11فبراير 2009 - اضغط هنا 7-الحلقة السابعة - تهيئة الظروف المناسبة للقراءة - 15 فبراير 2009 - اضغط هنا بداية حلقات استرتيجية القراءة الصحيحة (فيلبس ميندل) 8-الحلقة الثامنة - المسح و التصفح - 20 فبراير 2009 - اضغط هنا 9-الحلقة التاسعة - القراءة التمهيدية - التركيب - 28 فبراير 2009 - اضغط هنا 10-الحلقة العاشرة - القراءة التمهيدية -الفكرة الرئيسية - 8 مارس 2009 -اضغط هنا 11-الحلقة الحادية عشرة - القراءة التمهيدية - المواضيع - 8 مارس 2009 - اضغط هنا استراتيجيات و تكنيكات أخري للقراءة: 12-الحلقة الثانية عشرة - SQ3R , SARGE, MyStrategy 20 مارس 2009 - اضغط هنا 13-الحلقة الثالثة عشرة KWL KWL ماذا نعرف و ماذا نريد ان نعرف و ماذا عرفنا؟ 29 مارس 2009 - اضغط هنا 14-الحلقة الأخيرة الذاكرة و أساليب الحفظ و التذكر - 28-مايو 2009 اضغط هنا المراجع: كتاب مهارات القراءة السريعة المؤلف : جوبيس تيرلي كتاب القراءة السريعة المؤلف توني بوزان كتاب القراءة الصحيحة المؤلف : فيليبس ميندل دورة تدريبية حضرتها فى القراءة السريعة مقتطفات من عدة مواقع على الانترنت
    1 point
  41. اخي الكريم للأسف لايمكن استعادة اي مكون من مكونات قاعدة البيانات لذلك الله يكون في عونك على اعادة ادخال البيانات مره ثانيه بالنسبه لترقيم السجلات بحسب السنوات لديك في الجدول الحقلين : MyField - ,MyDate طبعا سنجعل الحقل MyFIELD رقم عادي و ليس رقم تلقائي في النموذج : سنجعل ترتيب ادخال التاريخ أولا , بحيث نضع في حدث بعد التحديث لحقل التاريخ كود الرقم المسلسل كما في المثال المرفق DiffYearSerial.rar
    1 point
  42. السلام عليكم أخي فتى الوادي ، أود أن اساعدك في حل السؤال. قمت بدراسة مثالك المرفق وقمت بعمل المطلوب حسب السؤال ومرفق النتيجة واليك الملاحظات التالية: الاستعلام الاول: عدد القضايا SELECT Count(t_1.txtmdkl) AS q1 FROM t_1 HAVING (((t_1.txtmdkl)=[forms].[f1].[txt3]) AND ((t_1.txtdate) Between [forms].[f1].[txt1] And [forms].[f1].[txt2])); وكما تلاحظ هنا فقد تم تسمية النتيجة q1 وهذ مهم لأننا سنستخدمها في النموذج الاستعلام الثاني: عدد الاشخاص SELECT Count(t_2.txtname) AS q2 FROM t_1 INNER JOIN t_2 ON (t_1.txtdate = t_2.txtdate) AND (t_1.txtcenter = t_2.txtcenter) AND (t_1.txtid = t_2.txtid) HAVING (((t_2.txtdate) Between [forms].[f1].[txt1] And [forms].[f1].[txt2]) AND ((t_1.txtmdkl)=[forms].[f1].[txt3])); وكما تلاحظ هنا أيضا تم تسمية النتيجة q2 وهذا ايضا مهم لأننا سنستخدمها في النموذج والان للنظر الى البرمجة في النموذج Private Sub Refreshing() Me.txt4 = Nz(DFirst("[q1]", "[noofcases]"), 0) Me.txt5 = Nz(DFirst("[q2]", "[NoOfPersons]"), 0) End Sub Private Sub txt1_AfterUpdate() Refreshing End Sub Private Sub txt2_AfterUpdate() Refreshing End Sub Private Sub txt3_AfterUpdate() Refreshing End Sub نلاحظ ما يلي : NoOfCases هو اسم الاستعلام الاول و NoOfPersons هو اسم الاستعلام الثاني. وهنا نلاحظ أنه يتم استخراج قيمة q1 (عدد القضايا) و q2 (عدد الاشخاص) من الاستعلامين بعد أي تحديث لحقول (تاريخ البداية) txt1 و(تاريخ النهاية) txt2 و(اسم المدخل) txt3 واظهار النتيجة في txt4 (عدد القضايا) و txt5 (عدد الاشخاص) وهو المطلوب أرجو أن يكون هذا الشرح كافيا لفهم طريقة الحل وبالتوفيق. مع الاحترام KR_Officena_3.rar
    1 point
  43. حوار 14 = محمد : هناك مجموعة من دوال الأكسس لها فائدة كبيرة واستخدام متكرر ومنها على سبيل المثال الدالة DLookup ولكني للأسف لا أعرف طريقة استخدامها فهل لك أن تفيدني في ذلك وكيف استخدمها بدون شرط وبشرط وبشرطين ؟ = فهد الدوسري : هذه الدالة هي أحد دوال ( تجميع المجال ) وهي مجموعة دوال ومن هذه الدوال الدالة DLookup ولها عدة استخدامات سوف أذكر لك ما أعرفه عنها بحسب خبرتي وربما لها أكثر من مجال أو طريقة أرجو أن يفيدنا عنها من يعرفها لنستفيد جميعاً . هذه الدالة يجب أن يتوفر فيها عدة عوامل لكي تعمل معنا وكذلك يجب أن نعرف نوع الحقل الذي نريده في الشروط فيختلف بنائها إذا كان الحقل رقمي أو نصي وسوف أورد لك جميع ما سألت عنه إن شاء الله عبر مثال نقوم بتطبيقه معاً .. لنفرض أن لديك جدول باسم A1 وهذا الجدول يحتوي على الحقول التالية :- حقل B1 نوعه رقم يسجل فيه رقم الموظفين . ( 1 و 2 و 3 و 4 و 5 إلخ..) . حقل B2 نوعه نص يسجل فيه أسماء الموظفين . ( فارس و مراد و حمد إلخ..). حقل B3 نوعه نص يسجل فيه مراتب الموظفين . ( الأولى و الثانية و الثالثة إلخ..). حقل B4 نوعه رقم يسجل فيه أرقام وظائفهم . ( 1480 و 145 و 851 إلخ..). سوف نطبق استخدامات الدالة DLookup على هذا الجدول بهذه الحقول ويمكنك بعد ذك تطبيقها على أي جدول وأي حقل مهما كان بعد تغيير مسمى الجدول ومسمى الحقول فقط . أولاً : - ننشأ نموذج جديد ونسميه مثلا FA1 ونترك مصدر السجل للنموذج فارغا ونضع فيه الحقول التالية طبعاً تكون عبارة عن مربع نص غير منظم وذلك لأن النموذج نفسه ليس له مصدر والحقول كما يلي : - M1 ويمثل (رقم الموظف) . طبعاً تسمية M1 أو غيره من الأسماء المقترحة مني أو منك تكون عن طريق عرض النموذج أو التقرير في وضع التصميم ومن ثم خصائص الحقل المطلوب تسميته ثم تبويب (غير ذلك) ثم (الاسم) وتضع الاسم الذي تريده حتى يتم التعامل معه من خلال الأكواد وهذه الطريقة يجب عليك معرفتها لأنها سوف تستمر معك طالما أنك تستخدم الأكواد فتذكرها جيداً . M2 ويمثل (اسم الموظف) . M3 ويمثل ( مرتبة الموظف) . M4 ويمثل ( رقم وظيفة الموظف ) . ثانياً : - أدرج أربعة أزرار أوامر لنستخدم كل زر لتنفيذ حاله معينه للدالة بهذه الطريقة .. الزر الأول يكون عنوانه (1 بدون شرط). الزر الثاني يكون عنوانه ( 2 مع الشرط الرقمي). الزر الثالث يكون عنوانه ( 3 مع الشرط النصي) . الزر الرابع يكون عنوانه ( 4 مع الشرطين ) . ثالثاً : - نأتي الآن لبناء استخدامات الدالة في حدث عند النقر لكل زر من الأزرار الأربعة طبعاً بعد توفر شروط الدالة والتي سوف أخبرك عنها فيما يلي :- الزر الأول :- ( يخبرنا عن اسم الموظف الأول في جدول A1 بدون شرط أي أنك إذا ضغطت على الزر سوف يخرج لك الاسم الأول في الجدول ولا تستطيع إخراج أي موظف آخر غيره ) ويتم ذلك عن طريق الكود التالي في حدث عند النقر للزر وهذا الكود هو ( بدون شرط ) .. نريد خروج اسم الموظف في حقل m2 والذي يمثل أسماء الموظفين كما أسلفنا . m2 = DLookup("[B2]", "A1") الزر الثاني:- ( يخبرنا عن اسم الموظف في جدول A1 بناءاً على الرقم الذي ندخله في حقل رقم الموظف .. إذن يجب إدخال رقم الموظف في حقل رقم الموظف ثم الضغط على الزر لنعرف اسم الموظف الذي يحمل هذا الرقم فهذا شرط من شروط عمل الدالة أي أنك لو ضغطت على الزر دون كتابة الرقم فلن يخرج لك شيء كما فعلنا مع الزر الأول ولو أدخلت اسم الموظف لتعرف رقمه فلن تعمل الدالة لأننا الآن نعمل مع الشرط الرقمي أي رقم الموظف فقط ) ويتم ذلك عن طريق الكود التالي في حدث عند النقر للزر وهذا الكود هو ( الشرط الرقمي ) .. m2 = DLookup("[B2]", "A1", "[B1]= [m1]") الزر الثالث:- ( يخبرنا عن رقم الموظف في جدول A1 بناءاً على الاسم الذي ندخله في حقل اسم الموظف .. إذن يجب إدخال الاسم في حقل اسم الموظف ثم الضغط على الزر لنعرف رقم الموظف الذي يحمله هذا الاسم فهذا شرط من شروط عمل الدالة أي أنك لو ضغطت على الزر دون كتابة الاسم فلن يخرج لك شيء كما فعلنا مع الزر الأول ولو أدخلت رقم الموظف لتعرف اسمه فلن تعمل الدالة لأننا الآن نعمل مع الشرط النصي أي اسم الموظف فقط ) ويتم ذلك عن طريق الكود التالي في حدث عند النقر للزر وهذا الكود هو (الشرط النصي ) .. لاحظ اختلاف بناء الكود والفرق بين الرقمي والنصي في الكود التالي .. نريد خروج رقم الموظف في حقل m1 والذي يمثل أرقام الموظفين كما أسلفنا . m1 = DLookup("[B1]", "A1", "[B2]='" & [m2] & "'") الزر الرابع:- ( يخبرنا عن اسم الموظف في جدول A1 بناءاً على مرتبته الذي ندخلها في حقل المرتبة وبناءاً على رقم وظيفته الذي ندخله في حقل رقم الوظيفة .. إذن يجب إدخال مرتبة الموظف في حقل المرتبة وكذلك ندخل رقم الوظيفة في حقل رقم الوظيفة ثم الضغط على الزر لنعرف اسم الموظف الذي يحمل هذه المرتبة بهذا الرقم فهذا شرطين يجب توفرهما لتعمل الدالة أي أنك لو أدخلت المرتبة فقط وضغطت على الزر دون كتابة رقم الوظيفة فلن يخرج لك شيء أو أدخلت رقم الوظيفة فقط دون كتابة المرتبة فلن يخرج لك شيء أيضاً لأننا نعمل مع الشرطين أي المرتبة ورقم الوظيفة معاً ) ويتم ذلك عن طريق الكود التالي في حدث عند النقر للزر وهذا الكود هو (الشرطين ) .. نريد خروج اسم الموظف في حقل m2 والذي يمثل أسماء الموظفين كما أسلفنا . m2 = DLookup("[B2]", "A1", "[B3]=[m3] and [B4] =[m4]") طبعاً ربما يكون الشرح مطول ولكني قصدت منه التوضيح أكثر وأكثر وذلك لكي ترسخ المعلومة في ذهنك وقمت بإرفاق مثال يوضح كل ما ذكر لكي تعرف كيف يكون التطبيق. DLookUp تطبيق.rar
    1 point
×
×
  • اضف...

Important Information