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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      20

    • Posts

      9,814


  2. Amr Ashraf

    Amr Ashraf

    الخبراء


    • نقاط

      15

    • Posts

      946


  3. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      8

    • Posts

      12,210


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

Popular Content

Showing content with the highest reputation on 12 ماي, 2017 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. السلام عليكم ورحمة الله وبركاته اخوتي الاكارم تحية طيبة وبعد المثال المرفق يبين كيف نتمكن من جلب اكثر من صورة دفعة واحدة تأخذ كل صورة منها رقما متسلسلا في الجدول الفرعي ضمن رقم المعرف الرئيسي . يوجد في المثال : جدول tbl1 باعتباره جدولا فرعيا منبثقا من الجدول الرئيسي نموذج photo يمكن جعله نموذجا فرعيا لمن يجيد تحوير الكود المصاحب علما ان الافضل استخدامه كما هو ويتم جلب المعرف الرئيسي اليه في حقل خاص غير منضم مع الاخذ بالاعتبار فيما لو وجد صور سابقة بمعنى ان المثال يضيف صورا جديدة الى الصور القديمة ان وجدت وفي المثال تطبيق للمقال اكثر من صورة.rar
    1 point
  20. هل ترغب بوضع ساعة في ورقة العمل الخاصة بك؟؟ يتم تحديثها كل ثانية مثل ساعة النظام تماما الحل تجده في المرفق لا تنسوا أخاكم محمد صالح من صالح دعائكم clock.rar الإصدار الأحدث ويوجد في المشاركة 14 من الموضوع clock3.rar والآن تم تطوير الملف بصورة أكثر احترافية ليعرض ساعة رقمية وساعة عقارب وإذا رغب أحبابي في الله يتم شرح فيديو للطريقة وخصوصا الساعة العقارب لا تحكم في رغبتك لعمل شرح إلا بعد مشاهدة هذا المرفق mas digital and analog clock.rar
    1 point
  21. السلام عليكم اساتذتى الافاضل سنبدأ باذن الله موضوع الادوات المساعدة فى التصميم والموضوع مفتوح للجميع لأن الهدف من الموضوع اثراء المنتدى والفائدة تعم على الجميع نبدأ باسم الله بالاداة الأكثر من رائعة Find And Replace طبعا من المعروف ان خاصية البحث والاستبدال موجودة داخل الفاجوال بيسك والأكسس ولكن مزاياها ضعيفة جدا ولذلك تم تصميم هذه الاداة للبحث العميق داخل كل الكائنات الموجودة بقاعدة البيانات سواء نماذج او تقارير او استعلامات الخ... الشرح بالصور مضغوط فى المرفقات وذلك حتى لا تطول المشاركة بدون داعى بالنسبة للأداة مرفوعة على موقع دروب بوكس وذلك لكبر الحجم بالنسبة للمرفقات الرابط Replace.rar عتذر ان كان هناك سوء تنسيق ويرجع السبب لأن الموضوع تم تجهيزه فى عجالة بالنسبة للأداوت القادمة الشرح هيكون افضل ان شاء الله .. يتبع بأداة أخرى فى القريب ان شاء الله .... دمتم فى أمان الله لشرح.rar
    1 point
  22. هو لخبيرنا استاذ @أبو إبراهيم الغامدي اللي اعتذر ان يشارك في هذا الموضوع وانت قد قمت بمشاركة بدل منه شكرا لكما
    1 point
  23. اخواني الأعزاء انا من اشد المعارضين لأستخدام برامج خارجية مع الأكسس لأني مقتنع بأنه لايوجد شيء لايمكن عمله بالأكسس خصوصا اذا كان الموضوع تحت ايداي محترفه فسترى العجب العجاب هههههههه لكن لامشكلة من استخدام اي اداة بشكل مؤقت الى ان يتم ايجاد البديل لها في الاكسس على العموم كان هنالك مشاركة سابقة بخصوص موضوع تصغير الاكسس بجوار الساعة وقمت بتجربتها بنجاح وها انا اضعها مجدداً بين ايديكم .. في الحقيقة لا اذكر من قام بوضعها لكني ادعو الله ان يجزيه عنا خير الجزاء ولازلت متابع الموضوع اخونا Amr بصمت فسر على بركة الله .. نطمع في المزيد من الادوات السحرية لتصغير البرنامج بجوار الساعة.zip
    1 point
  24. شاهد اخي الكريم المرفق التالي لا يمكنك الاضافة او التحديث الا عن طريق الفورم .. وبدون الفورم فالشيت المستخدم محمي لا يمكنك الاضافة به مباشرة او التعديل ارجو ان يفي بطلبك تقبل خالص تحياتي المصنف---.rar
    1 point
  25. 1 point
  26. والف تحية لك سيدي انا اتفضل هذا على النقطة الثانية كما عملت لي في موضوع هدية سكرين ريليشن
    1 point
  27. 1 point
  28. أضفت لك نموذج بحث يمكنه أن يتجاهل الاختلاف في الهمزة والياء والواو و ؤ لكن محتاج تجربة منك 11112.rar
    1 point
  29. جرب هذه المعادلة =SUM(INDIRECT("'"&A6&"'!$C$6:$C$15"))
    1 point
  30. السلام عليكم عندى قاعدة بيانات استخدمت فيها الدالة 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
  31. اليوم موعدنا مع أداة صغيرة الحجم كبيرة المفعول ليست مساعدة فى التصميم ولكنها تساعد على سهولة استخدام الأكسس بصفة عامة أنا واحد من الناس تبعت جدا فى موضوع تصغير الاكسس بجوار الساعة وظهرت العديد من المشاكل فى الموضوع ولذلك بحثت فى المنتديات الأجنبية عن حل ووجدت هذه الأداة وهى RBTray ووظيفتها تصغير أى برنامج بجوار الساعة مع الايقونة المخصصة له وعند الضغط عليه يعود على الحال الذى تم تصغيره عليه بكل سرعة وبدون أدنى مشاكل تابعوا الصور ... الأداة فى المرفقات باصدارها 32 و 64 احتسب الأجر على الله .... دمتم فى أمان الله RBTray-4_3.zip
    1 point
  32. برنامجك جميل وأستأنك في الاحتفاظ به واستخدام أجزاء منه وقت الحاجة وسأتابع تعديلاتك أكيد طبعا يمكن الترحيل لجدول مستقل لكن الأفضل يتواجد بالجدول مع اضافة حقل : انهاء (نعم/لا ) وفي الاستعلام تشترك أن يكون الموظف : حقل الانهاء : لا وفي حالة اعادته تقوم بازالة علامة الصح من الشيك بوكس لتتحول إلى لا
    1 point
  33. استاذ امير تم التغير وتم التجريب والحمد الله تم حل المشكلة ولك من كل الشكر والاحترام والتقدير لشخصك الراقى الكريم
    1 point
  34. منور والله يا استاذ ابو خليل ربنا يديم عليك نور وجهك .
    1 point
  35. اخي شيفان تحية لك وللاستاذ جعفر وبعد انا من يوم اشوف الاستعانة ببرنامج خارجي او مكتبات خارج الاكسس لا احب التجربة لانك لا تعلم ماذا بداخل هذه البرامج واحب ان اعمل برامجي دائما بواسطة اكسس 100% واذا خرج الموضوع عن الاكسس فاني اترك الاكسس نهائيا وانتقل لتقنية اخرى كما ان كمبيوتري هو للعمل وليس لدي صلاحية في التحميل والاعدادات وووو فاني استسمحكم العذر هذا وتقبلو تحياتي
    1 point
  36. الحمدلله ، التجربة كانت ناجحة ، شكرا لكم هذا الرقم هو المدة بالثواني من وقت ضغطك على زر التقاط الصورة ، إلى وقت الانتهاء من كل شيء وعرض الصورة في النموذج جعفر الحجم 640x480 هو حجم افتراضي وتستطيع ان تجرب الرقم الاكبر فالاكبر ، حسب القائمة اللي ارفقتها في المشاركة. جعفر
    1 point
  37. تسلم ايدك استاذى وهذه التجربة والاب توب نوع Acer ZHG
    1 point
  38. و عليكم السلام و رحمة الله وبركاته اكتب اسم العميل تظهر البيانات عمل وصل بمشتريات العميل - كود.rar
    1 point
  39. في الواقع ، في الكثير من البرامج المجانية التي استعملها ، ولما اجد انها تعمل بالطريقة التي تخدمني ، فانا اذهب الى صفحة الشركة واضغط على زر Donate واتبرع بمبلغ ويكون هذا البرنامج خدمني أكثر من قيمته اضعافا جعفر
    1 point
  40. هههههه اعتذر منك اصل الانترنت ملوث ولذلك احنا ماشيين على مبدأ ليه نشترى لما ممكن نجيبه ببلاش
    1 point
  41. واذا ذكرت الافكار الجميلة ذكرت يا استاذى الفاضل نتيجة رائعة وده المتوقع جزاك الله خير وزادك من علمه :)
    1 point
  42. منور استاذنا جعفر ولكن المشكلة انى عملت مرفقات كتير وكانت النتيجة مظبوطة ومفيهاش مشكلة وبالنسبة لقاعدتى كمان مكانش فيها مشكلة حتى وقت قريب وبدون تعديلات عليها من الأساس فلذلك انا بسأل عن سبب حدوث المشكلة ومع ذلك هحاول اعمل مرفق مصغر من قاعدتى فيها التقارير والجداول المرتبطة وبها المشكلة تقبل تحياتى
    1 point
  43. فترة السماح بالتعديل تختلف بحسب المجموعة فى حالتك هي 180 دفيفة يمكن التعديل خلالها و بالنسبة لخيار اظهار تم التعديل ، فهو لا يمكن ربطه بوقت اما يتم تفعيله او لا اما بالنسبة للمعاينة فهذا الخيار غير متاح فى الوقت الحالي
    1 point
  44. وعليكم السلام اعمل في جدولك حقلين ، حقل به الكلمات بالتشكيلة ، وحقل آخر للكلمات بدون تشكيلة ، في النموذج ، اعمل الحقل بدون تشكيله مخفي ، وفي الحدث بعد التحديث لحقل التشكيلة ، استخدم هذه الوحدة النمطية لإزالة التشكيلة ، وحفظ النتيجة في الحقل الآخر. الآن وقد اصبح لديك حقل بدون تشكيلة ، فإعمل البحث فيه (لا تنسى انه سيكون مخفي) ، ونتيجة البحث اجعلها تُعرض في حقل التشكيلة وهذه هي الوحدة النمطية ، وغيّر فيها كيف شئت (وللأسف ، لأن الكلمات بالعربية ، فدالة Replace عكست اماكن الخانات كما ترى ، ولكن الكود يعمل بطريقة صحيحة): Function Simplify(CW) On Error GoTo err_Simplify 'CW = Correct Word ' when we want to search, we write in simple words, ' simple words = words without hamza for example, ' so we want to avoid these letters ' If Left(CW, 2) = "وَ" Then CW = Replace(CW, "وَ", "") ' If Left(CW, 2) = "فَ" Then CW = Replace(CW, "فَ", "") ' CW = Replace(CW, "وَ", "") ' CW = Replace(CW, "وَ", "") CW = Replace(CW, "آ", "ا") CW = Replace(CW, "أ", "ا") ' CW = Replace(CW, "ؤ", "ا") ' CW = Replace(CW, "ؤ", "ء") CW = Replace(CW, "إ", "ا") ' CW = Replace(CW, "ئ", "ا") ' CW = Replace(CW, "ئ", "ء") ' CW = Replace(CW, "ى", "ا") 'CW = Replace(CW, "ة", "ه") CW = Replace(CW, "ّ", "") CW = Replace(CW, "ـ", "") CW = Replace(CW, "ً", "") CW = Replace(CW, "ٌ", "") CW = Replace(CW, "ٍ", "") CW = Replace(CW, "ُ", "") CW = Replace(CW, "ِ", "") CW = Replace(CW, "ْ", "") CW = Replace(CW, "َ", "") CW = Replace(CW, " ", "") CW = Replace(CW, "!", "") CW = Replace(CW, " ", "") CW = Replace(CW, "ٌ", "") CW = Replace(CW, " ", "") CW = Replace(CW, ".", " ") CW = Replace(CW, "-", " ") CW = Replace(CW, "[", " ") CW = Replace(CW, "]", " ") CW = Replace(CW, "(", " ") CW = Replace(CW, ")", " ") CW = Replace(CW, ",", " ") CW = Replace(CW, "_", " ") CW = Replace(CW, "¬", " ") CW = Replace(CW, ":", " ") CW = Replace(CW, "؛", " ") CW = Replace(CW, ".", " ") CW = Replace(CW, "،", " ") CW = Replace(CW, "«", " ") CW = Replace(CW, "»", " ") CW = Replace(CW, "{", " ") CW = Replace(CW, "}", " ") CW = Replace(CW, "§", " ") CW = Replace(CW, "ـ", " ") CW = Replace(CW, "1", " ") CW = Replace(CW, "2", " ") CW = Replace(CW, "3", " ") CW = Replace(CW, "4", " ") CW = Replace(CW, "5", " ") CW = Replace(CW, "6", " ") CW = Replace(CW, "7", " ") CW = Replace(CW, "8", " ") CW = Replace(CW, "9", " ") CW = Replace(CW, "0", " ") CW = Replace(CW, "~", " ") CW = Replace(CW, CrLf, " ") CW = Replace(CW, Lf, " ") CW = Replace(CW, Cr, " ") CW = Replace(CW, "*", " ") CW = Replace(CW, "؟", " ") CW = Replace(CW, "؛", " ") CW = Replace(CW, Chr(34), " ") CW = Replace(CW, "*", " ") CW = Replace(CW, "؟", " ") ' CW = Replace(CW, "؛", " ") ' CW = Replace(CW, "؛", " ") Simplify = CW Exit Function err_Simplify: If Err.Number = 94 Then 'null Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Function جعفر
    1 point
  45. السلام عليكم أخي محمد انا لن اتطرق لطريقة عمل النموذج الجديد ، "لأننا" لم نلحظ المشكلة في النموذج الاصل ولكني دخلت في كود 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
  46. أخى الحبيب / محمد أبو البراء بارك الله فيكم وعلي الأفكار الجميلة والجيدة والهادفة
    1 point
  47. السلام عليكم ورحمة الله أخي الكريم، إضافة إلى ما تقدم به إخوتي الكرام إليك الحل التالي: - قم بتحديد الخلايا المطلوبة - من تنسيق الخلايا قم باختيار "أرقام" Numbers - اختر نوع الأرقام عادي "Standart" ثم بالتخصيص نختار "عام" General - وفي التخصيص نكتب أمام كلمة General الكتابة "0" فتصبح "0"General أنظر الملف المرفق (تطبيق هذه المراحل في نسخة 2003 بالفرنسية) أخوك بن علية 123.rar
    1 point
×
×
  • اضف...

Important Information