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

أ / محمد صالح

أوفيسنا
  • Posts

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

  • Days Won

    198

كل منشورات العضو أ / محمد صالح

  1. لا أدري ما الخلل عندك فالكود يعمل معي على نماذج بها نماذج فرعية وبها قوائم وأزرار وتسميات ومعظم أنواع عناصر التحكم ولكن جرب أن تستدعي دالة التحجيم resizefrom Me, 1024, 768 قبل أمر التكبير DoCmd.Maximize ...... للعلم تم تعديل الدالة للتحكم في حجم خط عنصر التحكم الذي يحتوي على نصوص ليتناسب مع تغيير حجم العنصر ودقة الشاشة
  2. أخي الكريم الكود وظيفته هي قراءة دقة الشاشة لدى المستخدم ومقارنتها بأفضل دقة وهي المحددة منك في استدعاء الدالة resizefrom Me, 1024, 768 ثم إذا كانت غير المحددة منك يتم تغيير حجم النموذج وكل عناصره بما يتناسب مع دقة الشاشة الموجودة بجهاز المستخدم سواء بتكبير حجم النموذج إذا كانت دقته أعلى من المحددة في الكود أو بتصغيره إذا كانت دقة أصغر من المحددة في الكود أما بالنسبة للمسافات بين العناصر فهي أيضا تمت مراعاتها حيث يتم تحديد موضوع العنصر في النموذج بناء على دقة الشاشة ...... ويبدأ الكود ب wrate = DisplaySize(0) / bestw hrate = DisplaySize(1) / besth ويعني معدل العرض يساوي ناتج قمة عرض شاشة المستخدم على أفضل عرض (المحدد في استدعاء الدالة) وكذلك معدل الارتفاع ثم frm.InsideWidth = frm.InsideWidth * wrate frm.InsideHeight = frm.InsideHeight * hrate وتعني تغيير عرض النموذج إلى عرض النموذج الأصلي مضروباً في معدل العرض (المحسوب سابقاً) وكذلك تغيير ارتفاع النموذج ثم Dim fc As Control For Each fc In frm.Controls fc.Top = fc.Top * hrate fc.Left = fc.Left * wrate fc.Width = fc.Width * wrate fc.Height = fc.Height * hrate Next وتعني أنه يتم تغيير موضع كل عنصر تحكم في النموذج إلى موضعه الجديد الناتج عن ضرب مكانه الأصلي في معدل العرض أو الارتفاع وتم تغيير ما يلي مكانه بالنسبة لأعلى النموذج ومكانه بالنسبة ليسار النموذج وعرضه وارتفاع هذا هو شرح الدالة وكيفية عملها ........ ولكن ما معنى نموذج يملأ الشاشة؟؟
  3. مرحبا بك معنا مرة ثانية أخي أبو أسامة اشتقنا لك واشتاق إليك جميع أعضاء المنتدى وفقك الله ولا أبعدك عنا ثانية
  4. اعذرني أخي يوسف ما دلالة الرقم 8 في معادلتك؟؟ وإلى اي شيء يعود؟
  5. شكرا لك أخي مجدي لغز جميل أنا حليته من الآخر بهذه المعادلة =((4*7*7)+28)*7*7+14 وياريت كل واحد يقول لنا المعادلة اللي وصل للحل بيها
  6. يوجد كود أخي الكريم لحذف التشكيل أما وضعه فلا أعتقد
  7. شكرا لك أخي الكريم برجاء استخدام البحث قبل كتابة أي موضوع جديد http://www.officena.net/ib/index.php?showtopic=38279
  8. أخي الكريم إذا استعملت البحث في أوفيسنا ستجد روائع في هذا المجال هذا الرابط واحد منها http://www.officena....showtopic=31297 وأنا بطبعي أحب الاختصار فقمت بعمل كود مختصر يقوم بنفس الغرض إن شاء الله فقط ضع في موديول الكود التالي Declare Function DisplaySize Lib "user32" Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long Function resizefrom(frm As Form, bestw As Integer, besth As Integer) On Error Resume Next wrate = DisplaySize(0) / bestw hrate = DisplaySize(1) / besth frm.InsideWidth = frm.InsideWidth * wrate frm.InsideHeight = frm.InsideHeight * hrate Dim fc As Control For Each fc In frm.Controls fc.Top = fc.Top * hrate fc.Left = fc.Left * wrate fc.Width = fc.Width * wrate fc.Height = fc.Height * hrate fc.FontSize = fc.FontSize * wrate Next End Function وفي حدث عن تحميل النموذج قم باستدعاء الدالة كالتالي resizefrom Me, 800, 600 حيث 800 في 600 هي دقة الشاشة المناسبة لعرض النموذج بدون تحجيم (يمكنك كتابة دقة الشاشة الحالية التي تصمم فيها البرنامج) وإذا تغيرت عن هذا يتغير حجم النموذج سواء بالتكبير أو بالتصغير جرب وأخبرني بالنتيجة
  9. تفضل أخي الكريم diplay_hl_dialogbox.rar
  10. يفضل أن تبدأ موضوعاً جديداً بهذا الخصوص مع إرفاق ملف للتعديل عليه هذا طبعاً بعد محاولتك أنت في الوصول للحل
  11. أخي الكريم ضع هذا الكود في حدث عن النقر للزر Me.الرابط.SetFocus SendKeys "^k" ويعني هذا الكود وضع المؤشر في حقل الرابط ثم الضغط على مفاتيح Ctrl+k وهي الخاصة بإظهار الصندق الحواري تحرير ارتباط تشعبي وذلك من خلال الطريقة sendkeys .......... ونصيحة أخي الكريم تعود على تسمية الحقول في الجداول والنماذج بحروف انجليزية ولو حتى بأسماء عربية مثل edafa حتى يسهل كتابة الكود
  12. بارك الله فيك أخي وليد بالنسبة لأولاً : الأمر بسيط جداً حيث يمكنك إنشاء تقرير من خلال المعالج ثم اجعل مصدر هذا التقرير الاستعلام query1 سيظهر لك التقرير الخاص بالموظف المعروض في النموذج بالنسبة لثانياً : أنا جربت الكود على موظف واحد وجاري تجريبته على أكثر من موظف ولكن العبرة بصحة طريقة الحساب ولي عدد الموظفين. بالنسبة لثالثاً: إذا اعتمدت على طريقة سنوات الخدمة الإضافية بطريقة تاريخ البداية والنهاية فهذا موضعه أما إذا أخذت طريق ناتج الخدمة فاستخدم معادلة الجمع بين المدد فقط حيث يتم إعطائها مصفوفة بالمدد وتقوم الدالة بجمعهم أو طرحهم حسب علامة السالب في بداية المدة بالنسبة لرابعاً: إذا كانت عملية إختيار اسم الموظف واختيار نوع الخدمة من قائمة وكتابة تاريخ بداية ونهاية المدة شيء صعب فما هو السهل إذاً؟؟!! بالنسبة لخامساً: الدوال الموجودة في الموديول لحساب الفرق بين تاريخين ثم قراءة ناتج الدالة الأولى والتعامل معه بالجمع أو الطرح ويوجد دالة لقراءة عمود مدة الخدمة من الاستعلام وإخراجه في صورة مصفوفة حتى يمكن للدالة الثانية التعامل معها ويتم استخدام الدوال الموجودة في الكود في أي مكان في قاعدة البيانات في الاستعلامات و النماذج والتقارير وجاري دراسة المعادلة مادامت أخرجت نتائج غير صحيحة معك أخي الكريم
  13. الاخ يوسف شكرا على المرور المفتاح يعمل بشكل سليم والدليل تنفيذ الكود من صفحة الاكسيل مباشرة ولكن المشكلة عندما تكون شاشة الفيجوال مفتوحة المفتاح لاينفذ الام لماذا لالالالالالالالا نعرف أخي الكريم عصام شاشة الفيجوال بيسك هكذا سميتها أنت وهنا سر الإجابة على سؤالك الكود يطلب ربط تنفيذ الماكرو ..... عند الضغط على زر .... إذا كان التطبيق (برنامج الإكسل) مفتوحا ونشطاً والفيجوال بيسك ليست هي تطبيق الأوفيس وإنما تطبيق كامل تم إرفاقه مع الأوفيس لذا لا يسري عليه ما يسري على الإكسل في حدث عند الضغط على مفتاح ثم أن شاشة الفيجوال بيسك لا يفتحها سوى المبرمج فكيف يضغط المستخدم على مفتاح وهو فيها إذا كان لا يصل إليها؟؟!!
  14. شاهد معي هذا الموضوع http://www.officena.net/ib/index.php?showtopic=39248 وأخبرني برأيك به
  15. اعرض الملف الدليل الشامل في حساب مدد خدمة الموظفين وإجمالي هذه المدد بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته ================ كثرت الأسئلة في الفترة الأخيرة حول حساب الفرق بن تاريخين ويستخدم هذا في حساب مدة خدمة الموظفين من تاريخ التعيين إلى الآن وكذلك مدد الخدمة الإضافية وكذلك مدد الانقطاع عن العمل -------------------------------------- ولذلك توكلت على الله وقمت بتصميم هذا الملف لعله يفيد كل من يبحث في هذا الموضوع والله من وراء القصد ولا ينقصني سوى دعاؤكم ............ تم تحديث البرنامج وإجراء بعض التعديلات صاحب الملف أ / محمد صالح تمت الاضافه 13 نوف, 2011 الاقسام قسم الأكسيس
  16. Version 2.0.0

    3507 تنزيل

    بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته ================ كثرت الأسئلة في الفترة الأخيرة حول حساب الفرق بن تاريخين ويستخدم هذا في حساب مدة خدمة الموظفين من تاريخ التعيين إلى الآن وكذلك مدد الخدمة الإضافية وكذلك مدد الانقطاع عن العمل -------------------------------------- ولذلك توكلت على الله وقمت بتصميم هذا الملف لعله يفيد كل من يبحث في هذا الموضوع والله من وراء القصد ولا ينقصني سوى دعاؤكم ............ تم تحديث البرنامج وإجراء بعض التعديلات
  17. ما شاء الله تجميعة رائعة أخي جمال وفقك الله وأضيف لابداعات الإخوة دالة بسيطة للفرق بين تاريخين بالطريقة المتبعة عندنا في مصر (وبها بعض الاختلاف عن datedif الموجودة في الإكسل) حيث يتم حساب السن عندنا بطرح أيام التاريخ الأحدث - أيام التاريخ الأقدم وإذا كان الناتج بالسالب يتم استلاف شهر (30 يوم كقاعدة ثابتة) ونفس الكلام مع الشهور مع استلاف 12 شهر في حالة شهور التاريخ الأحدث أقل من شهور التاريخ القديم والناتج مجمع كله في خلية واحدة Function date_diff(oldd As Date, newd As Date) As String Dim years, months, days As Integer years = Year(newd) - Year(oldd) If Month(newd) < Month(oldd) Then years = years - 1 months = (Month(newd) + 12) - Month(oldd) Else months = Month(newd) - Month(oldd) End If If Day(newd) < Day(oldd) Then months = months - 1 days = (Day(newd) + 30) - Day(oldd) Else days = Day(newd) - Day(oldd) End If date_diff = Format(years, "00") & " عام و " & Format(months, "00") & " شهر و " & Format(days, "00") & " يوم" End Function بارك الله في كل من ساهم في هذا الموضوع
  18. فكرة جميلة أخي عبد الله وفقك الله
  19. بارك الله لك أخي واستاذي جمال دغيدي كل عام أنتم بخير معادلة سهلة وخفيفة ورائعة وفقك الله لكل ما يحب ويرضى
  20. الأخ الكريم عيد 2005 تم عمل اللازم وذلك بما يلي: جعل حقل id نوعة number وليس text يمكنك تحديد أكثر من عنصر في القائمة تم الاستغناء عن الاستعلام والاستعاضة عنه بالكود ...... جرب وأخبرني بالنتيجة mas_f11.rar
  21. السلام عليكم أخي الكريم بالنسبة لموضوع البريد والأكسس ارفق لي النسخة التي تعمل عليها وبإذن الله يتم تعديل الكود لك لأن هذا البرنامج صدرت منه نسخ كثيرة جداً ولا أدري أيها تستعمل
  22. أخي الكريم كل عام أنتم بخير المشكلة في طريقة الحساب لأنه يوجد لدينا في مصر طريقة لحساب الفرق بين التاريخين وهي غير دقيقة بدرجة عالية تعتمد على أن كل الشهور 30 يوم وهذا ما عرضته في احتساب الفرق بين تاريخين فإذا كانت هذه الدالة موافقة لما تريد يتم بحث جمع المدد الزمنية الناتجة عن الدالة
  23. بارك الله فيك أخي الكريم نارت كود رائع سبق أن استخدمته في برنامج منظومة المدارس الإعدادية هدية جميلة تقبل الله منا ومنكم
  24. جرب هذا الكود DoCmd.OutputTo acOutputQuery, "exportQu", acFormatXLSX, CurrentProject.Path & "\safaatech.xlsx", True
×
×
  • اضف...

Important Information