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

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

  1. أبوبسمله

    أبوبسمله

    الخبراء


    • نقاط

      17

    • Posts

      3463


  2. متقاعد

    متقاعد

    الخبراء


    • نقاط

      17

    • Posts

      583


  3. Eng.Qassim

    Eng.Qassim

    الخبراء


    • نقاط

      11

    • Posts

      2384


  4. Moosak

    Moosak

    أوفيسنا


    • نقاط

      11

    • Posts

      2206


Popular Content

Showing content with the highest reputation on 06/13/22 in مشاركات

  1. وهنا الدالة الأخيرة ( علشان ما أغار ) 😂 حساب العمر.rar
    5 points
  2. السلام عليكم مشاركه مع اخى واستاذى الغالى جزاه الله عنا كل خير Private Sub Form_Current() If Not Me.NewRecord Then Me.AllowEdits = False Else Me.AllowEdits = True End If End Sub
    4 points
  3. جزاك الله خيرا اخى ومعلمى العزيز الحمد لله اصبحت معكم ع قائمه المسنين 😀 فقمت بعمل نفس الاجابه ولكن وردنى اتصال وانشغلت به ولما عدت وجدتك وضعت الحل 💐 ربنا يبارك فيك وفى عمرك وادامكم الله واسعد اوقاتكم
    4 points
  4. وعليكم السلام-يمكنك استخدام هذه المعادلة لطلبك =INDEX(القائمة!$C:$F,MATCH(C6,القائمة!$B:$B,0),MATCH(D5,القائمة!$C$6:$F$6,0)) المطلوب1.xlsx
    4 points
  5. السلام عليكم ورحمة الله وبركاته .. اليوم جايب لكم موقع وظيفته يقرأ أو يشرح لك الكود بلغة إنجليزية مفهومة ، ويمكنك عن طريق المترجم تحويلها إلى اللغة العربية 🙂 وهذا هو الموقع : https://denigma.app الموقع بفضل الله يتعامل مع معظم اللغات البرمجية تقريبا ، ومن ضمنها الفيجوال بيسك VBA .. وهذا شرح مبسط للاستخدام .. بعد فتح الموقع ننزل تحت إلى هذي الخانة، يوضع الكود في الخانة اليسرى ويظهر التفسير في الجهة اليمنى : نجرب نلصق دالة حساب العمر بالسنة والشهر واليوم ونضغط على [Explain it!] : ولترجمته باللغة العربية ، تأخذ النص لمترجم جوجل فيعطيك النتيجة هكذا : 🙂 هذا وسلامتكم ☺️🌹
    3 points
  6. الطريقة الاسهل في حدث في الحالي للنموذج ضع الامر التالي Dim intnewrec As Integer intnewrec = Form.NewRecord If intnewrec = 0 Then Me.AllowEdits = False Else Me.AllowEdits = True End If تحياتي
    3 points
  7. ههههههههههههههههه اضحك الله سنك مهندسنا العزيز بارك الله فيكم اخوانى واساتذتى وجزاكم الله خيرا
    3 points
  8. المرفقات النهائية وسبق الشرح تفصيلا واجمالا لكل جزئية بالكود Anti Copy 3.accdbKey.accdb
    3 points
  9. ههههههه الحقيقة اذا كان بنعمل بالكود في كافة نماذج البرنامج نحول الكود الى وحدة نمطية اي ان الكود نفسه بيبقى 7 اسطر و باقي اسطر المهندس قاسم الاشارة في النمادج المطلوبة تحياتي نفس ردكم اخي احمد
    2 points
  10. لازم يفوز طبعا استاذى مش تعليمكم فهذه بركاتكم وتعليمكم لنا جزاكم الله عنا كل خير طبعا يحيا المسنون ونقبل ايديهم ورؤسهم والحمد لله انضممت لهم 😀 اضحك الله سنك مهندسنا العزيز بس ممكن نختصرها عادى لو حبيت 5 فى مديول ونستدعيهم فى سطر واحد فى 3 نماذج وبقوا 8 اسطر ههههههههههههه جزاكم الله عنا كل خير
    2 points
  11. بس لو كان لدينا 3 نماذج ...كودك حيأخذ 10 اسطر وكود استاذ احمد بياخذ 15 سطر يحيا المسنون 🤣
    2 points
  12. سيدي الفاضل /مبرمج سابقا - الف رحمه على والديك - هو المطلوب - تذكر ان الصدقة تطفئ غضب الرب وصلة الرحم تزيد في العمر وفعل المعروف يقي مصارع السوء اللهم اني اسألك من فضلك ورجمتك ان تجزي عني اخي (مبرمج سابقا ) خير الجزاء . فإنه لا يملك ذلك الا انت.
    2 points
  13. ممكن ومادمت مسن مثلي نعملها على طريقة المسنين DoCmd.SetWarnings 0 DoCmd.RunSQL "UPDATE tblA SET tblA.ATHHAR = 3;" DoCmd.RunSQL "UPDATE tblA SET tblA.ATHHAR = 6 WHERE (((tblA.IDA)=[Forms]![FtblAA]![IDA]));" Me.ATHHAR.Requery DoCmd.SetWarnings -1 نوقف رسائل التحذير ننفذ استعلام تحديث الى رقم ثلاثة ننفذ استعلام تحديث الى رقم سته للسجل الحالي نحدث الحقل ATHHAR في النموذج نعيد تفعيل رسائل التحذير هذه اسهل طريقة حسب اعتقادي الملف مرفق مع ان ارفاق اي ملف ضد توجهي ولكن طلب من مسن لا يرد تحياتي اظهار السجل الحالي فقط.accdb
    2 points
  14. مشاركة معكم دالة لحساب السنوات ويمكن تعديلها لتحقيق المطلوب Function Age(varBirthDate As Variant) As Integer Dim varAge As Variant If IsNull(varBirthDate) Then Age = 0: Exit Function varAge = DateDiff("yyyy", varBirthDate, Now) If Date < DateSerial(Year(Now), Month(varBirthDate), _ Day(varBirthDate)) Then varAge = varAge - 1 End If Age = CInt(varAge) End Function هذه الدالة ☝️ من موقع مايكروسوفت الموقع غني بالامثلة ولكن امثلة عامة يمكن التعديل عليها وتكييفها وفقا لحاجتنا تحياتي
    2 points
  15. هو انا بحكي ايه من الصبح انا وضعت كودك لفوق ...وكود الفرنجة لتحت حتى تقارن بينهم بالمناسبة استاذ محمد ..انا اعتمد عليه كثيرا في حساب مدد المشاريع (التي ليس فيها عطل او جمع )
    2 points
  16. تاكد جيدا ..الكود مضبوط 100% وقد جربته كثيرا هؤلاء الفرنجة لايخطأون ياطويل العمر😄
    2 points
  17. فورم المخزن البحث فى جميع الشيتات بالحرف واظهار النتيجة فى الليست والتكست
    1 point
  18. نعم صحيح هو نابغه وذو خلق ومتواضع هو وجميع اخوانى واساتذتى واتشرف بل هو وسام ع راسى وصدرى ان اناديكم اخوانى وابائى واقبل ايديكم ورؤسكم وهنبعد عن الكود بقى من خصائص النموذج تبويب بيانات السماح بالتحرير لا 🌹
    1 point
  19. استغفر الله العظيم ..اخي او ابني احمد حقيقة ..في هذا المنتدى الرائع ...تعلمت الاخلاق منكم قبل العلم أسأل الله العظيم لنا ولكم الرحمة ...ثم الرحمة ..ثم الرحمة فلا شفيع لنا ذالك اليوم العظيم غير رحمته ...العزيز الرحيم
    1 point
  20. كما تفضل به استاذي ومعلمي @احمد الفلاحجي ضع في استعلام الالحاق تحت التاريخ معيار = التاريخ الموجود في (الحقل المحدد) في النموذج Forms![myForm]![textDate]
    1 point
  21. ان شاء الله دكتورنا الحبيب سأعمل نموذجا بذلك رغم انه موجود في المنتدى .. بصراحة هذا الموضوع يستغله بعض المبرمجين لصالحهم يسمح بالنسخ لجهاز اوعميل اخر ..لكن المسكين لايعلم انه بعد مدة سيتوقف البرنامج لانه سيقوم بتفعيل قراءة الهارديسك وسيضطر الزبون الثاني لمراجعة المبرمج ويدفع له ليفتح له البرنامج علىرقم هارديسك حاسبته بصراحة انا لا الوم المبرمج ...لكنه يجب ان يعطي تحذيرا بعدم النسخ لا اعلم ربما هي فهلوة من المبرمج
    1 point
  22. شايف كيف ياعم احمد الشباب يفوز 5 اسطر كودك افضل واسهل من كود الشايب 7 اسطر
    1 point
  23. امين ولك بالمثل اخي الفاضل يونس جزاك الله كل خير على الدعاء الطيب تحياتي وتقديري لك
    1 point
  24. ويبارك في اخي العزيز احمد لا ياعم احمد انت مازلت شاب اسال الله يبارك لك في عمر وعلمك تحياتي لك يا ابا بسمله 🌹
    1 point
  25. يشرفنى بمنادتكم لى بابنكم والحمد لله ان الموقع فتح معاك مره اخرى والحمدلله على تمام العمل معك بفضل الله ثم بفضل اخى العزيز ابوجودى جزاه الله خيرا اخى ومهندسنا العزيز قاسم ما هو ال fbi ؟ وفيك بارك الله اخى ابوالحسن قام ابوجودى جزاه الله خيرا بوضع المثال لاستخراج كود التفعيل بالتوفيق
    1 point
  26. جزاك الله خيرا اخى العزيز محمد عصام @ابو جودي لم اقم بشىء يذكر د محمد @الحلبي جزاه الله خيرا ابوجودى ع طرحه الرائع اممممم راى فى محله اخى العزيز ابو البشر فهذه الحاله سنحتاج لشى اخر لتمييز كل مفتاح لكل برنامج ع حده بالتوفيق اخوانى
    1 point
  27. تشكر أخي @ابو جودي ولكن لي سؤال :::: ماذا لو قام العميل بشراء اكثر من برنامج من قبل المبرمج .... الأ تعتقد في هذه الحالة تشابه المفتاح في كل البرامج ..... اذن ::: نحتاج الى رقم اضافة رقم لكل برنامج بالاضافة الى ما تم ذكره حتى نضمن عدم تشابه هذه المفاتيح على جهاز واحد ؟؟؟؟؟ مجرد رأي ...
    1 point
  28. جميعنا كذلك نتعلم ونكتشف طرق جديد ونكتسب الخبرات من بعضنا البعض احسن الله اليك اخي قاسم
    1 point
  29. الف شكر على المجهود و سرعة الرد مشكور جدااا للمرة الثانية الرد كان مفيد جداا
    1 point
  30. استاذنا ومعلمنا وبشمهندسنا / @ابو جودي ايوه كده ياسلام عليك يااخى هو ده الكلام الان ارفقت مفتاح التفعيل الله ينور عليك الشرح السابق مفيد جدا وواضح جدا والاستاذ / @احمد الفلاحجيقام بتوصيل كل هذه المعلومات لنا ربنا يبارك فيه ويرزقه ولكن لى سؤال صغير استاذ / محمد عصام لو احد العابثين دخل وكتب اى رقم فى خانة التفعيل تظهر له رسالة باللغة الانجليزية تقول : "انت مخئ الرقم خطأ حاول الاتصال بمبرمج البرنامج " من اين اضع هذه الرسالة باللغة العربية وفى اى سطر من الكود اقوم بتغيرها ـ يعنى كيف اغير الرسالة باللغة العربية وفى اى سطر من الاكواد جزاك الله كل خير واعطال الصحة والعافية وبارك فى علمك ورزقك من غير حساب ـ اللهم امين
    1 point
  31. لا أعتقد أن هذا يتم بمعادلة يمكنك استعمال هذا الكود في حدث تغيير الشيت Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column > 1 And Target.Column < 6 Then Range("f" & Target.Row) = Date End Sub كلك يمين على اسم الشيت ثم view code ثم لصق هذا الكود في الناحية اليمنى مع حفظ الملف بامتداد يدعم الأكواد مثل xls أو xlsb أو xlsm بالتوفيق
    1 point
  32. السلام عليكم ورحمة الله وبركاته اعتذر لقلة حضورى بسب بعض الظروف القهرية فى الوقت الراهن ولكن امر على المنتدى من حين لاخر مرور الكرام وهذا المرفقين المرفق ضد النسخ لاى جهاز أخر ولا تعمل القاعدة الا بالرقم الخاص بالتفعيل الخاص لكل جهاز ومرفق لتوليد رقم التفعيل وهذه المشاركة تم فيها الشرح تقصيلا Anti Copy 3.accdb Key.accdb
    1 point
  33. ابنى الاستاذ / @احمد الفلاحجي تم عمل اللازم وظهر لى رقم التفعيل وبمجرد ان لصقته فى مكان ظهرت معى الشاشة الرئيسية كما حضرتك قمت بشرح كيف اعمل نموذج واستخرج منه رقم التفعيل شرح وافى اشكرك عليه جزيل الشكر اشكرك استاذ احمد وربنا يبارك فيك وفى علمك وفى صحتك ويارب يارب يجعل البركة فى اسرتك الكريمة بشمهندسنا / @Eng.Qassim اشكرك جزيل الشكر وجزاك الله كل خير على تقديم المساعدة طيب عند حضرتك مثال على رقم الهارديسك اكون شاكر لحضرتك كل الاحترام والتقدير
    1 point
  34. استغفر الله ..انت استاذي ومعلمي في هذا العلم وما انا الا مبتديء وطالب علم وانت سابق ...وحالي ...ولاحق جزاك الله خير جزاء المحسنين
    1 point
  35. الملف فيه حسبتين الى فوق غلط و الى تحت مظبوطة بالملى @Eng.Qassim
    1 point
  36. تفضل today: Int((Date()-[تاريخ الميلاد])/365) & " سنة - " & Int(((Date()-[تاريخ الميلاد])/365-Int((Date()-[تاريخ الميلاد])/365))*12) & " شهر - " & Int((((Date()-[تاريخ الميلاد])/365-Int((Date()-[تاريخ الميلاد])/365))*12-Int(((Date()-[تاريخ الميلاد])/365-Int((Date()-[تاريخ الميلاد])/365))*12))*30) & " يوم
    1 point
  37. ومن عيوبها ايضا تشابه ارقام الهارد دسك التي تحمل نفس المواصفات في بعض الأحيان وعلي كل وجدت لك هذا المرفق بمكتبتي وهو لأستاذنا @ابو جودي جزاه الله خيرا - لا اذكر اسم الموضوع للحصول علي الرقم التعريفي للجهاز UUID وهذا رقم فريد لكل جهاز من خلاله يتم التميز بين الأجهزة علي الشبكة - ولا يحتاج الي الاتصال بالانترنت لا تقلق ولا يتشابه به جهازين استعمله بكود الحماية الخاص بك Get UUID.mdb
    1 point
  38. وعليكم السلام-جرب هذه المعادلة =IF(COUNTIF($B$1:$D$3,A8),A8," هذ الاسم غير موجود") Search+Vlookup1.xlsx
    1 point
  39. حياك الله اخي واستاذي ابو البشر والشكر لله اخي وجودكم انتم واخوننا الكرام هو الدافع لعودتنا بعد طول انقطاع من المؤكد ان الموقع يزخر بالامثلة للترقيم في الاستعلام مع ذلك ساتحدث عن طريقتين ربما تفيد احد من رواد الموقع الطريقة الاولى اذا كان لدينا في الجدول حقل ترقيم ولكن توجد ارقام محذوفة Expr1: DCount("[id]";"tbl_1";"[id]<=" & [id]) الطريقة الثانية اذا كان الجدول لا يحتوي اي حقل ترقيم وانما حقول نصية فقط ⬇️ Expr2: (Select Count(1) FROM [tbl_1] A WHERE A.item <=[tbl_1].[item]) item حقل نصي هنا ☝️من الافضل استخدام تسمية توضيحية حتى لا تظهر لنا رسالة بطلب قيمة معلمة . توجد طرق اخرى عديدة بعضها يعتمد على وحدة نمطية وبعضها بدون ولكن هذه من اسهل الطرق. والى لقاء في موضوع اخر باذن الله تحياتي
    1 point
  40. الطريقة الاسهل بدون تحريك دماغ ( هذا على افتراض وجوده) 😄 نجعل المصدر استعلام ونظيف له حقل ترقيم تلقائي ونكمل بنفس الطريقة
    1 point
  41. شكرا لك أخي مبرمج سابق مبدع بالفطرة ..🙂 أرى أنك أعتمدت على فرضية أن الحقل Id موجود ومرتب تصاعديا بدون وجود نواقص (حقول محذوفة) .. ماذا لو أن حقل ال Id مكتوب هكذا xml0620220856 ؟ كيف نستطيع الحصول على ال 100 سجل الأولى ؟ ثم المائة التالية ؟ ولو كان لدينا 3 قوائم ListBox مثلا في نفس النموذج نريد فيها تقسيم السجلات إلى 3 أقسام متساوية .. كيف نفعل ذلك ؟؟ طبعا الهدف من السؤال هو تحريك الدماغ .. والاستفادة من خبراتكم .. وإثارة روح التحدي .. 👍🏼😁
    1 point
  42. اما انا سوف اعملها بطريقة الطيبين بدون الحاجة الى عدة استعلام فقط استعلام واحد ويكون مصدر للنموذج ويتم كتابة جملة الاستعلام في مربع نص مخفي في النموذج في البداية نحتاج الى نموذج فارغ ونضع فية ثلاث حقول نصية وزري امر ونموذج فرعي لعرض السجلات مصدر سجلات النموذج الفرعي الجدول ولايهمنا كثير لكوننا سوف نتحكم بالمصدر عن طريق الكود مربع النص الاول اسميته tx2 وقيمته الافتراضية 1والثاني tx3 وقيمته الافتراضية 100 والثالث tx10 تسمية الحقول امر راجع لك المهم تسمية الحقل تكون نفسها في الكود الحقل النصي tx10 قيمته تساوي ="SELECT tbl_1.id, tbl_1.id_item FROM tbl_1 WHERE (((tbl_1.id) Between " & [tx2] & " And " & [tx3] & "));" tbl_1 هو اسم الجدول الذي يحتوي على البيانات tx2 و tx3 هي الحقول التي اشرنا اليها سابقا ووضعنا لها قيمة افتراضية الان زر الامر الاول اسميناه التالي ووضعنا فيه الكود If Me.tx2 = 1900 Or Me.tx3 = 2000 Then: Exit Sub Me.tx2 = Me.tx2 + 100 Me.tx3 = Me.tx3 + 100 Me.sub_frm.Form.RecordSource = [tx10] Me.sub_frm.Requery وزر الامر الثاني اسميناه السابق ووضعنا فيه الكود If Me.tx2 = 1 Or Me.tx3 = 100 Then: Exit Sub Me.tx2 = Me.tx2 - 100 Me.tx3 = Me.tx3 - 100 Me.sub_frm.Form.RecordSource = [tx10] Me.sub_frm.Requery والنتيجة يعرض لنا عند النقر على التالي 100 سجل ثم عند النقر الـ 100 التاليه وهكذا ومثله ايضا في زر الامر السابق تحديد الحد الاعلى للسجلات ممكن اخذه بطريقة اليه ولكن انا كتبته بشكل مباشر حاولت ان اكتب الاكواد بطريقة بسيطة لسهولة ايصال المعلومة ولم اضع مثال لكوني اهتم فقط بالجانب النظري تحياني
    1 point
  43. 1 point
  44. وعليكم السلام-يمكنك استخدام هذه المعادلة =IF(YEAR($B4)<YEAR(Table1[[#Headers],[Jan-22]]),1,IF(AND(YEAR($B4)=2022,MONTH(Table1[[#Headers],[Jan-22]])>=MONTH($B4)),1,"")) 1مقارنة التاريخ.xlsx
    1 point
  45. ممتاز استاذ مجدى بارك الله فيك وجزاك الله كل خير
    1 point
  46. ايه الروائع ديه؟ ... أحسنت استاذ مجدى وجزاك الله كل خير
    1 point
  47. جزاك الله خيرا اخى ومهندسنا العزيز @Eng.Qassim ع مشاركتك معنا الحلول واثراء الموضوع 🌹 ويوجد طريقه اخرى من باب اثراء الموضوع وتنوع الحلول باستخدام TempVar انشى مديول جديد وضع تعريف المتغير فقط Public intID As TempVar ثم فى حدث الحالى للنماذج قم بالاسناد كالتالى TempVars!intID = Me.ID.Value ثم فى الاستعلام وفى المعيار للمعرف [TempVars]![intID] بالتوفيق
    1 point
×
×
  • اضف...

Important Information