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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      20

    • Posts

      10000


  2. Amr Ashraf

    Amr Ashraf

    الخبراء


    • نقاط

      15

    • Posts

      946


  3. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      8

    • Posts

      13390


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

Popular Content

Showing content with the highest reputation on 05/12/17 in مشاركات

  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. هل ترغب بوضع ساعة في ورقة العمل الخاصة بك؟؟ يتم تحديثها كل ثانية مثل ساعة النظام تماما الحل تجده في المرفق لا تنسوا أخاكم محمد صالح من صالح دعائكم clock.rar الإصدار الأحدث ويوجد في المشاركة 14 من الموضوع clock3.rar والآن تم تطوير الملف بصورة أكثر احترافية ليعرض ساعة رقمية وساعة عقارب وإذا رغب أحبابي في الله يتم شرح فيديو للطريقة وخصوصا الساعة العقارب لا تحكم في رغبتك لعمل شرح إلا بعد مشاهدة هذا المرفق mas digital and analog clock.rar
    1 point
  20. هو لخبيرنا استاذ @أبو إبراهيم الغامدي اللي اعتذر ان يشارك في هذا الموضوع وانت قد قمت بمشاركة بدل منه شكرا لكما
    1 point
  21. اخواني الأعزاء انا من اشد المعارضين لأستخدام برامج خارجية مع الأكسس لأني مقتنع بأنه لايوجد شيء لايمكن عمله بالأكسس خصوصا اذا كان الموضوع تحت ايداي محترفه فسترى العجب العجاب هههههههه لكن لامشكلة من استخدام اي اداة بشكل مؤقت الى ان يتم ايجاد البديل لها في الاكسس على العموم كان هنالك مشاركة سابقة بخصوص موضوع تصغير الاكسس بجوار الساعة وقمت بتجربتها بنجاح وها انا اضعها مجدداً بين ايديكم .. في الحقيقة لا اذكر من قام بوضعها لكني ادعو الله ان يجزيه عنا خير الجزاء ولازلت متابع الموضوع اخونا Amr بصمت فسر على بركة الله .. نطمع في المزيد من الادوات السحرية لتصغير البرنامج بجوار الساعة.zip
    1 point
  22. شاهد اخي الكريم المرفق التالي لا يمكنك الاضافة او التحديث الا عن طريق الفورم .. وبدون الفورم فالشيت المستخدم محمي لا يمكنك الاضافة به مباشرة او التعديل ارجو ان يفي بطلبك تقبل خالص تحياتي المصنف---.rar
    1 point
  23. 1 point
  24. 1 point
  25. أضفت لك نموذج بحث يمكنه أن يتجاهل الاختلاف في الهمزة والياء والواو و ؤ لكن محتاج تجربة منك 11112.rar
    1 point
  26. جرب هذه المعادلة =SUM(INDIRECT("'"&A6&"'!$C$6:$C$15"))
    1 point
  27. شكرا جزيلا لك أخي عبدالفتاح هذا الرابط في شرح عن هذه الطريقة وأحب ان اضيف هذا الرابط ، وهو إضافة أكثر من معيار لدالة Dlookup واخواتها جعفر
    1 point
  28. شوف الكود متطبق فى المثال !!!! متنساش تضغط كلمة Enable Content فى الشريط الأصفر لو ظهرت !!! 4.rar
    1 point
  29. اليوم موعدنا مع أداة صغيرة الحجم كبيرة المفعول ليست مساعدة فى التصميم ولكنها تساعد على سهولة استخدام الأكسس بصفة عامة أنا واحد من الناس تبعت جدا فى موضوع تصغير الاكسس بجوار الساعة وظهرت العديد من المشاكل فى الموضوع ولذلك بحثت فى المنتديات الأجنبية عن حل ووجدت هذه الأداة وهى RBTray ووظيفتها تصغير أى برنامج بجوار الساعة مع الايقونة المخصصة له وعند الضغط عليه يعود على الحال الذى تم تصغيره عليه بكل سرعة وبدون أدنى مشاكل تابعوا الصور ... الأداة فى المرفقات باصدارها 32 و 64 احتسب الأجر على الله .... دمتم فى أمان الله RBTray-4_3.zip
    1 point
  30. استاذ امير تم التغير وتم التجريب والحمد الله تم حل المشكلة ولك من كل الشكر والاحترام والتقدير لشخصك الراقى الكريم
    1 point
  31. احذف الوحدة النمطية openfile افتح الوحدة النمطية fileOpen وغير الأسطر : Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _ "GetOpenFileNameA" (ofn As OpenFileName) As Boolean Private Declare Function GetSaveFileName Lib "comdlg32.dll" Alias _ "GetSaveFileNameA" (ofn As OpenFileName) As Boolean إلى : Public Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _ "GetOpenFileNameA" (ofn As OpenFileName) As Boolean Public Declare Function GetSaveFileName Lib "comdlg32.dll" Alias _ "GetSaveFileNameA" (ofn As OpenFileName) As Boolean وجرب
    1 point
  32. منور والله يا استاذ ابو خليل ربنا يديم عليك نور وجهك .
    1 point
  33. اخي شيفان تحية لك وللاستاذ جعفر وبعد انا من يوم اشوف الاستعانة ببرنامج خارجي او مكتبات خارج الاكسس لا احب التجربة لانك لا تعلم ماذا بداخل هذه البرامج واحب ان اعمل برامجي دائما بواسطة اكسس 100% واذا خرج الموضوع عن الاكسس فاني اترك الاكسس نهائيا وانتقل لتقنية اخرى كما ان كمبيوتري هو للعمل وليس لدي صلاحية في التحميل والاعدادات وووو فاني استسمحكم العذر هذا وتقبلو تحياتي
    1 point
  34. الحمدلله ، التجربة كانت ناجحة ، شكرا لكم هذا الرقم هو المدة بالثواني من وقت ضغطك على زر التقاط الصورة ، إلى وقت الانتهاء من كل شيء وعرض الصورة في النموذج جعفر الحجم 640x480 هو حجم افتراضي وتستطيع ان تجرب الرقم الاكبر فالاكبر ، حسب القائمة اللي ارفقتها في المشاركة. جعفر
    1 point
  35. و عليكم السلام و رحمة الله وبركاته اكتب اسم العميل تظهر البيانات عمل وصل بمشتريات العميل - كود.rar
    1 point
  36. في الواقع ، في الكثير من البرامج المجانية التي استعملها ، ولما اجد انها تعمل بالطريقة التي تخدمني ، فانا اذهب الى صفحة الشركة واضغط على زر Donate واتبرع بمبلغ ويكون هذا البرنامج خدمني أكثر من قيمته اضعافا جعفر
    1 point
  37. شكراً لك واسف على ازعاجك ننتظر جديدك اخوك عبدالرحمن السويح
    1 point
  38. هههههه اعتذر منك اصل الانترنت ملوث ولذلك احنا ماشيين على مبدأ ليه نشترى لما ممكن نجيبه ببلاش
    1 point
  39. نعم اخي الكريم دخلت الى النموذج صادر و قمت بتحميل الاداة الخاصة بسحب الصور جرب هذا السطر 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
  40. وهذا برنامج آخر ، مليء بالادوات المفيدة وفي اعتقادي اني تكلمت عنه في احد المشاركات ، والرابط: http://www.mvps.org/access/downloads/accwebfaq-10-10-00-A9.zip جعفر
    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. قائمة بافضل المواقع شهرة وشعبية على مستوى العالم فى الاكسيل Excel حسب Alexa Ranking ========================================== وبكل اسف ولا موقع عربى فيهم . والسبب فى شهرة هذه المواقع حجم التفاعل وتبادل المعلومات والخبرات ادخل اى موقع وشاهد اى موضوع وقارن بنفسك . ولكن نحن فى العالم العربى قد نبخل حتى بعمل اعجاب او مشاركة او نخجل من وضع اراءنا ..........الخ لدينا الكثير من علماء الاكسيل العظماء فى العالم العربى اتمنى من الجميع الدعم لهؤلاء العلماء . واتمنى من مدربى الاكسيل وعلماؤه ان يقدمو ما لديهم بكل الطرق احلم بان نكون افضل من الغرب فى كل شىء .
    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
×
×
  • اضف...

Important Information