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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      20

    • Posts

      9931


  2. Amr Ashraf

    Amr Ashraf

    الخبراء


    • نقاط

      15

    • Posts

      946


  3. أبو إبراهيم الغامدي
  4. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      8

    • Posts

      12871


Popular Content

Showing content with the highest reputation on 05/12/17 in all areas

  1. صيغة الشفرة السابقة فيها بعض الطول! وهذا اختصارها Public Function ULast(Expr As String, Domain As String, Optional Criteria) Dim RS As Recordset If IsMissing(Criteria) Then Criteria = "1=1" End If Set RS = CurrentDb.OpenRecordset("Select Top 1 " & Expr & " From " & _ Domain & " Where " & Criteria & " Order By " & Expr & " Desc") ULast = RS(0) End Function Public Function UFirst(Expr As String, Domain As String, Optional Criteria) Dim RS As Recordset If IsMissing(Criteria) Then Criteria = "1=1" End If Set RS = CurrentDb.OpenRecordset("Select Top 1 " & Expr & " From " & _ Domain & " Where " & Criteria & " Order By " & Expr & " Acs") UFirst = RS(0) End Function
    4 points
  2. السلام عليكم لما رأيت هذه المشاركة خشيت أن تتوه فى الزحام من إبداعات الأستاذ جعفر الكود مع تعليقى عليه فى رأس التقرير ترى الناتج فى عرض الطباعة Private Sub ReportHeader_Format(Cancel As Integer, FormatCount As Integer) 'الإعلان عن مصفوفة نصية Dim x() As String 'جلب آخر قيمة مضافة بدلالة حقل الترقيم التلقائى 'بشرط [qty_in]<>0 MX = DMax("[ID]", "Transactions", "[Qty in]<>0") 'البحث فى حقل مكون من حقلين بينهما فاصل 'الحقلان هما أنفسهما المطلوبان فى مربعى نص فى التقرير 'استخدام نتيجة mx كشرط ' DL = DLookup("[add_doc] & '|' & [zdate]", "Transactions", "[ID]=" & MX) 'التقسيم لفصل العمودين x = Split(DL, "|") Me.Text53 = x(0) Me.Text48 = x(1) End Sub رابط المشاركة
    3 points
  3. يمكن أن نصور ما قرره الاستاذين @جعفر و @رمهان بالدالتين التاليتين Public Function ULast(Expr As String, Domain As String, Optional Criteria) Dim RS As Recordset If IsMissing(Criteria) Then Set RS = CurrentDb.OpenRecordset("Select Top 1 " & Expr & " From " & _ Domain & " Order By " & Expr & " Desc") ULast = RS(0) Else Set RS = CurrentDb.OpenRecordset("Select Top 1 " & Expr & " From " & _ Domain & " Where " & Criteria & " Order By " & Expr & " Desc") ULast = RS(0) End If End Function Public Function UFirst(Expr As String, Domain As String, Optional Criteria) Dim RS As Recordset If IsMissing(Criteria) Then Set RS = CurrentDb.OpenRecordset("Select Top 1 " & Expr & " From " & _ Domain & " Order By " & Expr & " Asc") UFirst = RS(0) Else Set RS = CurrentDb.OpenRecordset("Select Top 1 " & Expr & " From " & _ Domain & " Where " & Criteria & " Order By " & Expr & " Acs") UFirst = RS(0) End If End Function
    3 points
  4. السلام عليكم شباب اشكركم على تأكيد ان البرنامج اشتغل ، وان شاء الله في النسخة النهائية نعمل احد اثنين ، حتى لا يدخل المستخدم في الكود اصلا: 1. نحاول نقرأ مقدرة الكاميرا في حجم الصور ، ونضع القائمة تلقائيا في مربع تحرير وسرد ، ويختار المستخدم الحجم المناسب ، 2. او نضع القائمة يدويا في مربع تحرير وسرد ولقد اجريت بعض التعديلات على اصل الموضوع ، مثل وضع رابط لصفحة البرنامج الخارجي الذي نستخدمه هنا هلا والله أخوي رمهان 1. كلنا يعرف ان الاكسس برنامج قاعدة بيانات ، ونحن في الكثير من الاحيان نلوي ذراعه ليعمل اللي نريد ، لذا انا دائما اقول: ونستخدم بشكل يومي كائنات ActiveX و OCX ومكتبات تأتي مع اجهزة ، داخل الاكسس (والتي هي برامج خارجية) ، سواء من صنع مايكروسوفت ، او من غيرها ، 2. هممم ، هنا سنواجه مشكلة في جميع البرامج تقريبا!! SQL Server ليس ببرنامج بحد ذاته ، حيث انه جداول فقط ، وتحتاج الى برنامج واجهة لجعله يشتغل ، فهل هذا معناه عدم استعماله لأنه يستعمل برنامج خارجي معه!! وفي احد المشاريع التي عملت فيها ، المبرمج كان يستعمل ASP.net ، واضطررنا الى شراء كائن ActiveX لإستعماله في البرنامج ، فهذا كذلك برنامج خارجي!! في هذه الحالة ، احنا تمام مع الاكسس على العموم ، طريقتك استاذ رمهان تعتمد على المعرفة والتدقيق والتمحيص في جميع دقائق البرنامج ، لهذا السبب ماشاءالله ، اجاباتك تكون غير مألوفة ، وبالخصوص المختصرة/المختزلة منها والسبب اني كتبت ما قلته اعلاه ، حتى يعرف الجميع الاختيارات التي لديه ، سواء بالاكسس 100% ، او بمساعدة البرامج الخارجية جعفر
    3 points
  5. السلام عليكم ورحمة الله وبركاته في المثال غنية عن المقال فتح الصورة بالمستعرض.rar
    3 points
  6. الله ينور دربك بالايمان ، ويديم عليك نعمه ، واعتذر لتغيير الصورة
    3 points
  7. جرب عزيزي subform1.SetFocus For i = 0 To subform1.Form.RecordsetClone.RecordCount subform1!ImagePath = Replace(subform1!ImagePath, Left(subform1!ImagePath, InStrRev(subform1!ImagePath, "\") - 1), DLookup("pate", "IETEM_NEM", "ITEM_NO=" & subform1!emp_id)) DoCmd.GoToRecord , , acGoTo, i + Abs(i <> subform1.Form.RecordsetClone.RecordCount) Next بالتوفيق
    3 points
  8. السلام عليكم ورحمة الله وبركاته الجزء الاول تم مناقشته هنا هذا الجزء رقم 2 من مشروع متكامل لتصوير الاشخاص والمستندات بإستخدام الكاميرات والماسح الضوئي (Scanner) ، والمشروع يتكون من: يعني مو بس البرامج الكبيرة تستخدم هذه التقنيات ، وإحنا بعد وهذه الاجهزة ستكون لتصوير الاشخاص والمستندات ، ان شاء الله التصوير عن طريق كاميرا هاتف اندرويد ، وتمت التجربة على هاتف اندرويد Galaxy S3 بنظام 4.4 و Huawei Mate 7 بنظام اندرويد 6 ، التصوير عن طريق WebCam ، وتمت التجربة على Logitec HD c615 ، و Creative Live (VF0610)e ، التصوير عن طريق الكامرات الكبيرة من نوع DSLR ، وتمت التجربة على Nikon D5100 او Canon Mark iii ، تطويع الماسح الضوئي لتصوير المستند/المستندات ، وحفظ المستندات الى اي مجلد ، بصيغة pdf او jpg والعمل غير مكتمل 100% ، هذا البرنامج يشتمل على الرقم 1 كذلك (وهو نفس نسخة الرابط اعلاه وبدون تغيير) ، هذا البرنامج يعتمد على البرنامج الخارجي (RobotEyez.exe) ، وهذا رابطه: https://batchloaf.wordpress.com/2011/11/27/ultra-simple-machine-vision-in-c-with-roboteyes/ وهذا كود برنامج التصوير عن طريق كاميرا Webcam: Dim cmmd As String 'how long does it take to take the picture istart = Timer 'set BE_Path Call BE_or_FE 'RobotEyez location App_Location = BE_Path & "Camera_App\WebCam\RobotEyez.exe" Save_images_to = BE_Path & "images\" 'Debug.Print App_Location iview_Folder = BE_Path & "image_App\i_view32.exe" File_Path = Save_images_to & Me.Employee_ID & ".jpg" SetCurrentDirectory Save_images_to 'cmmd = App_Location & " /devnum 1 /delay 1000 /width 1920 /height 1080 /bmp" cmmd = App_Location & " /devnum 1 /delay 1000 /width 1280 /height 720 /bmp" 'Debug.Print cmmd Call ShellWait(cmmd, vbHidden) 'convert bmp to jpg Call ShellWait(iview_Folder & " " & Save_images_to & "frame.bmp" & " /convert=" & File_Path, vbNormalFocus) 'Delete the bmp image Kill Save_images_to & "\frame.bmp" 'show the picture in the Form Me.Pic.Picture = Save_images_to & Me.Employee_ID & ".jpg" MsgBox Timer - istart . المرفق فيه جميع البرامج المطلوبة لجعل هذا البرنامج يعمل ، ولكن ، 1. المطلوب اولا معرفة حجم الصورة التي تستطيع Webcam التقاطها ، فاذا ادخلت رقم خطأ ، فستظهر لك رسالة بعدم الحصول على الصورة frame.bmp ، فرجاء تغيير هذه الارقام: width 1280 /height 720 فتجربتي على الكاميرتين كانا: Logitec HD c615 : 1920 x 1080 Creative Live (VF0610)e : 1280 x 720 وهذه قائمة بالاحجام العامة للكاميرات ، وانا انصح بالبدء بالحجم 640x480 ، وعند ظهور الصورة ، تستطيع ان تزيد الحجم بالتجربة: . 2. اذا عندك اكثر من Webcam ، مثلا تستخدم كاميرا اللابتوب واخرى خارجية ، فيجب تغيير الرقم الى 2: devnum 1 وهذا هو سطر الكود الذي يحتاج الى تغيير: cmmd = App_Location & " /devnum 1 /delay 1000 /width 1280 /height 720 /bmp" . وبما ان هذا البرنامج للتجربة ، فالرجاء ابداء ملاحظاتكم جعفر Camera_Scanner.zip
    2 points
  9. يا جماعة يا استاذنا @jjafferr @ابو خليل @رمهان @صالح حمادي @أبو عبدالله الحلوانى @محمد ايمن @محمد سلامة @sandanet @ابا جودى @Elsayed Bn Gemy @عبد الفتاح كيرة @أبو إبراهيم الغامدي @أمير2008 وأي شخص اللي ما ذكرت اسمه ونسيته اطلب منكم جميعا لا تطمعوا علينا اعطينا ما عندكم الله يجزيكم خيرا اخوكم الصغير شفان ريكاني
    2 points
  10. مفيش حد تانى بيضيف حاجة للموضوع ولا بيتفاعل معاه
    2 points
  11. 100% ويمكن استخدام أي فاصلة/فارزة ، بشرط عدم وجودها في القيم جعفر
    2 points
  12. اسمح لى البحث بدالة dlookup فى عشرة حقول فى جدول أو استعلام "code" بشرط [pn]=forms!frm_dataentry!Combopn الفاصل "|" لاستخدامه فى تقسيم الحقول بعد ذلك بدالة split و هى تطلب 1 - النص المراد تقسيمه 2 - علامة معينة تفصل عندها والعلامة هنا هى "|" بعد التقسيم ترجع عشرة قيم تخزن فى عشرة متغيرات فى المصفوفة نعيد إسنادها للحقول المطلوبة مرة أخرى
    2 points
  13. أستاذ جعفر @jjafferr محتاج شرح الكود التالى بالتفصيل وخاصة حتة الفصل دى لأنى مش فاهمها نهائياً والعلامة '|' غير مألوفة Dim x() As String A = DLookup("[pn] & '|' & [Size] & '|' & [Vendor] & '|' & [Description] & '|' & [Maxrl] & '|' & [Maxrlegyptair] & '|' & [actype] & '|' & [pos] & '|' & [biasradial] & '|' & [code]", "code", "[pn]=forms!frm_dataentry!Combopn") x = Split(A, "|") ' For i = LBound(x) To UBound(x) ' Debug.Print x(i) ' Next i Me.pn = x(0) Me.size = x(1) Me.vendor = x(2) Me.Description = x(3) Me.Maxrl = x(4) Me.Maxrlegyptair = x(5) Me.ACType = x(6) Me.Pos = x(7) Me.BiasRadial = x(8) Me.code = x(9)
    2 points
  14. شهادة اعتز بها ووسام على صدري تحياتي
    2 points
  15. انا لا أومن بالصدفة وانما هو تخطيط ربّاني والسبب قد يكون مثل ما قال أخي أوس بالفعل محترفين برمجيا وخُلقيا ، ومحترمين جداً وانا أشهد بأن الادارة ايضا هكذا ، وفي مقدمتهم الأستاذ المهندس @محمد طاهر صاحب الموقع ، والقلب النابض له ، وأوسعنا علماً ، وأبسطنا خُلقاً وكلما جار عليّ الدهر ، ألجأ الى الجدار المنيع وأخو الجميع ، أخونا العود @ابوخليل ، وبحكمته ترجع المياه الى مجاريها ، وبعلمه وإصراره يفتح لنا آفاق جديدة ، نتوسع فيها جعفر
    2 points
  16. بالفعل طريقة مبتكرة لم اراها من قبل ولكن نحن نتكلم عن استاذ جعفر مش غريب عليه الابداع
    2 points
  17. ان شاء الله تمام 100% تسلم ايدك يا استاذ رمهان الله يبارك فيك ماقصرت ..بالمناسبة انا حاولت تطبيق الدالة Replace من قبل بس ماوصلت لنتيجة لكن ما اتوقعتها اتكون بهذا الشكل المرعب ههههههه
    2 points
  18. السلام عليكم احد اهم الحقول اللي عندك هو حقل الترقيم التلقائي ، والذي دائما سيعطي الرقم المسلسل لإدخالك ، فإستعماله سيحل لك المشكلة: Private Sub ReportHeader_Format(Cancel As Integer, FormatCount As Integer) Dim x() As String MX = DMax("[ID]", "Transactions", "[Qty in]<>0") DL = DLookup("[add_doc] & '|' & [zdate]", "Transactions", "[ID]=" & MX) x = Split(DL, "|") Me.Text53 = x(0) Me.Text48 = x(1) End Sub جعفر
    2 points
  19. السلام عليكم اساتذتى الافاضل سنبدأ باذن الله موضوع الادوات المساعدة فى التصميم والموضوع مفتوح للجميع لأن الهدف من الموضوع اثراء المنتدى والفائدة تعم على الجميع نبدأ باسم الله بالاداة الأكثر من رائعة Find And Replace طبعا من المعروف ان خاصية البحث والاستبدال موجودة داخل الفاجوال بيسك والأكسس ولكن مزاياها ضعيفة جدا ولذلك تم تصميم هذه الاداة للبحث العميق داخل كل الكائنات الموجودة بقاعدة البيانات سواء نماذج او تقارير او استعلامات الخ... الشرح بالصور مضغوط فى المرفقات وذلك حتى لا تطول المشاركة بدون داعى بالنسبة للأداة مرفوعة على موقع دروب بوكس وذلك لكبر الحجم بالنسبة للمرفقات الرابط Replace.rar عتذر ان كان هناك سوء تنسيق ويرجع السبب لأن الموضوع تم تجهيزه فى عجالة بالنسبة للأداوت القادمة الشرح هيكون افضل ان شاء الله .. يتبع بأداة أخرى فى القريب ان شاء الله .... دمتم فى أمان الله لشرح.rar
    1 point
  20. 1 point
  21. والف تحية لك سيدي انا اتفضل هذا على النقطة الثانية كما عملت لي في موضوع هدية سكرين ريليشن
    1 point
  22. السلام عليكم عندى قاعدة بيانات استخدمت فيها الدالة Dlast لتخبرنى اخر تاريخ تم تسجيل المستندات فيه فى جداول معينة بالاضافة الى اخر رقم مستند تم تسجيله وكانت النتيجة جيدة فى الاول لكن تجمد التاريخ على يوم معين وحتى بعد التسجيل فى تواريخ لاحقة لا تتغير نتيجة الدالة ونفس المشكلة تظهر فى اخر رقم مستند تم تسجيله وليس فى التواريخ فقط مثال تم تسجيل مستندات بتاريخ 1 / 5 / 2017 ولكن الكود يظهر ان اخر تاريخ فى الجدول هو 19 / 3 / 2017 وتم تسجيل المستند رقم 005252 والبرنامج يعطى نتيجة ان اخر اذن هو 005000 والاكواد المستخدمة كالتالى : DLast("[Zdate]","Production","") =DLast("[zdate]","Transactions","[Qty in]<>0") =Nz(DLast("[Zdate]","Production","[client]='" & [client] & "'"),"لا يوجد") =DLast("[DocumentNumber]","Transactions","[Qty in]<>0") مش عارف سبب المشكلة دى ايه بس ممكن اتغلب عليها فى موضوع التاريخ باستبدال الدالة بدالة Dmax لكن بالنسبة لرقم المستند بيكون Short Text وبالتالى محتاج دالة Dlast لمعرفة اخر مستند تم تسجيله أية أفكار ؟؟
    1 point
  23. شوف الكود متطبق فى المثال !!!! متنساش تضغط كلمة Enable Content فى الشريط الأصفر لو ظهرت !!! 4.rar
    1 point
  24. اليوم موعدنا مع أداة صغيرة الحجم كبيرة المفعول ليست مساعدة فى التصميم ولكنها تساعد على سهولة استخدام الأكسس بصفة عامة أنا واحد من الناس تبعت جدا فى موضوع تصغير الاكسس بجوار الساعة وظهرت العديد من المشاكل فى الموضوع ولذلك بحثت فى المنتديات الأجنبية عن حل ووجدت هذه الأداة وهى RBTray ووظيفتها تصغير أى برنامج بجوار الساعة مع الايقونة المخصصة له وعند الضغط عليه يعود على الحال الذى تم تصغيره عليه بكل سرعة وبدون أدنى مشاكل تابعوا الصور ... الأداة فى المرفقات باصدارها 32 و 64 احتسب الأجر على الله .... دمتم فى أمان الله RBTray-4_3.zip
    1 point
  25. ممتاز بارك الله فيكم مجهود رائع وهذه طريقة أخرى مشابهة لفكرة أ/ رمهان يعني زي ما بيقولوا الجماعة الهنود في دول الخليج same same وبالمثال تختار نوع المجموعة فيظهر أصنافها تلقائيا ومرتبة على أزرار وتختفي باقي الأزرار وعند الضغط على احدى الأزرار يظهر بيانات الصنف في النموذج الثالث food3.rar
    1 point
  26. برنامجك جميل وأستأنك في الاحتفاظ به واستخدام أجزاء منه وقت الحاجة وسأتابع تعديلاتك أكيد طبعا يمكن الترحيل لجدول مستقل لكن الأفضل يتواجد بالجدول مع اضافة حقل : انهاء (نعم/لا ) وفي الاستعلام تشترك أن يكون الموظف : حقل الانهاء : لا وفي حالة اعادته تقوم بازالة علامة الصح من الشيك بوكس لتتحول إلى لا
    1 point
  27. استاذ امير تم التغير وتم التجريب والحمد الله تم حل المشكلة ولك من كل الشكر والاحترام والتقدير لشخصك الراقى الكريم
    1 point
  28. الحمدلله ، التجربة كانت ناجحة ، شكرا لكم هذا الرقم هو المدة بالثواني من وقت ضغطك على زر التقاط الصورة ، إلى وقت الانتهاء من كل شيء وعرض الصورة في النموذج جعفر الحجم 640x480 هو حجم افتراضي وتستطيع ان تجرب الرقم الاكبر فالاكبر ، حسب القائمة اللي ارفقتها في المشاركة. جعفر
    1 point
  29. تسلم ايدك استاذى وهذه التجربة والاب توب نوع Acer ZHG
    1 point
  30. في الواقع ، في الكثير من البرامج المجانية التي استعملها ، ولما اجد انها تعمل بالطريقة التي تخدمني ، فانا اذهب الى صفحة الشركة واضغط على زر Donate واتبرع بمبلغ ويكون هذا البرنامج خدمني أكثر من قيمته اضعافا جعفر
    1 point
  31. شكراً لك واسف على ازعاجك ننتظر جديدك اخوك عبدالرحمن السويح
    1 point
  32. هههههه اعتذر منك اصل الانترنت ملوث ولذلك احنا ماشيين على مبدأ ليه نشترى لما ممكن نجيبه ببلاش
    1 point
  33. سلمت يداك وفى غاية الامتنان لطول صبرك معى ومساعدتى سوف أقوم بتجربة القاعدة وإسمح لى أن اعود لحضرتك فى حال ان اردت الاستفسار عن ما يتعلق بها وتقبل خالص تحياتى
    1 point
  34. حبيت انبه هنا الشي معين دوال المجال ومنها dlast خصوصا والتي تعتمد على ترتيب البيانات في المصدر فانه : قد لا تحصل على نتيجة متوقعه اذا كان المصدر جدول لان البيانات في الجدول لايحكمها ترتيب معين في خصوصا اذا الحقل الداخل في الداله ليس مفهرس كما انها ليست عمليه اذا لديك سجلات ضخمة في الجدول هنا اعمل استعلام ثم قم بعمل ترتيب بشكل صريح في الاستعلام ثم اجعل الاستعلام مصدر للدالة . هنا ستاتي اخر قيمة في الاستعلام لاني اعلم ان البيانات مرتبه بالشكل الذي اريده تحياتي
    1 point
  35. نعم اخي الكريم دخلت الى النموذج صادر و قمت بتحميل الاداة الخاصة بسحب الصور جرب هذا السطر Shell ("c:\program files\irfanview\i_view32.exe /batchscan=(tempscan & "100",1,1,2,1," & Trim(db_path) & "tempscan,jpg,0)") عوضا عن هذا السطر Shell ("c:\program files\irfanview\i_view32.exe /batchscan=(tempscan,1,1,2,1," & Trim(db_path) & "tempscan,jpg,0)") من المفترض ان تجد صورة اسمها 100.jpg في المجلد temp scan جرب ووافيني بالنتيجة
    1 point
  36. بصراحة يا استاذ أمير ويشهد الله علي اني لازلت اتذكرك جيداً ودائماً ما اتفرج على اكوادك البرمجية التي كانت لدي واتعلم منها .. اتمنى وجودك المستمر معنا وعدم الانقطاع عن هذا المنتدى الرائع الذي فيه اساتذة محترفين ومحترمين جداً لم اكن اتخيل وجودهم مجتمعين هنا في مكان واحد .. حفظك الله واياهم اجمعين وبارك الله بكم على مجهوداتكم الرائعة . تحياتي
    1 point
  37. واذا ذكرت الافكار الجميلة ذكرت يا استاذى الفاضل نتيجة رائعة وده المتوقع جزاك الله خير وزادك من علمه :)
    1 point
  38. حياك الله أخوي أمير انا اقول هذه الصورة مب غريبة عليّ ، بس العتب على الشيب جعفر
    1 point
  39. أخى الفاضل // ناصر المصرى السلام عليكم ورحمته الله وبركاته بداية جزاكم الله خيرا لا أعتقد أن ظنك فى محله فالكل هنا يساعد بقدر مالدية من وقت وبقدر إستطاعته وبقدر استيعابه للموضوع ثما اننى اعتقد أن الطلب قد يكون صعبا لعدة محاولات سابقة منى لاستكمال طلبك ولكن لا أعتقد أن يكون محالا لأصحاب الخبرة المتميزين هنا بالمنتدى فقد أدليت وأخى حماده عمر بما لدينا فى ذات الموضوع على الروابط المشار اليها فإن قدر الله لك حل هذة المشكلة فالافادة للجميع وخير الجزاء لصاحبه وان لم يكن فقدر الله وماشاء فعل وافر تقديرى واحترامى وجزاكم الله خيرا
    1 point
  40. جزاك الله خيرا أستاذ ياسر بدون مجاملات ولا قصد لأي إنسان مشكلة بعض الأصدقاء هنا في المنتدى أن بعضهم لا يريد أن يتعلم ليفعلها بنفسه وإنما يريد أن يحصل على ما يريده جاهزا ولا يعلم أنه بهذه الطريقة يجعل نفسه أسيرا لمن يجيبه أو لا يجيب حسب ظروف كل مشارك وإذا بدأ كل صاحب موضوع بالبحث والتعلم أولا ما حدث مثل هذا الجدل غير المفيد لصاحبه او المجيب وفقنا الله جميعا لكل ما يحب ويرضى
    1 point
  41. فترة السماح بالتعديل تختلف بحسب المجموعة فى حالتك هي 180 دفيفة يمكن التعديل خلالها و بالنسبة لخيار اظهار تم التعديل ، فهو لا يمكن ربطه بوقت اما يتم تفعيله او لا اما بالنسبة للمعاينة فهذا الخيار غير متاح فى الوقت الحالي
    1 point
  42. السلام عليكم عمل متميز اخى واستاذي ابو على واسمح لى بالمشاركة لعرض فكرة اخرى ولاثراء الموضوع اخلى الكريم يمكن ذلك ايضاً من خلال باستخدام معادلة للتنسيق الشرطي =IF($B3>TODAY(),IF($B3-TODAY()<=10,1,"")) تواريخ.rar
    1 point
  43. هذه اول مشاركة لي فى المنتدى وكنت اريد عمل برنامج لادارة بيانات العملاء لشركة سفريات هل هذا الطلب مسموح هنا لو بمقابل مادى
    1 point
  44. قائمة بافضل المواقع شهرة وشعبية على مستوى العالم فى الاكسيل Excel حسب Alexa Ranking ========================================== وبكل اسف ولا موقع عربى فيهم . والسبب فى شهرة هذه المواقع حجم التفاعل وتبادل المعلومات والخبرات ادخل اى موقع وشاهد اى موضوع وقارن بنفسك . ولكن نحن فى العالم العربى قد نبخل حتى بعمل اعجاب او مشاركة او نخجل من وضع اراءنا ..........الخ لدينا الكثير من علماء الاكسيل العظماء فى العالم العربى اتمنى من الجميع الدعم لهؤلاء العلماء . واتمنى من مدربى الاكسيل وعلماؤه ان يقدمو ما لديهم بكل الطرق احلم بان نكون افضل من الغرب فى كل شىء .
    1 point
  45. والدالة لأكثر من شرط ، وبطريقة سهلة: كل نوع من انواع الحقول له طريقة معينة للتعامل معه في الكود ، وهذا يجعل كتابة كود بأكثر من شرط ، صعب نوعا ما ، لذلك ، الطريقة التي اقترحها هي في التعامل مع كل نوع بسطر مستقل (انظر للمثال في الاسفل) ، مما لا يدع مجال للخطأ في السطر ، ثم نجمع الاسطر في سطر واحد ، وهذا السطر يكون مجموع الشروط : myCriteria = "[detach]='موظف'" myCriteria = myCriteria & " Or [iDate]=#29-05-2015#" myCriteria = myCriteria & " Or [Payment_Month]=#" & Me.txtMonth & "#" myCriteria = myCriteria & " Or [EmployeeID]=" & Me.EmployeeID 'myCriteria = myCriteria & " Or [ID]=12" a = DLookup("[myID]", "tbl_Employees", myCriteria) او myCriteria_1 = "[detach]='موظف'" myCriteria_2 = " Or [iDate]=#29-05-2015#" myCriteria_3 = " Or [Payment_Month]=#" & Me.txtMonth & "#" myCriteria_4 = " Or [EmployeeID]=" & Me.EmployeeID myCriteria_5 = " Or [ID]=12" myCriteria = myCriteria_1 & myCriteria_2 & myCriteria_3 & myCriteria_4 & myCriteria_5 a = DLookup("[myID]", "tbl_Employees", myCriteria) والشرح 'في الاسطر، ممكن استعمال والخلط بين 'Or او And 'كما يمكن استعمال اي سطر، و عدم استعمال اسطر اخرى، اي يمكن الخلط في استعمال الاسطر 'للمتغيرات الثابته 'نص myWhere = "[detach]='موظف'" myWhere = myWhere & " Or [ID]=12" 'رقم myWhere = myWhere & " Or [iDate]=#29-05-2015#" 'تاريخ 'للمتغيرات myWhere = myWhere & " Or [Employee_Name]='" & Me.Employee_Name & "'" 'نص myWhere = myWhere & " Or [EmployeeID]=" & Me.EmployeeID 'رقم myWhere = myWhere & " Or [Payment_Month]=#" & Me.txtMonth & "#" 'تاريخ a = DLookup("[myID]", "tbl_Employees", myWhere) جعفر
    1 point
  46. السلام عليكم أخي محمد انا لن اتطرق لطريقة عمل النموذج الجديد ، "لأننا" لم نلحظ المشكلة في النموذج الاصل ولكني دخلت في كود Combopn_AfterUpdate : pn = DLookup("pn", "code", "[pn]=forms!frm_dataentry!Combopn") size = DLookup("Size", "code", "[pn]=forms!frm_dataentry!Combopn") vendor = DLookup("Vendor", "code", "[pn]=forms!frm_dataentry!Combopn") Description = DLookup("Description", "code", "[pn]=forms!frm_dataentry!Combopn") Maxrl = DLookup("Maxrl", "code", "[pn]=forms!frm_dataentry!Combopn") Maxrlegyptair = DLookup("Maxrlegyptair", "code", "[pn]=forms!frm_dataentry!Combopn") ACType = DLookup("actype", "code", "[pn]=forms!frm_dataentry!Combopn") Pos = DLookup("pos", "code", "[pn]=forms!frm_dataentry!Combopn") BiasRadial = DLookup("biasradial", "code", "[pn]=forms!frm_dataentry!Combopn") code = DLookup("code", "code", "[pn]=forms!frm_dataentry!Combopn") لاحظت انك تنادي الجدول (اي تعمل استعلام للجدول) 10 مرات !! انا دائما لما اعمل برامجي ، اعمل البرنامج على اساس انه سيكون عبارة عن جزئين ، الواجهة FE ، والجداول BE ، وان الجداول BE ، ستكون في شبكة ، وان الواجهة FE ستكون لأكثر من مستخدم. لهذا السبب ، فيجب ان نقلل الزحمة في الشبكة ، وذلك بتقليل زيارة/استعلام الجداول قدر الإمكان ، وعند كل زيارة ، يجب ان نأخذ اكبر كمية من البيانات المطلوبة ، ثم نتعامل معها محليا في FE. لذلك ، فانا هنا اعطيك احد البدائل (والتي لا يعرفها الكثير ، لأنها تعمل على الاكسس 2003 فما فوق) ، فالكود التالي ، يقوم بزيارة/استعلام الجدول عن طريق DLookup مرة واحدة ، ويأخذ 10 بيانات مرة واحدة ، فلذا يمكن ان يستبدل كودك اعلاه: Dim x() As String A = Nz(DLookup("[pn] & '|' & [Size] & '|' & [Vendor] & '|' & [Description] & '|' & [Maxrl] & '|' & [Maxrlegyptair] & '|' & [actype] & '|' & [pos] & '|' & [biasradial] & '|' & [code]", "code", "[pn]=forms!frm_dataentry!Combopn"),"|||||||||") 'ويمكن استعمال اي شيء بدل عن | فمثلا الفاصلة 'A حتى اذا لم هناك قيمة للمتغير Nz نستعمل الدالة 'عدد مرات وضع العلامة | في نهاية السطر ، يكون نفس عددها في المعادلة 'لهذا السبب نرى اننا وضعنا 9 منها في نهاية السطر x = Split(A, "|") ' For i = LBound(x) To UBound(x) ' Debug.Print x(i) ' Next i Me.pn = x(0) Me.size = x(1) Me.vendor = x(2) Me.Description = x(3) Me.Maxrl = x(4) Me.Maxrlegyptair = x(5) Me.ACType = x(6) Me.Pos = x(7) Me.BiasRadial = x(8) Me.code = x(9) جعفر
    1 point
  47. أخى الحبيب / محمد أبو البراء بارك الله فيكم وعلي الأفكار الجميلة والجيدة والهادفة
    1 point
  48. أخي العزيز / ضاحي الغريب السلام عليكم ورحمة الله وبركاته هذا ما ننتظره من أناس أفاضل مثلك فهذا العمل سوف يستفيد منه الكثير بإذن الله تعالى ... عزيزي ضاحي وجدت بعض الملاحظات ولي أيضا بعض الاقتراحات 1- حساب المدة بين التاريخين في مدة نهاية الخدمة أعتقد أنه يحتاج بعض التعديل خاصة إذا كان فيه كسر في السنة مثال : تاريخ التعيين 01/01/2008 وتاريخ : نهاية الخدمة : 01/01/2013 تكون أيام الخدمة كما هو موضح 4 سنوات + 12 شهر + 31 يوم المفروض يظهر 5 سنوات و إذا تم زيادة شهر يحسب على انه يوم فقط مثال تاريخ التعيين : 01/01/2008 وتاريخ نهاية الخدمة : 01/01/2013 تكون المدة 5 سنوات تظهر بنسق 4 سنوات + 12 شهر + 31 يوم إذا تم تعديل تاريخ نهاية الخدمة إلى : 01/07/2013 بزيادة ستة أشهر تظهر المدة : 5 سنوات + 1 شهر + 6 أيام والمفروض أن تكون 5 سنوات + 6 شهور + 1 يوم 2- نفس المشكلة في حساب مدة استحقاق الاجازة مثال : تاريخ التعيين : 01/01/2012 ونهاية الخدمة في : 31/12/2012 تظهر المدة 12 شهر + 30 يوم ويتم الحساب على أن المدة 13 شهر إقتراحي : أن يتم إضافة جميع البدلات في الفورم وعمل فورم مستقل ( لإختيار البدلات التي على اساسها يتم حساب نهاية الخدمة وفورم لإختيار البدلات التي على اساسها يتم حساب بدل الاجازة ) و وضع تشيك بوكس بجواركل بدل لإختيار إن كان سيتم حساب هذا البدل في التصفية أم لا وذلك حتى يتم النفع لأكبر عدد من االمستخدمين للبرنامج إن شاء الله جزاك الله عنا كل خير دمتم في رعاية الله وحفظه .........................أوفيسيني جديد
    1 point
  49. السلام عليكم ورحمة الله أخي الكريم، إضافة إلى ما تقدم به إخوتي الكرام إليك الحل التالي: - قم بتحديد الخلايا المطلوبة - من تنسيق الخلايا قم باختيار "أرقام" Numbers - اختر نوع الأرقام عادي "Standart" ثم بالتخصيص نختار "عام" General - وفي التخصيص نكتب أمام كلمة General الكتابة "0" فتصبح "0"General أنظر الملف المرفق (تطبيق هذه المراحل في نسخة 2003 بالفرنسية) أخوك بن علية 123.rar
    1 point
×
×
  • اضف...

Important Information