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

منتصر الانسي

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

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

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

  • Days Won

    4

كل منشورات العضو منتصر الانسي

  1. أخي العزيز حسب إعتقادي أنك لاتستطيع تنفيذ ضغط وإصلاح لنفس قاعدة البيانات اللي أنت فيها إلا عن طريق القوائم وليس عن طريق كود يوضع لزر أمر لذا يرجى منك توضيح طلبك بالتحديد ليتم شرحه بتفصيل أكثر تحياتي,,,
  2. اخي العزيز من خصائص مربع النص ومن خاصية (أشرطة التمرير أو Scroll Bars) إجعل الخيار (بلا أو None) تحياتي,,,
  3. استاذتي الاعزاء اولاً اتعبنا الاستاذ نارت بإبداعاته وكل مرة أظل في حيرة عن الرد الذي سيوفيه حقه (لأني بصراحة فاشل في مادة التعبير) في الأخير أبطل أرد ولكن هنا لفتني سؤال الاستاذ ابو خليل بالفعل ولكن سيتبقى لدينا شيئ واحد (صحيح أنه يختفي بسرعة ولكنه مازال مؤشر إلى أكسس) وهو شعار الأكسس الذي يظهر عند فتح البرنامج والذي يمكنك أن تتجاوزه بوضع صورة إمتداد (BMP) في نفس المجلد وبنفس اسم البرنامج (على فكرة هذا كان أول موضوع لي في المنتدى .... إيييييييه أيام) و إذا مازدنا عليه إخفاء خلفية أكسس فلن يتعرف عليه أحد . وبعد إذن الأخ نارت أرفق المثال بعد تطبيق الفكرة أعلاه لتتكامل الفكرة في مثال واحد تحياتي,,, Icon.rar
  4. اخي العزيز السب أنك إشترطت في معيار الإستعلام أن تكون الثلاثة التواريخ اكبر من او تساوي التاريخ المحدد كما بالصورة التالية هنا المعيار يشترط تحقق الشرط للتاريخ الأول "و" الثاني "و" الثالث أي ضرورة تحقق الشرط في الثلاثة تواريخ ولكن قم بتعديل المعيار ليكتفى بأحد تلك التواريخ مهما كانت التاريخين الأخرين كما بالصورة التالية المعيار هنا أن يتحقق الشرط للتاريخ الأول "أو" الثاني "أو" الثالث أي أنه سيكتفى بتحقق الشرط لتاريخ واحد على الأقل أرجو أن يكون هذا ما طلبته تحياتي,,,
  5. اخي العزيز المعذرة على التأخير ولكني لم أتنبه لطلبك هذا الا اليوم مرفق لك مثالك بعد عمل حل أعتقد أنه قد يؤدي الغرض بواسطة دالة String حيث تقوم هذه الدالة بتكرار حرف محدد لعدد مرات محددة لذا فستجد أن مربع النص forword اصبح مصدر بياناته كمايلي =forword & String(1000;".") وبالتالي ستظهر قيمة الحقل متبوعة بـ 1000 نقطة والتي يمكنك زيادتها او إنقاصها كما تريد أرجو أن يكون هذا الحل مفيداً لك تحياتي,,, نسخ من الدروس.rar
  6. اخي العزيز هذا تعديل بسيط اعتقد انه يلبي طلبك ويعتمد على التالي 1- جعلنا القيمة الإفتراضية لحقل التاريخ هي =Day(Date()) & "/" & [Forms]![Ispian F]![com2] & "/" & [Forms]![Ispian F]![com1] اي ان اليوم يؤخذ من اليوم الحالي والشهر والسنة يؤخذان من القائمتين 2- في حدث (عند الإدخال On Enter) الخاصة بمربع نص التاريخ كتبنا الكود التالي Private Sub Dat_Enter() Dat.SelStart = 0 Dat.SelLength = 0 End Sub حيث ان هذا الكود يعتمد على خاصيتي SelStart و SelLength واللتين تقومان بالتحكم بتحديد اوبتظليل النص داخل مربع النص حيث تقوم خاصية SelStart بتحديد بداية التظليل و خاصية SelLength تقوم بتحديد طول التظليل وعليه فإن الوضع الإفتراضي عند الإنتقال الى مربع النص سيكون كما بالصورة التالية وبموجب الكود سيصبح الشكل كما بالصورة التالية ويمكنك أيضا بتعديل قيمة الخاصية SelLength لتساوي 2 ليصبح الشكل كما يلي بالتالي فإنه يكتفى بكتابة اليوم والخروج من الحقل مباشرة أرجو أن تكون هذه الطريقة مفيدة لك تحياتي,,, Date.rar
  7. اخي العزيز كنت في الاصل قد ادخلت هذا الحقل ضمن المعادلة ولكن لاحظت ان المجموعة الواحدة تضم اكثر من سنة فقمت بالغاء الحقل ليطابق التقرير فكما تلاحظ في الصورة التالية لاحظ ان المجموعة تضم العامين 2006 و 2008 ومن الضروري استبعاد هذا الحقل والا فيسظهر مجموع 2008 فقط كونها اخر سنة تحياتي,,,
  8. اخي العزيز مرفق لك تعديل على مثالك بالمطلوب رغم أن هناك ملاحظة على تصميمك للقاعدة فقد كان من الأفضل أن لا تكرر البيانات الإجمالية في تفريداتها الفرعية (اي انه كان من الأفضل عمل جدول للكميات يكون مشابه للاستعلام الذي عملته لك في التعديل وعدم تكرارها مع كل سجل فرعي) أرجو أن اكون قد اوضحت تحياتي,,, ll.rar
  9. اخي العزيز من خلال الإطلاع على مثالك يبدو أنك تريد اختصار عملية إدخال تاريخ التوقيع فبدلاً من أن يتم إدخال التاريخ كاملاً يكتفى بتحديد اليوم فقط ...؟ إذا كان هذا صحيح فأنصحك بما هو أفضل لك وأسهل - يمكنك أن تجعل القيمة الإفتراضية للتاريخ هي تاريخ اليوم الحالي - او ان تكون القيمة الإفتراضية هي تاريخ آخر سجل (يعني يتم أخذ التاريخ من السجل السابق) - ان يتم كتابة التاريخ في مربع نص في النموذج الرئيسي (لمرة واحدة) ويكون هذا التاريخ هو القيمة الإفتراضية فهل هناك مايمنع من تنفيذ هذه الطرق أم أن هناك ضرورة للتنفيذ بالطريقة التي طلبتها...؟ تحياتي,,
  10. اخي العزيز من خيارات إعداد الصفحة قم بتحديد عدد الأعمدة المطلوبة وبحيث تكون المسافة بين الأعمدة تساوي صفر ثم إجعل عرض التقرير الفرعي يساوي (عرض العمود×عدد الاعمدة) على أقل تقدير جرب الخطوات هذه والا ارفقت مثال وفيه بيانات أكثر . تحياتي,,,
  11. تفضل اخي العزيز مرفق لك مثالك بعد إضافة استعلام حذف قم بتشغيل الاستعلام ثم افتح الجدول للتأكد من السجلات المتبقية تحياتي,,, ax.rar
  12. اخي العزيز الله يسامحك مثل هؤلاء الأشخاص لايتواجدون في مثل هذه المنتديات الا إذا كان (اخذ بلا عطاء) ليس إلا ولكن المشكلة ان هذه الوظيفة مرتبطة بالتطبيق الذي تعمل في إطاره ويصعب علي رفعه لأسباب غير ماذكرت وسأحاول عمل قاعدة بيانات بسيطة لتطبيق الوظيفة إن شاء الله عموماً أستاذي اعذرني فلم أكن قد إطلعت على نموذج بيانات الموظفين لذا فاسمح لي ببعض الملاحظات (تحملني اخي فبصراحة البرنامج اعجبني وانا مستوعب له كونه في مجال عملي) - لو يتم ترتيب مربع القائمة الذي يحتوي على اسماء الموظفين بحسب الاسم وليس بحسب الرقم او ان يتم اضافة مربع نص لادخال جزء من الاسم او الرقم الوظيفي ليتم تصفية القائمة بحسب ماتم ادخاله - يتم اظهار رقم السجل الحالي من واقع رقم الموظف مما يسبب بعض الالتباس فالموظف الذي رقمه 30 يظهر رقم سجله (30 / 19) - من الأفضل أن يتم تكويد (المسمى الوظيفي) وحقل (المدير المباشر) بحيث يتم تحديد هذه الحقول من قائمة منسدلة لما فيه من توحيد للإدخالات تحياتي,,,
  13. الاستاذ العزيز والمشرف الرائع اسمح لي بهذا الإعتراض هذا مش اكسس من بتاعنا واللي احنا نعرفه وما عمري شفته بهذا الشكل لذا فالأمر واحد من إثنين - إما أنه معمول بنظام آخر عندها فلا يسمح بعرضه في هذا المنتدى - او أن هذا أكسس من طينة أخرى وغير معروفة لنا وعندها يجب ان يفتتح له قسم خاص به ماهذا هل تم دمج أكسس مع فوتوشوب ولا ولا ايش اقول .....؟ اعذرني اعجز عن التعبير ولكن عن جد الإعتراض الثاني أنك تطلب ملاحظاتنا (طب دا كلام) والان نأتي للجد أخي العزيز من الناحية الفنية لن أسمح لنفسي بمجرد التفكير في طرح اي ملاحظة ولكن كون هذا النظام هو من صميم عملي والذي كان من بواكير اعمالي الاكسيسية ومازال فان ملاحظاتي تتلخص في نقطتين - الإجازات الرسمية لاحظت انك تقوم بادخال جميع ايام الجمع والاجازات الرسمية الاخرى ولو اردت نصيحتي فقد إختصرت هذه العملية بحيث يتم احتساب الاجازة الاسبوعية الياً بهذه الدالة Option Compare Database Option Explicit Public Function CountWeekendDays(dtStart As Date, dtEnd As Date) As Integer Dim intThursday As Integer Dim intFriday As Integer CountWeekendDays = 0 intThursday = DateDiff("d", GEDay(dtStart, 5), LEDay(dtEnd, 5)) / 7 + 1 intFriday = DateDiff("d", GEDay(dtStart, 6), LEDay(dtEnd, 6)) / 7 + 1 CountWeekendDays = Ramp(intThursday) + Ramp(intFriday) End Function Public Function LEDay(dtX As Date, vbDay As Integer) As Date LEDay = DateAdd("d", -(7 + Weekday(dtX) - vbDay) Mod 7, dtX) End Function Public Function GEDay(dtX As Date, vbDay As Integer) As Date GEDay = DateAdd("d", (7 + vbDay - Weekday(dtX)) Mod 7, dtX) End Function Public Function Ramp(varX As Variant) As Variant Ramp = IIf(Nz(varX, 0) >= 0, Nz(varX, 0), 0) End Function وتقوم هذه الدالة بإحتساب عدد ايام الخميس والجمعة بين تاريخين وبإمكانك أن تقصرها على يوم الجمعة فقط اما الإجازات الرسمية فقد قمت بعمل الجدول الظاهر في الصورة التالية حيث ادخلت فيها اليوم والشهر بدون ذكر السنة للإجازات المرتبطة بالتاريخ الميلادي وبحيث يتم اخذ السنة من التاريخ الذي يتم إدخاله في النموذج اما الإجازات الهجرية فقد أدخلت بالكامل وبالتالي عند إدخال فترة زمنية في جدول يتم إحتساب عدد ايام الإجازات الأسبوعية بالدالة الأولى وعدد الاجازات الرسمية الميلادية والهجرية من الجدول الثاني .... وبصراحة الطريقة ماشية معي تمام - كنت قد اعديت ملاحظة ثانية خاصة بالهيكل التنظيمي فقد ظنيت من طريقة الإدخال أنك عامل للإدارات جدول مستقل عن الاقسام ولكن الله الهمني ان اتأكد من قاعدة البيانات قبل أن أقوم بإرسال المشاركة ووجدتهم في جدول واحد ولكن اكمل جميلك بإستخدام اداة TreeView لتحديد مكان عمل الموظف ليكتمل الحلم النارتي (هذا كله وقال خريج حقوق قال ياشيخ رووووح) في الأخير اعذرني على الإطالة وأرجو أن تكون ملاحظاتي ذات فائدة وغير مؤثرة على سير عمل البرنامج تحياتي,,,
  14. اخي العزيز من خصائص التقرير الفرعي إجعل خيار اتجاه الصفحة (من اليسار الى اليمين Left To Right) وهناك حل آخر بأن تجعل العنوان في مقطع رأس مجموعة تحياتي,,,
  15. حيا الله بمحرك المنتدى طالت الغيبة ونحن كنا مقصرون . ولكن من جهتي ظننت ان المانع هو الإنشغال وليس المرض فأعذرنا على التقصير وان شاء الله تعود حركة المنتدى كما تعودنا منك تحياتي,,,
  16. اخي العزيز هذا لايعني انه يجب ان يختلف اسم عنصر التحكم في النموذج عن اسم الحقل في الجدول فيمكن ان يكون اسم عنصر التحكم هو نفس اسم الحقل في الجدول (وهو الافضل ليسهل التعامل معه وعدم التوهان) حيث وسيتعامل معه الكود بنفس الطريقة المذكورة اعلاه والتطبيق أفضل برهان ... هذا كان للتوضيح فقط تحياتي,,,
  17. اخي العزيز انا لم اغير الاسماء بل ابقيتها كما عملتها انت وذلك حتى تتنفذ الاكواد بدون اي تعديل ولتعرف ان الاوامر والاكواد تتعامل مع اسماء عناصر التحكم بغض النظر عن مصادر بياناتها وكذلك يمكنك التعامل مع اسماء حقول الجدول مباشرة ولكن يجب توضيح شيئ هام في هذه النقطة في حالة تنفيذ الكود على عنصر التحكم (اسم عنصر التحكم في النموذج سواء كان بنفس اسم الحقل او كان اسم مغاير) فإنها تتحدث قيمة الحقل في الجدول وتظهر نتيجة الكود مباشرة في النموذج اما في حالة التنفيذ على اسم الحقل والذي لايطابق اسم مربع النص او عنصر التحكم في النموذج فإن قيمة الحقل في الجدول تتحدث مباشرة ولكنها لاتظهر في النموذج الا اذا ماتم عمل تحديث (Requery) لعنصر التحكم او للسجل كالانتقال لسجل اخر والعودة الى السجل المذكور او إغلاق النموذج وإعادة فتحه... الخ ارجو ان يكون الشرح واضح تحياتي,,,
  18. اخي kemas إنت تأمر ياشيخ المهم اننا نقدر نخطفك من أكسل بالفعل طريقة التحديث من النموذج هي نفس ما قمت به انت ولكن بدلا من وضع نتيجة الإحتساب في مربع نص (غير منضم) يتم وضعه في مربع نص مرتبط بحقل في الجدول وهذا كل شيئ تحياتي,,,
  19. يمكن لم تفهم قصدي كنت اقصد الفترة من 01/01 حتى 31/12 هل نعتبرها سنة بالضبط أم نعتبرها 11 شهر و30 يوم ولاتعتبر سنة إلا في 01/01 كنت أريد رأيك في هذه النقطة بحكم إستخدامك لها أكثر مني ... لأنه من الضروري توحيد طرق الإحتساب في معاملاتنا ككل ولا اقصد هنا فقط تحياتي,,,
  20. اخي العزيز sweety سبق الشرح وللتوضيح اكثر يمكنك قراءة المشاركة بتمعن اكثر والتدقيق بالصور تحياتي,,,
  21. اخي العزيز مرفق لك مثالك بعد اضافة طريقة الاحتساب للجدول مباشرة عن طريق النموذج كما ارجو منك الاطلاع على النموذج الثاني للتعرف على طريقتي اكثر وكذلك ملاحظة الفارق فستلاحظ ان الفرق بين التاريخين 01/01/1980 و 31/12/2010 لم يتطابق في النموذجين فما رايك ايهما أصح ليتم إعتماده منا جميعاً. اما عن طريقة نقل البيانات من الاستعلام الى الجدول يتم عن طريق استعلام التحديث ومرفق لك مثالك الأول لتوضيح الفكرة تحياتي,,, حساب العمر1.rar test2003.rar
  22. اخي العزيز kemas يبدو انك لم تحمل المرفق على الرابط المذكور في مشاركتي السابقة والذي يحتوي على كود يختصر لك الكثير كما ستجده في الاستعلام في مثالك والمرفق بهذه المشاركة أما إن كنت تريد تطبيق فكرة محددة في بالك فيرجى توضيحها لنا أكثر لنناقشها ونحاول تطبيقها ان شاء الله . تحياتي,,, test2003.rar
  23. ولكن ياعزيزي مادور الجدول الثالث ؟؟؟؟ فكما سبق وقلت لك ان الاستعلام التوحيدي هو لتوحيد بيانات عدة جمل استعلامات في جملة واحدة لتظهر نتيجتها معاً وهذا يتطلب أن تشمل نفس الحقول وبنفس الترتيب وهذا مالم اجده في الجدول الثالث فلا توجد لجان ولا اعضاء ... لذا يرجى التوضيح أكثر للطلب أو النتيجة المطلوبة منه تحياتي,,,
  24. تفضل اخي مثالك بعد التعديل المطلوب تحياتي,,, قاعدة بيانات2.rar
×
×
  • اضف...

Important Information