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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      22

    • Posts

      9,814


  2. ابو ياسين المشولي

    • نقاط

      11

    • Posts

      1,752


  3. Shivan Rekany

    Shivan Rekany

    الخبراء


    • نقاط

      5

    • Posts

      3,491


  4. سليم حاصبيا

    سليم حاصبيا

    أوفيسنا


    • نقاط

      3

    • Posts

      8,723


Popular Content

Showing content with the highest reputation on 19 ينا, 2018 in all areas

  1. بالعكس اخوي ابو ياسين ، ادلو بدلوك كذلك ، فزيادة الخير خيرين جعفر
    3 points
  2. السلام عليكم وبعد البحث ، والتجربة: استعمل هذا الكود في وحدة نمطية: Option Compare Database Option Explicit #If VBA7 Then Private Declare PtrSafe Function SetForegroundWindow Lib "user32" (ByVal hWnd As LongPtr) As LongPtr Private hWnd As LongPtr #Else Public Declare Function SetForegroundWindow Lib "user32" (ByVal hWnd As Long) As Long Public hWnd As Long #End If Public Function Activate_This_AccessApp() As Boolean 'Brings the DB to the front of all open windows Call SetForegroundWindow(Application.hWndAccessApp) End Function Public Function Activate_Another_AccessApp() As Boolean 'Brings the DB to the front of all open windows Dim appTarget As Access.Application Set appTarget = GetObject(CurrentDb.Name) ActivateAccessApp = Not SetForegroundWindow(appTarget.hWndAccessApp) = 0 Set appTarget = Nothing End Function ثم ننادي هذه الوحدة النمطية هكذا: Private Sub Form_Load() Call Activate_This_AccessApp DoCmd.Maximize SendKeys "{BS}", False Me.SetFocus Me.id.SetFocus End Sub جعفر 883.Bring_Access_to_Front.mdb.zip
    3 points
  3. اما انا فمتوقف ، لأني واخيرا استطعت ان اوصل خطأ الفكرة الى ابو ياسين جعفر
    2 points
  4. السلام عليكم انا لا احب input mask ، لأنه يقيد المستخدم ، ولازم تبدأ تكتب من اول السطر ، واذا اخطأت واردت ان تتراجع وووو لذلك اليك طريقة اسهل: اكتب اللي تريده في التنسيق ، هكذا . والبرنامج راح يغيره الى . والنتيجة . جعفر 885.Dash.accdb.zip
    2 points
  5. السلام عليكم أخي الكريم سليم الكود الذي وضعته بهذه السرعة رائع جدا جازاك الله خير الجزاء وبارك الله فيك وفي علمك وزاده الله في ميزان حسناتك... بالنسبة لأرقام الجلوس أعتقد أنها تلقائية وتسلسلية مثلها مثل أرقام اللجان (وهي بمعادلات)، من المفروض أن لا يخصها الترتيب تبعا لترتيب الأسماء... قمت ببعض التعديل على كودك الجميل وربطه بالملف على أن يكون الترتيب للأسماء فقط وان تكون النتيجة في العمود الثاني (الخاص بالأسماء)... أرجو أن يفي ذلك المطلوب... بن علية حاجي تجهيز الكنترول -1 ابتدائي- مرفق كود الأخ سليم معدل.rar
    2 points
  6. اتفضل اخي ابو زاهر طباعه الفاتوره.rar
    2 points
  7. نشكرك .. لكن تقدر تستخدم دالة if مرة واحدة بدل 100 مرات هكذا Static intCount As Integer intCount = intCount + 1 If intCount = 1 Then Me.pr = "تقدم مؤشر التحقق 1%" Else If intCount = 2 Then Me.pr = "تقدم مؤشر التحقق 2%" Else If intCount = 3 Then Me.pr = "تقدم مؤشر التحقق 3%" Else If intCount = 4 Then Me.pr = "تقدم مؤشر التحقق 4%" Else If intCount = 5 Then Me.pr = "تقدم مؤشر التحقق 5%" Else If intCount = 6 Then Me.pr = "تقدم مؤشر التحقق 6%" Else If intCount = 7 Then Me.pr = "تقدم مؤشر التحقق 7%" Else If intCount = 8 Then Me.pr = "تقدم مؤشر التحقق 8%" Else If intCount = 9 Then Me.pr = "تقدم مؤشر التحقق 9%" Else If intCount = 10 Then Me.pr = "تقدم مؤشر التحقق 10%" Else If intCount = 11 Then Me.pr = "تقدم مؤشر التحقق 11%" Else If intCount = 12 Then Me.pr = "تقدم مؤشر التحقق 12%" Else If intCount = 13 Then Me.pr = "تقدم مؤشر التحقق 13%" Else If intCount = 14 Then Me.pr = "تقدم مؤشر التحقق 14%" Else If intCount = 15 Then Me.pr = "تقدم مؤشر التحقق 15%" Else If intCount = 16 Then Me.pr = "تقدم مؤشر التحقق 16%" Else If intCount = 17 Then Me.pr = "تقدم مؤشر التحقق 17%" Else If intCount = 18 Then Me.pr = "تقدم مؤشر التحقق 18%" Else If intCount = 19 Then Me.pr = "تقدم مؤشر التحقق 19%" Else If intCount = 20 Then Me.pr = "تقدم مؤشر التحقق 20%" Else If intCount = 21 Then Me.pr = "تقدم مؤشر التحقق 12%" Else If intCount = 22 Then Me.pr = "تقدم مؤشر التحقق 22%" Else If intCount = 23 Then Me.pr = "تقدم مؤشر التحقق 23%" Else If intCount = 24 Then Me.pr = "تقدم مؤشر التحقق 24%" Else If intCount = 25 Then Me.pr = "تقدم مؤشر التحقق 25%" Else If intCount = 26 Then Me.pr = "تقدم مؤشر التحقق 26%" Else If intCount = 27 Then Me.pr = "تقدم مؤشر التحقق 27%" Else If intCount = 28 Then Me.pr = "تقدم مؤشر التحقق 28%" Else If intCount = 29 Then Me.pr = "تقدم مؤشر التحقق 29%" Else If intCount = 30 Then Me.pr = "تقدم مؤشر التحقق 30%" Else If intCount = 31 Then Me.pr = "تقدم مؤشر التحقق 31%" Else If intCount = 32 Then Me.pr = "تقدم مؤشر التحقق 32%" Else If intCount = 33 Then Me.pr = "تقدم مؤشر التحقق 33%" Else If intCount = 34 Then Me.pr = "تقدم مؤشر التحقق 34%" Else If intCount = 35 Then Me.pr = "تقدم مؤشر التحقق 35%" Else If intCount = 36 Then Me.pr = "تقدم مؤشر التحقق 36%" Else If intCount = 37 Then Me.pr = "تقدم مؤشر التحقق 37%" Else If intCount = 38 Then Me.pr = "تقدم مؤشر التحقق 38%" Else If intCount = 39 Then Me.pr = "تقدم مؤشر التحقق 39%" Else If intCount = 40 Then Me.pr = "تقدم مؤشر التحقق 40%" Else If intCount = 41 Then Me.pr = "تقدم مؤشر التحقق 41%" Else If intCount = 42 Then Me.pr = "تقدم مؤشر التحقق 42%" Else If intCount = 43 Then Me.pr = "تقدم مؤشر التحقق 43%" Else If intCount = 44 Then Me.pr = "تقدم مؤشر التحقق 44%" Else If intCount = 45 Then Me.pr = "تقدم مؤشر التحقق 45%" Else If intCount = 46 Then Me.pr = "تقدم مؤشر التحقق 46%" Else If intCount = 47 Then Me.pr = "تقدم مؤشر التحقق 47%" Else If intCount = 48 Then Me.pr = "تقدم مؤشر التحقق 48%" Else If intCount = 49 Then Me.pr = "تقدم مؤشر التحقق 49%" Else If intCount = 50 Then Me.pr = "تقدم مؤشر التحقق 50%" Else If intCount = 51 Then Me.pr = "تقدم مؤشر التحقق 51%" Else If intCount = 52 Then Me.pr = "تقدم مؤشر التحقق 52%" Else If intCount = 53 Then Me.pr = "تقدم مؤشر التحقق 53%" Else If intCount = 54 Then Me.pr = "تقدم مؤشر التحقق 54%" Else If intCount = 55 Then Me.pr = "تقدم مؤشر التحقق 55%" Else If intCount = 56 Then Me.pr = "تقدم مؤشر التحقق 56%" Else If intCount = 57 Then Me.pr = "تقدم مؤشر التحقق 57%" Else If intCount = 58 Then Me.pr = "تقدم مؤشر التحقق 58%" Else If intCount = 59 Then Me.pr = "تقدم مؤشر التحقق 59%" Else If intCount = 60 Then Me.pr = "تقدم مؤشر التحقق 60%" Else If intCount = 61 Then Me.pr = "تقدم مؤشر التحقق 61%" Else If intCount = 62 Then Me.pr = "تقدم مؤشر التحقق 62%" Else If intCount = 63 Then Me.pr = "تقدم مؤشر التحقق 63%" Else If intCount = 64 Then Me.pr = "تقدم مؤشر التحقق 64%" Else If intCount = 65 Then Me.pr = "تقدم مؤشر التحقق 65%" Else If intCount = 66 Then Me.pr = "تقدم مؤشر التحقق 66%" Else If intCount = 67 Then Me.pr = "تقدم مؤشر التحقق 67%" Else If intCount = 68 Then Me.pr = "تقدم مؤشر التحقق 68%" Else If intCount = 69 Then Me.pr = "تقدم مؤشر التحقق 69%" Else If intCount = 70 Then Me.pr = "تقدم مؤشر التحقق 70%" Else If intCount = 71 Then Me.pr = "تقدم مؤشر التحقق 71%" Else If intCount = 72 Then Me.pr = "تقدم مؤشر التحقق 72%" Else If intCount = 73 Then Me.pr = "تقدم مؤشر التحقق 73%" Else If intCount = 74 Then Me.pr = "تقدم مؤشر التحقق 74%" Else If intCount = 75 Then Me.pr = "تقدم مؤشر التحقق 75%" Else If intCount = 76 Then Me.pr = "تقدم مؤشر التحقق 76%" Else If intCount = 77 Then Me.pr = "تقدم مؤشر التحقق 77%" Else If intCount = 78 Then Me.pr = "تقدم مؤشر التحقق 78%" Else If intCount = 79 Then Me.pr = "تقدم مؤشر التحقق 79%" Else If intCount = 80 Then Me.pr = "تقدم مؤشر التحقق 80%" Else If intCount = 81 Then Me.pr = "تقدم مؤشر التحقق 81%" Else If intCount = 82 Then Me.pr = "تقدم مؤشر التحقق 82%" Else If intCount = 83 Then Me.pr = "تقدم مؤشر التحقق 83%" Else If intCount = 84 Then Me.pr = "تقدم مؤشر التحقق 84%" Else If intCount = 85 Then Me.pr = "تقدم مؤشر التحقق 85%" Else If intCount = 86 Then Me.pr = "تقدم مؤشر التحقق 86%" Else If intCount = 87 Then Me.pr = "تقدم مؤشر التحقق 87%" Else If intCount = 88 Then Me.pr = "تقدم مؤشر التحقق 88%" Else If intCount = 89 Then Me.pr = "تقدم مؤشر التحقق 89%" Else If intCount = 90 Then Me.pr = "تقدم مؤشر التحقق 90%" Else If intCount = 91 Then Me.pr = "تقدم مؤشر التحقق 91%" Else If intCount = 92 Then Me.pr = "تقدم مؤشر التحقق 92%" Else If intCount = 93 Then Me.pr = "تقدم مؤشر التحقق 93%" Else If intCount = 94 Then Me.pr = "تقدم مؤشر التحقق 94%" Else If intCount = 95 Then Me.pr = "تقدم مؤشر التحقق 95%" Else If intCount = 96 Then Me.pr = "تقدم مؤشر التحقق 96%" Else If intCount = 97 Then Me.pr = "تقدم مؤشر التحقق 97%" Else If intCount = 98 Then Me.pr = "تقدم مؤشر التحقق 98%" Else If intCount = 99 Then Me.pr = "تقدم مؤشر التحقق 99%" Else If intCount = 100 Then Me.pr = "تم إكتمال التحقق 100%" End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If End If غيره الى هذا Static intCount As Integer intCount = intCount + 1 If intCount Then Me.pr = "تقدم مؤشر التحقق " & intCount & "%" End If
    2 points
  8. احي ابو زاهر كيف اقدر اجعل البيانات تظهر في النموذج الفرعي؟ وتقدر تختار النموذج وتحوله الى تقرير تلقائيا ، هكذا مثلا: تختار النموذج: . . ويصير عندك تقرير على نفس شكل النموذج ، وتقدر تخليه كتقرير فرعي داخل التقرير الرئيسي ، وتعمل رابط بينهم (كما تفعل بين النموذج الرئيسي والنموذج الفرعي). جعفر
    2 points
  9. السلام عليكم ورحمة الله وبركاته هذا الموضوع اُثير اكثر من مرة في الآونة الاخيرة ، ورأيت من الافضل ان اضع مثال ليقتدي به الجميع وقبل ان نبدأ ، اود ان اشير الى انني اعمل على اكسس 32 بت ، ولا املك نسخة من اكسس 64 بت احب ان اشير الى الرابط الذي شرحت فيه ان مايكروسوفت توصي بتنصيب الاوفيس / اكسس 32 بت ، بغض النظر عن نوع الوندوز المنصّب على الكمبيوتر ، سواء كان 32 بت او 64 بت: http://www.officena.net/ib/topic/64036-هل-استخدم-اوفيس-32-بت-او-64-بت/ ولكن ، ماذا نفعل اذا عملنا برنامجنا على اكسس 32 بت ، واتضح ان الزبون عنده جهاز فيه اكسس 64 بت المثال التالي يشتغل على 32 بت و 64 بت ، ونستطيع ان نستفيد منه لعمل برنامجنا البرنامج المرفق ، بعد فك الضغط ، سيحتوي على 3 برامج: . هذا برنامج No_Password_BE.accdb ، وبه جدول واحد ، ولا يحتاج الى كلمة سر لفتحه: . هذا برنامج Password_is_jj_BE.accdb ، وبه جدول واحد ، وكلمة السر لفتحه هي jj: . البرنامج: JStreetAccessRelinker2.accdb من الرابط http://www.jstreettech.com/downloads.aspx ، وبه ماكرو ووحدات نمطية تعمل على 32 بت و 64 بت (فالفضل في هذا المثال يعود للبرنامج وليس لي ) ، وقد قمت بإضافة نموذج لربطه مع احد برنامج الجداول اعلاه ، ومبدئيا فهو مرتبط مع البرنامج No_Password_BE.accdb ، . وعند فتح البرنامج لأول مرة ، سوف يفتح نافذة تطلب معرفة مكان برنامج الجداول No_Password_BE.accdb ، وتستطيع ان تنقر على الزر Link Another BE ، وستفتح لك نافذة تطلب منك معرفة مكان برنامج الجداول الجديد الذي تريد ان تربطه (بدل البرنامج No_Password_BE.accdb) : . وبما ان البرنامج هذا محمي بكلمة سر ، فسوف تظهر لك نافذة لإدخال كلمة السر (لاحظ ان الادخال مشفر) : . وعندما يتم الربط ، سترى رسالة التاكيد: . الرجاء من الشباب الذين لديهم نسخة من الاكسس 64 بت ، التاكد من ان البرنامج يشتغل على كمبيوترهم بدون اخطاء. عندما نريد ان نعمل برنامج يشتغل على النسختين 32 و 64 بت ، فكود النماذج هو نفسه بين نسختي 32 بت و 64 بت ، والشئ الوحيد الذي يتغير هو دوال الوحدات النمطية API ، والكود الذي ينادي هذه الوحدات (بغض النظر سواء كان في نموذج او في وحدة نمطية مستقلة) ، هنا سوف اعطي مثال واحد من الكود عن طريقة العمل للنسختين 32 و 64 بت: الكود التالي يستعمل دالة API فتح نافذة اختيار ملف ، والدالة هي 32 بت (لاحظ comdlg32.dll ) : Private Declare Function GetOpenFileName Lib "comdlg32.dll" _ Alias "GetOpenFileNameA" (OPENFILENAME As tagOPENFILENAME) As Long الان اذا اردنا ان نجعل هذه الداله API تعمل على 64 بت كذلك ، فالكود يجب ان يكون: #If VBA7 Then 'هذه لنسخة 64 بت Private Declare PtrSafe Function GetOpenFileName Lib "comdlg32.dll" _ Alias "GetOpenFileNameA" (OPENFILENAME As tagOPENFILENAME) As Boolean #Else 'وهذه لنسخة 32 بت Private Declare Function GetOpenFileName Lib "comdlg32.dll" _ Alias "GetOpenFileNameA" (OPENFILENAME As tagOPENFILENAME) As Long #End If ولاحظ في كود البرنامج ، انه تم جمع جميع الدوال مع بعض ، وجمعها في if# و else# و end if# واحدة. وهناك اصدار جديد لكود الربط ، ويمكن انزاله من هنا: http://www.jstreettech.com/files/JStreetAccessRelinker2.zip جعفر 238.Work_on_32Bits_and_64Bits.zip
    1 point
  10. بسم الله الرحمن الرحيم عليه نتوكل وبه نستعين، نحمده سبحانه كما ينبغي أن يحمد، ونصلي ونسلم على رسوله محمد وعلى آله وصحبه والتابعين . وبعد ها هو منتدانا وصرحنا أوفيسنا يضيف أقسام جديدة تضيف إلى رصيده العلمي منابر عدة للباحث العربي ، ليفتح آفاقًا رحبة للبحث العلمي في مجالات لها أهميتها البالغة في تنمية مهارات الفرد والباحث ، و يأمل منكم دعمكم وإثراءكم بمشاركاتكم ودراساتكم، ومقترحاتكم، لكي يكتب للأقسامه الجديدة النجاح والاستمرار وتتمكن من القيام بدورها الذي أنشئت من أجله. سائلين الله تعالى أن ينفع به وأن يكون عملا خالصا له سبحانه فيتصل ولا ينقطع، وأن يجازي بالخير كل من أسهم فيه ولو بكلمة طيبة. وانتهز الفرصة بالتوجه بالشكر للمهندس محمد طاهر وفريق العمل ولجميع الأعضاء بالمنتدي وشكري الخاص لأخواني الذين راسلوني على الخاص للاطمئنان علي اثناء انقطاعي عن المنتدي ونظرا لبعض الطلبات لأخواني بالمنتدي لتطوير برنامج تسجيل لروضة اطفال كنت انتهيت من فترة من بعض الاضافات الي الاصدار الأول واضافة صورة للطفل وطباعة أي دي بطاقة تعريف الطفل ولمزيد من الشرح حول البرنامج في الاصدار الأول رابط الاصدار الأول بعض الصور التوضيحية للبرنامج الملف بالمرفقات ويسعدني بتلقي ملاحظاتكم تم تعديل الملف واضافة خيار اضافة صورة من الفورم وحفظة تلقائيا KG_VII_B_Dahy.rar
    1 point
  11. السلام عليكم ورحمة الله وبركاته إخواني الكرام .. قد يكون موضوع الكسر موضوع شائك وفيه خلاف ، ولكن ربما يكون مفيد لصاحب العمل نفسه ، حيث أنه معرض لنسيان الباسورد الذي تم وضعه على محرر الأكواد .. الموضوع مميز لأنه يقوم بكسر الحماية بدون برامج على الإطلاق ..وبدون AddIns وبدون الاستعانة بأية برامج مجانية أو مدفوعة !! كسر محرر الأكواد بالأكواد نفسها (قنبلة الموسم) وعلى رأي المثل : علمته رمي السهام فلما اشتد ساعده رماني .. الكود قليل الأصل !! محفظش الجميل للبيئة اللي هو منها ، لأنه كسر بيئة محرر الأكواد !!! Sub HackVBA() Open "C:\Users\Future\Desktop\Test.xls" For Binary As #1 Put #1, 1, Replace(Input(LOF(1), 1), "DPB=", "DPX=", , 1) Close Workbooks.Open "C:\Users\Future\Desktop\Test.xls" End Sub المطلوب فقط أن تغير مسار الملف المراد كسره داخل الكود ، والمسار يوضع بين أقواس تنصيص .. أترككم مع الفيديو عله ينال إعجابكم وتستفيدوا منه إن شاء المولى .. ولا تنسونا من اللايكات على اليوتيوب !!!!! ....أكرر اللايكات على اليوتيوب ..فضلاً لا أمراً تقبلوا تحيات أخوكم أبو البراء
    1 point
  12. السلام عليكم ورحمة الله تعالى وبركاته تحية طيبة للأساتذة الكرام سؤالي هو من خلال الاكسس هل يمكن انشاء مجلد لايمكن الدخول إليه الا بكلمة مرور؟
    1 point
  13. اخواني الكرام ، السلام عليكم عندما يكون جهاز الحاسب خاص ببرنامج محدد فاننا نعمل على جعل البرنامج يفتح مع الاقلاع مثلا برنامج حضور بواسطة قارىء البطاقة سنجعل نموذج البداية يفتح على كامل الشاشة وسيكون المؤشر مرتكز على حقل التسجيل المشكلة : ان التركيز احيانا وفي بعض الاجهزة يكون خارج الفورم (على شريط المهام) مما يضطر معه الى النقر على الحقل بواسطة الفأرة السؤال : انا استخدم في نهاية حدث عند تحميل الفورم العبارة التالية : SendKeys "{BS}", False Me.id.SetFocus من اجل نقل التركيز الى الفورم ثم الى حقل id ولكن اكسس لا يقبل السطر الأول فهل من حل أو بديل ؟ db1.rar
    1 point
  14. اخوي ابو ياسين انا قلت لك: . يعني لازم تغير في الجدول حركات وتضيف اسم_المورد ، وعليه نقدر نعمل المقارنه. جعفر
    1 point
  15. تفضل جرب الآن Me.[Nd] = UmFormat(UmDateAdd("d", Val(Me.Md) - 1, Me.[Bd]), Nd.Format) Me.[Ad] = UmFormat(UmDateAdd("d", Val(Me.Md), Me.[Bd]), Ad.Format) ejazat_hejri_mdb1.rar
    1 point
  16. بصراحه الاخ جعفر مايقصر مع الكل والان وصلته الفكرة والمطلوب واظن قد يكون سوها بس يبغاني اكرز لاني لخبطه ههههههه
    1 point
  17. فيك الخير والبركه استاذنا ابو الجعافر نتمنا ان يحصل استاذنا ابو ياسين على مراده تحياتي اليكم
    1 point
  18. ههههههههههه اقصد نموذج سند_صرف
    1 point
  19. اذا كان قصدك نموذج وجدول سند_صرف (وليس رقم_السند ، لأنه اصلا لا يوجد في برنامجك نموذج او جدول بهذا الاسم) ، فمافي فرق تأخذ المعلومة من ايهم ، لأن مصدر بيانات النموذج هو الجدول سند_صرف ايضا!! . جعفر
    1 point
  20. هل تريد ان يظهر هكذا في الاعلى
    1 point
  21. آعتذر منك ، من قراءتي السريعة للموضوع اعتقدت بأنها شيء جديد فالظاهر يجب ان تتجه الى شراء برنامج يقوم بإخفاء المجلدات ، ولكن يجب التأكد من انه تستطيع السيطرة عليه عن طريق Command line ، والذي تستطيع من الاكسس التحكم فيه. جعفر
    1 point
  22. الرابط اللي اعطيتك في اول مشاركة ، فيه رابطين ، الرابط الثاني فيه طلبك ، حتى كيفية عرض اسماء الملفات في المجلد: . الروابط تعطيك جميع الاكواد اللي تحتاج لها في عمل البرنامج جعفر
    1 point
  23. راجعة المرفق وهو يعمل بشكل صحيح اذا كان هناك مشكلة نأمل التفصيل أنظر الصورة المرفقة
    1 point
  24. انت اردت الترتيب على اسم الطالب فقط (يمكن التعديل اذا اردت) أريد طريقة لترتيب الاسماء أبجديا
    1 point
  25. 1 point
  26. طيب اخي جعفر انا اريده من النموذج وليس من الجدول اقصد من نموذج رفم_السند وليس من جدول رقم السند ماينفع بهذه الطريقه
    1 point
  27. استاذي الفاضل ابو ياسين السلام عليكم ورحمة والله وبركاته نعم احسنت هذا حل اخر بارك الله فيك وجزاك الله خيرا وجعلها الله جل وعلا في ميزان حسناتك يارب اساتذتي الافاضل الاستاذ جعفر والاستاذ ابو ياسين بارك الله فيكم وجزاكم الله خيرا سائلا الله جل وعلا ان يمن عليكما بالصحة والعافية يارب يارب
    1 point
  28. السلام عليكم نعم هو هذا ما اقصده يعني الآن رجعنا الى مقارنة: قيمة حقل البيان اللي في النموذج ، مع الحقل البيان في الجدول حركات ، وقيمة حقل التاريخ اللي في النموذج ، مع الحقل تاريخ الحركة في الجدول حركات. للأسف هذا غير كاف للمقارنه ، فانت محتاج الى حقل ثالث للمقارنه ايضا ، اخبرك ليش: يوم 18/01/2018 جاءك المرسام وطلب دفعة من الحساب ، فيقارن الكود بيانات النموذج والجدول حركات ، ولا يلاقي هذا التاريخ ولا البيان ، فيتم حفظ التاريخ والبيان في جدول حركات ، ثم في نفس اليوم 18/01/2018 جاءك عالم النسيج وطلب دفعة من الحساب ، فيقارن الكود بيانات النموذج والجدول حركات ، ويلاقي هذا التاريخ و البيان ، فلن يحفظ هذا السجل !! لا يتم حفظ سجل عالم النسيج ، مع انه لا علاقة بين عالم النسيج والمرسام !! لهذا السبب انت بحاجة الى حقل ثالث للمقارنة ، وهو حقل اسم_المورد ، ولكن هذا الحقل لا يوجد في جدول حركات (انظر صورة الجدول في الصورة في الاسفل) ، لذا لا تستطيع ان تقوم بالمقارنة الصحيحة ، وعليه كود مقارنة الحقلين غير مجدي وغلط. . البارحة ، وقبل ان اعمل اي شيء ، قمت بتنسيق الكود الذي على الزر ، حتى يكون مفهوما لي: Private Sub أمر29_Click() Dim str1SaveMssage As String Dim strSaveMssage As String DoCmd.Beep If Not IsNull(Me.supplier_name) Then str1SaveMssage = " ســيــتــم تـرحـيـل : " str1SaveMssage3 = " عـلـى حـسـاب : " str1SaveMssage = str1SaveMssage & Me.[payment_amount] & " ريـال " str1SaveMssage3 = str1SaveMssage3 & Format(Me.supplier_name, " ") If MsgBox(str1SaveMssage & str1SaveMssage2 & str1SaveMssage3 & vbCrLf & "", vbYesNo, " بـرنـامـج الـخـيـاط ") = vbNo Then Exit Sub End If criteria = "[البيان]='" & Me.payment_info & "'" criteria = criteria & " and [تاريخ الحركة]=#" & Me.payment_date & "#" Debug.Print criteria If DCount("*", "حركات", criteria) > 0 Then 'If DCount("*", "حركات", "[البيان]='" & Me.supplier & "'" & "and [تاريخ الحركة]<>#" & Me.payment_date & "#") > 0 Then ' Exit Sub 'If DCount("*", "حركات", "[البيان]<>'" Me.supplier & "'" & "and [التاريخ]<>#" & Me.payment_date & "#") > 0 Then 'If supplier = Nz(DLookup("البيان", "حركات"), 0) And Me.payment_date = Nz(DLookup("[تاريخ الحركة]", "حركات"), 0) Then DoCmd.Beep MsgBox "لـقـد تـم تـرحـيـل عـلـى حـسـاب : " & Format(Me.[supplier_name], " ") & " مـن قـبـل ", , " بـرنـامـج الـخـيـاط : " Else DoCmd.SetWarnings False DoCmd.CancelEvent DoCmd.RunSQL ("INSERT INTO حركات ([نوع السند], البيان, الاسم, [تاريخ الحركة], مدين, [user] ) SELECT = ""الموردين"" AS Expr6," & _ """ دفعة "" & [Forms].[سند_صرف]![supplier_name] AS Expr4, = ""الخزينه"" AS Expr2, [Forms].[سند_صرف]![payment_date] AS Expr3," & _ "[Forms].[سند_صرف]![payment_amount] AS Expr5, [Forms].[login]![a] AS Expr1;") DoCmd.SetWarnings True Beep If Not IsNull(Me.supplier_name) Then strSaveMssage = " مـبـلـغ : " strSaveMssage = " تـم تـرحـيـل : " strSaveMssage2 = " عـلـى حـسـاب : " strSaveMssage1 = strSaveMssage1 & " بنـجـاح " strSaveMssage = strSaveMssage & (Me.[payment_amount]) & " ريـال " strSaveMssage3 = strSaveMssage3 & Format(Me.supplier_name, " ") MsgBox (strSaveMssage) & (strSaveMssage2) & (strSaveMssage3) & (strSaveMssage1), vpInFormation, " بـرنـامـج الـخـيـاط " End If 'Not IsNul End If 'DCount End If 'Not IsNul Me.Refresh End Sub جعفر
    1 point
  29. تشابهت الطرق ولكنك كنت انت المبدع استاذ جعفر
    1 point
  30. جرب هذا الملف تم العمل في الصفحة Salim و ذلك لعدم العبث بالصفحة الرئيسية اذا اعجبك الماكرو يمكنك التعديل عليه ليتناسب مع المعطيات عندك الماكرو فيما بعد (لبطء النت) Salim.rar
    1 point
  31. وعليكم السلام اخوي حربي تفضل ، وكلمة السر 1 Private Sub Form_Load() Me.Frm_1!Degree.Locked = True Me.Frm_2!Degree.Locked = True Me.cmd_Lock_Degree.Caption = "افتح قفل الدرجات" Me.cmd_Lock_Degree.ForeColor = vbBlack End Sub Private Sub cmd_Lock_Degree_Click() On Error GoTo err_cmd_Lock_Degree_Click If Me.Frm_1!Degree.Locked = True Then If InputBox("رجاء ادخال كلمة السر") = Val(1) Then Me.Frm_1!Degree.Locked = False Me.Frm_2!Degree.Locked = False Me.cmd_Lock_Degree.Caption = "اقفل الدرجات" Me.cmd_Lock_Degree.ForeColor = vbRed Else MsgBox "لا تملك صلاحية تغيير الدرجة" Exit Sub End If Else Me.Frm_1!Degree.Locked = True Me.Frm_2!Degree.Locked = True Me.cmd_Lock_Degree.Caption = "افتح قفل الدرجات" Me.cmd_Lock_Degree.ForeColor = vbBlack End If Exit_cmd_Lock_Degree_Click: Exit Sub err_cmd_Lock_Degree_Click: If Err.Number = 13 Then MsgBox "لا تملك صلاحية تغيير الدرجة" Resume Exit_cmd_Lock_Degree_Click Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub جعفر 884.PrgDB3.mdb.zip
    1 point
  32. انا انزلت المرفق لكن بعد لا اعرف وين المشكلة لان عندي كل شيء تمام فتحت النموذج والاشارة في الحقل id ... لكن انا استخدم هذه الطريقة لكي نجعل التركيز على الحقل مثلا نريد ان يكون التركيز على نموذج1 في حقل اي دي استخدم هذا من اي نموذج او من اي مكان تستخدمه سيكون فعال حسب تجربتي Form_نموذج1.id.SetFocus لكن يجب ان يكون صفحة الاكواد النموذج اللي تجعل تركيز عليه مثلا (نموذج 1 ) جاهز اي يجب ان يكون اسمهم موجود هناك
    1 point
  33. طيب انا جربت انى اضغط على شريط المهام وطبقت طريقتك وحاولت الالتفاف حول المشكلة عن طريق اغلاق الفورم وفتحه برمجيا فى حدث عند التوقيت ونجحت الفكرة بيعيد التركيز للحقل المطلوب حتى لو التركيز خارج الأكسس DoCmd.Close: DoCmd.OpenForm "نموذج1" بس على حسب طبيعة عمل الفورم انا غير متأكد هل هتنفعك الطريقة ام لا طريقة اخرى فى حدث عند التوقيت ايضا كما اشار استاذ جعفر ولكنى فكرت فيها قبله Forms![äãæÐÌ1].SetFocus Me.id.SetFocus db2.rar
    1 point
  34. لتوضيح المشكلة والمطلوب عمليا : بعد فتح النموذج سيكون على مستوى كامل الشاشة ، حاول ان تظهر شريط المهام بالاسفل وتنقر بزر الفأرة عليه من اجل يكون التركيز على شريط المهام الآن ما الطريقة للانتقال الى النموذج بدون استخدام الفأرة بالضبط هذا ما يحدث عندي عند فتح البرنامج واريد كود يعيد التركيز الى الفورم علما ان هذه المشكلة لا تحدث الا عند فتح البرنامج حال الاقلاع ، ويتضح من هذا ان لدى وندز حدث عقب فتح برنامجنا
    1 point
  35. السلام عليكم استاذى الفاضل هل المثال التالى قد يساعدك .؟ Dim ReturnValue, I ReturnValue = Shell("CALC.EXE", 1) ' Run Calculator. AppActivate ReturnValue ' Activate the Calculator.
    1 point
  36. الاخ مصطفى اسف على التأخير فى الرد لسفرى الايام دى الملف تم تعديل ال 3 صفحات الاولى واضافة بعض الصفحات وادخال الصوت كمل باقى الاسئلة بنفس الطريقة مسابقة خيارات متعددة لإصدار 2003.rar
    1 point
  37. و عليكم السلام و رحمة الله و بركاته الله المستعان جزاك الله خيراً
    1 point
  38. استخدم هذه الصيغة =TRIM(MID(B4;SEARCH(" ";B4);100))
    1 point
  39. Public Function Parse_to_Rich_Text(TextIn As String) As String Dim var() As String Dim delim As String Dim i As Integer Dim T As String 'Exit when No value If Len(TextIn & "") = 0 Then Parse_to_Rich_Text = "" Exit Function End If 'get the delimiter separator For i = 1 To Len(TextIn) If Not IsNumeric(Mid(TextIn, i, 1)) Then delim = Mid(TextIn, i, 1) Exit For End If Next i 'split the text to two values var = Split(TextIn, delim) T = "<div " 'Start, Make HTML code 'Left side T = T & "<font" 'font info, First Line T = T & " size=4" 'size T = T & ">" 'close T = T & "</font>" 'font info, Last Line T = T & " <b>" 'Bold, begin T = T & var(0) & delim 'Text T = T & "</b>" 'Bold, Close 'Right side T = T & "<font" T = T & " size=2" T = T & " color=red" T = T & ">" T = T & var(1) T = T & "</font>" T = T & "</div>" 'Close, Make HTML code 'Debug.Print T Parse_to_Rich_Text = T End Function اوامر HTML التي يمكننا استعمالها في حقل Rich Text في الاكسس: https://support.office.com/en-us/article/Insert-or-add-a-rich-text-field-9f86237d-dbbc-4a85-b12c-9d8dca824630?CorrelationId=e5ac3d8a-72c2-4ac2-8f74-c70704f01a2f&ui=en-US&rs=en-US&ad=US&ocmsassetID=HA010014097 وبرمجة هذه الاوامر ممكن ان نبحث عنها هنا ، لكي نعمل الجملة المطلوبة https://www.w3schools.com/TAgs/default.asp جعفر 878.RichText.accdb.zip
    1 point
  40. مشاركة مع اخي شفان عملت تعديل على الوحدة النمطية لتأخذ جميع انواع الفواصل Public Function ParseText(TextIn As String, X) As Variant On Error Resume Next Dim var As Variant Dim delim As String For i = 1 To Len(TextIn) If Not IsNumeric(Mid(TextIn, i, 1)) Then delim = Mid(TextIn, i, 1) Exit For End If Next i var = Split(TextIn, delim, -1) ParseText = var(X) End Function . وانا افضل لو نعمل كود الحقل في الوحدة النمطية مباشرة كذلك ، لأنك ستحصل على النتائج بضعف السرعة (اسرع مرتين) ، لأنك ستنادي الوحدة النمطية مرة لكل حقل جعفر
    1 point
  41. هل تريد ان يظهر هكذا انا استخدمت هذا =IIf(Len([Champ1] & "")=0;"";"<div align=right dir=RTL><font size=4>" & ParseText([Champ1];0) & "</font>.<font size=2>" & ParseText([Champ1];1) & "</font></div>") مع هذا فانكشن Public Function ParseText(TextIn As String, X) As Variant On Error Resume Next Dim var As Variant var = Split(TextIn, ".", -1) ParseText = var(X) End Function Data.rar
    1 point
  42. السلام عليكم اخى الكريم بعد النظر الى قاعدتك فى نظرى تصميم الجداول ليس جيدا وسيظهر لك العديد من المشاكل فى المستقبل و اليك بعض النصائح لبناء القاعدة من جديد : يلزمك 4 جداول اساسية وهم 1-جدول رأس الفاتورة : وفيه هيكون رقم الفاتورة - نوعها (مبيعات-مشتريات-ارتجاع) - طريقة التعامل (نقدى - اجل) - تاريخ الفاتورة - العميل - ملاحظات ) وفيه رقم الفاتورة مفتاح اساسى لا يقبل التكرار 2- جدول الحركات بيكون فيه كود الصنف واسمه والكمية المشتراه و الكمية المباعة و رقم الفاتورة وملاحظات ) ويتم ربط الجدولين برقم الفاتورة 3- جدول العملاء 4- جدول الاصناف اسماء الحقول كلها اعملها انجليزى وليس عربى لسهولة التعديل وكتابة الاكواد اعمل التغييرات وجرب استعلاماتك وشوف الفرق ولو ظهرت مشاكل ارفق القاعدة الجديدة بالتوفيق ملحوظة : لست ملزم بعمل ما قلته لك ولكن هذا رأيى الشخصى قد يصيب ويخطئ
    1 point
  43. مشاءالله ابداع ياستاذ ضاحي جزاك الله الف خير واجعله في ميزان حسناتك يارب
    1 point
  44. الاستاذ الفاضل ضاحى الغريب . عمل ولا اروع جعله الله فى ميزان حسناتك . واذا سمحت عندى طلب ثقيل شوى ولاكنى امل الا تخيبى رجائى . اود ان ادمج ملفين منفصلين اكسل ليصبحوا فى ملف واحد فقط ليساعدنى فى ادارة مشروعى وهو انا اقوم بالبرنامج الاول بتسجيل الاصناف الموجوده عندى . ويقوم البرنامج الاخر الذى هو من انتاج حضرتك ( الفاوتير ) بقرائه البيانات التى اقوم باضافتها وتصبح موجوده به UserForm Flexibles.rar فاتورة مبيعات اوفيسنا_2.rar
    1 point
  45. الأخ الكريم/enterco السلام عليكم ورحمة الله وبركاته أبدأ بإستئذان الأساتذة الأفاضل من شاركوا في الحل قبلي - بترتيب المشاركة - مع حفظ الألقاب والمقامات الأستاذ/رجب جاويش والأستاذ/م / ياسر فتحى البنا والأستاذ/محمود الاسيوطى والأستاذ/أبو حنين والأستاذ/احمد عبد الناصر المرفق تصور لتوجيه البحث ناحية الحروف المدخلة - لعل به إفادة - تقبل تحياتي ComboBox as Validation List.rar
    1 point
×
×
  • اضف...

Important Information