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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      13

    • Posts

      9,814


  2. أبوبسمله

    أبوبسمله

    الخبراء


    • نقاط

      10

    • Posts

      3,254


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

    سليم حاصبيا

    أوفيسنا


    • نقاط

      7

    • Posts

      8,723


  4. نبيل عبد الهادي

    نبيل عبد الهادي

    03 عضو مميز


    • نقاط

      6

    • Posts

      125


Popular Content

Showing content with the highest reputation on 15 مار, 2020 in all areas

  1. وعليكم السلام 🙂 انا اشتغلت على برنامجك في المشاركة الاولى 🙂 . جعفر 1184.كنترول.mdb.zip
    4 points
  2. برنامج شئون العاملين الباسوورد 2545 برنامج شئون العاملين.rar
    3 points
  3. السلام عليكم ورحمة الله كما وعدت سابقا ان اقوم بنشر قاعدة بيانات تفويم البضاعة وفواتير المبيعات يطريقة الوارد اولا صادر اولا fifo مفتوحة المصدر fifo method.rar
    3 points
  4. تفضل .. مجرد تنشيط "الورقة1" يتم النسخ المصنف1_2.xlsm
    3 points
  5. جرب التعديل في ماكرو الترحيل المبيعات و العملاء (2).xlsm
    3 points
  6. السلام عليكم الأساتذة الأفاضل/ الإخوة الكرام هذا تطبيق متواضع أنجزته باعتماد المؤشر العلمي IBM لتييم الوزن ما رأيكم فيه كتطبيق من الناحية التقنية؟ وكذلك مناسبة لقياس وتقييم وزنكم كلمة مرور حماية الأكواد هي:123 والسلام عليكم poids v2.xlsm
    2 points
  7. مشاركه مع احبتي وعذرا اكتب من الجوال مع العلم ان سؤالك فيه لبس شويه انت تقول اول ثلاث ارقام تساوي ٧ وهذا متناقض حسب فهمي تقول اول ثلاث ارقام تساوي ٧٧٧ وهنا استخدم نفس تعبيرك وباستخدام الداله لفت وبعدد ٣ للباراميتر If Left(Me.serh_Barcod, 3 )= 777 Then وقد تحتاج لوضع الرقم ٧٧٧ في علامة تنصيص كنص بالتوفيق
    2 points
  8. جرب هذا ...... If Mid(Me.text1, 1, 1) = 7 And InStr(Me.text2, 7) > 0 Then MsgBox "الرقم الأول" ElseIf Mid(Me.text1, 2, 1) = 7 And InStr(Me.text2, 7) > 0 Then MsgBox "الرقم الثاني" ElseIf Mid(Me.text1, 3, 1) = 7 And InStr(Me.text2, 7) > 0 Then MsgBox "الرقم الثالث" End If
    2 points
  9. وعليكم السلام ورحمة الله وبركاته يمكنك استخدام دالة Right بالشكل التالي Expr1: Right([Text1];2) ولدمجين الحقلين كالتالي Expr1: Right([Text1];2) & [Text2] حيث Text1 هو الحقل المراد حذف الرقمين باليسار منه و Text2 الحقل الثاني المراد دمجه مع الاول تحياتي
    2 points
  10. بعد الاطلاع على الملف المرفق تكون المعادلة بهذا الشكل =IFERROR(VLOOKUP(M9;H7:I16;2;FALSE);"") تطابق تام FALSE
    2 points
  11. بعد اذن اخي الفاضل @سلمان الشهراني ايقاف رسائل التحذير DoCmd.SetWarnings False تنفيذ استعلام الحاق DoCmd.RunSQL "INSERT INTO table2 ( id, الاسم, [تاريخ التولد], العمر, المهنة, الملاحظات ) " & vbCrLf & _ "SELECT table.id, table.الاسم, table.[تاريخ التولد], table.العمر, table.المهنة, table.الملاحظات " & vbCrLf & _ "FROM [table];" تنفيذ استعلام حذف DoCmd.RunSQL "DELETE table.* " & vbCrLf & _ "FROM [table];" تحديث النموذج الفرعي بعد الحذف Me.subform12.Requery رسالة تنفيذ المهمة MsgBox "تم تنفيذ نقل الملفات", vbInformation, "رسالة ادارية" اعادة تفعيل رسائل التحذير DoCmd.SetWarnings True الملف مرفي المرفقات الموظفين.accdb
    2 points
  12. أ.نجم30 من محرر VBA إتبع الخيارات التالية لعله يكون المطلوب
    2 points
  13. السلام عليكم هل ترغب في اظهار الرصيد السابق قبل كل عملية ايداع او صرف اذا كان هو المطلوب فان الاستاذ @اكرم العريقي اعطاك الحل الصحيح جرب المرفق حركة صندوق 1.accdb
    2 points
  14. السلام عليكم ورحمة الله وبركاته عملت على برنامج طباعة الهويات / الباجات ، وحبيت ان اشارككم تجربتي المؤسسة تملك جهاز طباعة الهويات / الباجات من نوع Fargo DTC550 ، وتم العمل على اكسس 2010 (ويمكن عمل هذه الخطوات على الاكسس 2003 ايضا). المعلومات المطلوبة للهوية: واجهة الهوية: الصورة ، الاسم ، القسم ، الوظيفة ، تاريخ الاصدار ، تاريخ الانتهاء ، رقم الموظف ، بالإضافة الى شعار المؤسسة وتوقيع المسؤول (الشعار والتوقيع فيهما اجزاء شفافه) ، وتوضع على جزء/طرف الصورة ، خلفية الهوية: باركود (بطريقة عمودية وليس افقية) يحمل رقم الموظف ، وصورة خلفية. على ان تطبع الهوية بالوضع الافقي ، وتُغلف (Lamination) كذلك. خطوات العمل: 1. عمل جدول يحتوي على البيانات اعلاه ، 2. عمل نموذج لإدخال بيانات الموظف ، واختيار صورته ، 3. لعمل التقرير (طباعة الهوية) ، يجب ان نعرف خصائص الطابعة ومقاسات الهوية ، 4. التقرير عبارة عن طبقتين ، حيث البيانات والصورة في الطبقة السفلى ، ويأتي شعار المؤسسة وتوقيع المسؤول في الطبقة الاعلى ، الصعوبات التي واجهتها: أ. إبراز الاجزاء الشفافة من الشعار والتوقيع ، بحيث نستطيع رؤية صورة الموظف خلفها ، ب. عمل الباركود ، والمطلوب ان يكون بطريقة عمودية وليس افقية (تصميم الهوية هكذا) ، ج. عمل مقاسات التقرير ، د. طباعة الهوية على الطابعة ، وجعل الصورة واضحة ، هـ. العمل على التقرير من جهاز لا يحتوي على برنامج الطابعة. طرق التغلب على الصعوبات: أ. شفافية الصور: مع انه المفترض ان يقبل الاكسس 2010 فما فوق ، الصور التي بأجزائها شفافية ، ولكن للأسف هناك خلل في الاكسس ، مما جعل التعامل مع الشفافية يتطلب جهدا اضافيا !! ولعمل الشفافية ، هناك العديد من الطرق ، ولكني وجدت افضل نتيجة عندما استخدمت الطريقة الموضحة هنا ، وللمثال سنستخدم صورة عملتها ، ونقوم بالتالي: نفتح الصورة في برنامج الصور مثل فوتوشوب photoshop ، ثم نختار الخلفية التي نريد ازالتها ، وهنا نريد ازالة الخلفية البيضاء . الخلفية البيضاء تم اختيارها . نعكس الاختيار ، حتى نختار الالوان الاخرى في الصورة (المناطق الغير شفافة) ، ثم نعمل نسخ Ctrl+c . نفتح صورة جديدة ، خلفيتها شفافة ، ونلاحظ ان الفوتوشوب اعطانا الصورة بنفس مقاييس الصورة التي نسخناها في الذاكرة . وهكذا تبدو الصورة بالخلفية الشفافة . لعمل الشفافية ، يجب ان نختار صيغ معينة من الصور والتي بإمكانها الاحتفاظ بالشفافية ، مثل Gif او png . هذه الاعدادات مهمة ، لأنها هي التي تحفظ شفافية الخلفية ، ونلاحظ اننا سنحفظ الصورة بصيغة Gif . ثم نفتح برنامج المايكروسوفت وورد ، ونفتح الصورة فيه ، ثم نضغط على الصورة ، وبزر الفأرة اليمين نعمل نسخ (هذه العملية هي التي ستجعل الاكسس يقبل شفافية الصورة) . نأتي للتقرير في الاكسس ، وبالفأرة اليمين ، نلصق الصورة (قد تحصل على رسائل خطأ ، ولكن واصل العمل) . الصورة في التقرير بعد اللصق ، ونلاحظ ان الصورة غير شفافة ، كما ان اعدادات الصورة لم تجعل خلفية الصورة شفافة (لاحظ السهم) . وعندما غيرنا اعدادات خلفية الصورة الى شفاف ، نرى ان الجزء الشفاف من الصور اصبح ظاهرا ، ونستطيع رؤية الصورة الخلفية من خلال المنطقة الشفافة . هذا معاينة للتقرير ، ونرى فيه الشفافية بوضوح . وهذه الصورة ذو الاجزاء الشفافة على الصورة الخلفية . ب. عمل الباركود: هناك العديد من المبرمجين يستعملون اداة ActiveX للباركود ، هذه الاداة محتاجة الى ملف dll او ocx والذي يجب وضعه في احد مجلدات الوندوز ، ثم تسجيل هذه الاداة في الوندوز. ولكن هناك العديد من المشاكل في هذه الاداة ، او في مكان حفظها (نظام 32بت يختلف عن 64 بت) ، او في تسجيلها او حتى في رقم اصدارها. كما ويجب ان تعمل جميع هذه الخطوات لكل كمبيوتر/مستخدم. لهذا السبب اتجهت للنظر الى طريقة اخرى. الطريقة البديلة والتي استعملتها ، هي التعامل مع الباركود كنوع من انواع خطوط الوندوز (Font) ، ولإستعمالها في الاكسس ، نستعمل حقل نص عادي ونختار له خط الباركود. وهناك الكثير من هذه الخطوط ، بمختلف انواع الباركود ، وانا اخترت استعمال code39 او (code 3 of 9) او (the 3 of 9 code) والذي يقبل الحروف والارقام ، ولم اقم بمقارنة او تجربة خطوط من انواع اخرى من الباركود. مبدئيا بدأت بإستعمال احد الخطوط ، ثم اتضح لي بأن ذلك الخط لا يستطيع ان يكتب الباركود اذا جعلت حقل النص عموديا!! وبعد بحث وتجارب ، استقر رأيي على الخط (code 3 de 9) والذي يمكن تنزيله بالمجان من هنا https://grandzebu.net/informatique/codbar/code39.ttf . وطريقة استعماله ، هي ادخال الرقم الوظيفي (حقل رقم او نص) في النموذج يكون مثلا 123456 ، وعندما نريد ان نرى الباركود ، فنستعمل حقل نص في النموذج او التقرير ، ونختار الخط اعلاه (انظر 4#) ، وحجم الخط 28 او اكبر (حسب تجربتي) ، ثم في اعدادات هذا الحقل ، في مصدر بياناته نكتب (Employee_ID هو حقل الرقم الوظيفي) : ="*" & [Employee_ID] & "*" 7. بإستخدام طريقتي اعلاه ، اتضح ان جهاز الباركود يقرأ 3 ارقام فأكثر (يعني يقرأ الارقام من 100 فما فوق) ، لهذا السبب ، ولتخطي هذه المشكلة ، نستخدم الكود التالي (و الشكر لحسن ناجح الذي اقترح هذه الطريقة 🙂 ) ، والذي يحول الارقام الاقل من 3 ، بإضافة اصفار قبلها (يعني 5 يصبح 005 وهكذا) : 'since the Barcode reader cannot read less than 3 digits, 'so lets add zeros before it, so that it becomes 3 digits long, 'but then, for the reading field, it must be INT If Len(Me.Emp_ID) < 3 Then Me.Barcode = "*" & Format([Employee_ID], "000") & "*" Else Me.Barcode = "*" & [Employee_ID] & "*" End If ** ولكن في وقت قراءة الباركود ، يجب ان تتم القراءة في حقل رقم ، مما سيلغي الاصفار تلقائيا ج. عمل مقاسات التقرير: لمعرفة ارتفاع وعرض التقرير ، وحجم حقول النص والخطوط المستعملة ، كان لازم علينا معرفة هذه التفاصيل من الطابعة ، يمكنك انزال برنامج تعريف الطابعة لتحديد مقاس الهوية من هنا https://www.hidglobal.com/sites/default/files/drivers/DTC550 Drv 3004.exe ) ومن حساب طول وعرض البطاقة 85.4 mm 53.7 x ، اتضح لنا ان اسم هذا الحجم هو CR-80 ، وعند اختيار الحجم الصحيح من الطابعة ، نحصل على المسافات/الهوامش التي تحتاجها الطابعة ، والتي يجب ان نستقطعها من طول وعرض التقرير ، وبهذا نحصل على الاطوال الحقيقة المتوفرة لطباعة الهوية ، هذه مواصفات الطابعة . وهذه اعدادات الطابعة . . وعليه ، استطعنا معرفة الاطوال الحقيقة المتوفرة لنا في التقرير ، بعد استقطاع هوامش الطابعة: . د. طباعة الهوية على الطابعة ، وجعل الصورة واضحة: عادة لما نعاين تقرير فيه صورة ، فاننا نرى ان الصورة غير واضحة ، ولكن لما تتم عملية الطباعة على الورق ، نرى ان صورة اصبحت واضحة ، ولكن للأسف الشديد فإن الصورة عند طباعتها من تقرير الاكسس الى طابعة الهويات ، فإن الصورة لا تكون واضحة وتكون نوعا ما ، مثل صورة معاينة التقرير!! ولكن عند طباعة الهوية من برنامج الرسومات مثل فوتوشوب Photoshop ، فإن الصورة تكون واضحة ، فهذا معناه ان الاكسس بحاجة وسيط بين التقرير والطباعة!! وبعد البحث اخبرني احد اصحابي "شكرا اخي محمد نادر" والذي كان قد قام بطباعة الهويات قبلي بعدة اشهر ، ان افضل طريقة للطباعة على هذه الطابعة هي ان تطبع التقرير بصيغة xps ، ثم تفتح الصورة بواسطة xps viewer ، وتطبع الهوية من هناك ، وموقع مايكروسوف يُؤكد تفوق نوعية صور xps هذا https://msdn.microsoft.com/en-us/library/windows/hardware/dn641615(v=vs.85).aspx ، وتصبح الصورة هكذا وعليه ، تم استخدام هذا الامر لطباعة الهويات: Badge_Output = Application.CurrentProject.Path & "\Badges.xps" DoCmd.OutputTo acOutputReport, "rpt_Badges", acFormatXPS, Badge_Output, True, , , acExportQualityPrint هذا الكود يُنشئ ملف صورة بصيغة xps حسب المسار في الكود ، ويقوم بفتح هذه الصورة (هذا معناة True في الامر) بالبرنامج الافتراضي لها ، وهو xps viewer ، ثم تستطيع ان تطبع الصورة على الطابعة وتحصل على الهوية ، طبعا نكون قد عملنا اعدادت الطابعة لكي تطبع من جانبي الهوية ، وتعمل التغليف Lamination (شريط شفاف) من الجانبين ، الطباعة من الجانبين . والتغليف Lamination هـ. العمل على التقرير من جهاز لا يحتوي على برنامج الطابعة: احد المشاكل التي صادفتني هي العمل على التقرير من لابتوب/كمبيوتر غير متصل بالطابعة ، لأنه معروف ان تقرير الاكسس يأخذ هوامشه من اعدادات الطابعة ، فعليه تتغير هوامش التقرير بتغير الطابعة ، مما يؤدي الى الاخلال بهوامش الطابعة المستعمله في التقرير!! هوامش طابعة الهويات صغيرة جدا ، لهذا ، فالطابعات العادية لن تفيد لأن هوامشها على اساس A4 مثلا وكبيرة ، ولا تحتوي على حجم الهوية CR-80 هذا جعلني ابحث عن طابعة إفتراضية (virtual printer) والتي يجب ان تحتوي على حجم CR-80 ، وقد وجدت طابعة تطبع التقارير الى صور jpg او bmp و صور بصيغ اخرى https://code-industry.net/imageprinterpro/ واشتريها ، وقبل تنصيبها اتضح اني استطيع استعمال طابعة (Microsoft XPS Document Writer) والمتوفرة على الكمبيوتر مجانا واعداداتها تحتوي على حجم الورق المطلوب ---------------------------------------------------------------------------------------------- وتوضيح اكثر وهذه ملاحظات اضافية لها علاقة بالموضوع بطريقة غير مباشرة: . وهنا قاعدة بيانات يمكن انزالها ---------------------------------------------------------------------------------------------- اضافة في 28-7-2019: اعدادات الطابعة اعلاه تكون لطياعة هويات افقية ، من الجانبين ، وبالتغليف. ولكن ، بالاضافة الى طباعة الهويات اعلاه ، صارت هناك حاجة الى عمل هويات عمودية ، من جانب واحد وبدون تغليف. وطبعا بإمكاننا ان نتبع الخطوات اعلاه ، وقبل طباعة الهوية ، ندخل في اعدادات الطابعة ونغير في الاعدادات ، ونطبع ، ولكن هذه الطريقة غير عملية لطباعة مئات الهويات!! عليه ، الطريقة اللي اتبعناها لحل هذا الموضوع هو ، اعادة تنصيب الطابعة من جديد (يعني الطابعة تم تنصيبها سابقا ، بالاعدادات اعلاه ،والآن نقوم بتنصيبها مرة اخرى) وبدون استخدام CD التنصيب ، لأن بيانات الطابعة تكون موجودة في الكمبيوتر ، ونعطي الطابعة اسم جديد واعدادات اخرى. وعند طباعة الهوية العمودية ، في التقرير ، نقوم بوضع اسم الطابعة الاخرى ، او مؤقتا نقوم بجعل الطابعة الاخرى "طابعة افتراضية" ، وبعد الانتهاء من طباعة الهويات ، نقوم بتغيير الطابعة الافتراضية مرة اخرى 🙂 ---------------------------------------------------------------------------------------------- اضافة في 26-06-2024: اعدادات التقرير للطباعة على الطابعة اعلاه. جعفر المرفق يحتوي على الخط code39.ttf ، و على ملف بصيغة mdb به الصورة اعلاه ، وبه مثال لإستعمال خط الباركود للارقام والحروف img_Frame.zip
    1 point
  15. السلام عليكم 🙂 اخواني ، الجميع يساعد في المنتدى بوقته وبدون مقابل ، وعندنا مثل يقول: حبة الزبيب ما تشبّع ، ولكنها تحلّي الفم 🙂 فرجاء خلونا نشجع الاعضاء في العطاء 🙂 لما تحصل على رد له قيمة ، فتشجيعا للعضو الذي يساعدك ، اخبر العضو بأنك مُعجب برده ، هكذا : . . ولما تحصل على اجابة لسؤال موضوعك ، فرجاء اختيار افضل اجابة ، هكذا (حتى مستقبلا يسهل معرفة الاجابة الصحيحة) : . شكرا 🙂 جعفر ومع الاعتذار لأخي احمد لإستخدام اسمه في المثال 🙂
    1 point
  16. اهلا بك اخى واستاذى العزيز رمهان عودا حميدا ان شاء الله متغبش كتير عننا احسنت اخى واستاذى @رمهان وفعلا يحتاج لوضع = "777" جزاك الله خيرا نتعلم كل يوم جديد منكم اساتذتى فليس لنا مورد للتعلم سوى مشاركتكم اخوانى واساتذتى بارك الله لنا فيكم وزادكم الله من فضله وعلمه تحياتى وتمنياتى لكم وللجميع بالتوفيق
    1 point
  17. وعليكم السلام ومشاركه لاخى ناقل جزاه الله خيرا ان كنت فهمت طلبك بشكل صحيح اذا كان اول رقم =7 او الثانى =7 او الثالث =7 وان كان 3 الاولى = 7 عدل or الى and If Mid(text1, 1, 1) = 7 Or Mid(text1, 2, 1) = 7 Or Mid(text1, 3, 1) = 7 And Me.text2 = 7 Then MsgBox "تنبيه" Me.Undo DoCmd.CancelEvent End If ويمكن اختصار الكود بالمشاركه الاولى الى If Mid(text1, 1, 1) = 7 And Mid(text1, 2, 1) = 7 And Mid(text1, 3, 1) = 7 And InStr(Me.text2, 7) > 0 Then MsgBox "تنبيه" End If جرب ووافنا بالنتيجه تقبلوا تحياتى وتمنياتى لكم وللجميع بالتوفيق
    1 point
  18. جرب هذا الملف MY_file.xlsx
    1 point
  19. السلام عليكم بعد اذن اسناذ @jjafferr واستاذ @essam rabea مرفق الملف الاصلي للكود انا عملته لاحد الاخوه حول القوائم الفرعية كان الكود لايعمل على اكسس 2010 الا بعد ماقمت بتثبيت اكسس 2016 في جهازي تحياتي test.accdb
    1 point
  20. حياك الله اخي أحمد الفلاحجى ان تيسرت الامور ساشرح الكود بالكامل
    1 point
  21. او ، وبدون الاختيار من المكتبة ، تستطيع استعمال: dim MAINMENU as object ولكن لا يُفضل استعماله وانت في حالة تصميم البرنامج ، لأن طريقة الاستاذ عصام (وتسمى Early Binding ، اي الربط المسبق) ، وعند الضغط على النقطة او المسافة ، فإن البرنامج سيساعدك ويعطيك خيارات للأمر الذي تكتبه (مثل بقية اوامر الاكسس) ، ولكن لما تنتهي من البرنامج ، يمكنك استعمال طريقتي (والتي تُسمى Late Binding ،اي الربط المتأخر) ، وميزته ، انه في جهاز المستخدم ، لن يحصل على الخطأ الذي حصلت عليه ، بسبب عدم اختيار المكتبة 🙂 جعفر
    1 point
  22. في الشيت "قائمة" انقر دوبل كليك على اي خلية تريد في العمود A ستنسخ الخلية الى F1 كما طلبت واختر اي شيت في الومبوبوكس وسينشط السيت المختار وينسخ ما في الخلية F1 الى D5 خطا في كود حد الصفحة.xls
    1 point
  23. وعليكم السلام 🙂 مثل ما اخوي emam1424 قال ، لا يمكن تكبيرها !! مايكروسوفت لم تحدث هذه لايقونات لأكثر من 20 سنة لهذا السبب ، يمكنك ان تنزل ايقونات من الموقع الذي اشار اليه اخوي emam1424 او من http://www.iconarchive.com/ ، او ان تعمله بنفسك بأي من برامج الرسومات ، او حتى تستعمل احد صور كاميرا هاتفك ، بالحجم اللي يناسبك ، ولكن ، تأكد ان لا تستعمل صور كبيرة في الحجم (وخصوصا في التقرير ، فإنها قد لا تظهر في الطباعة بسبب عدم وجود ذاكرة كافية في الطابعة لطباعتها) ، فإنها ستجعل برنامجك بطئ !! جعفر
    1 point
  24. اخي الكريم انا شغال عندي 100/100 جرب تعديل الاستاذ Mohamed_Fouad ربما يفي بالغرض
    1 point
  25. رويدا اخى حاتم جزاك الله خيرا على ما تقدمه ونحمد الله على ان لنا اخوان يخافون على اخوانهم من الاذى فلا تغضب وكن حليما قال رسول الله صل الله عليه وسلم صل على الحبيب تقبل تحياتى وتمنياتى لك وللجميع بالتوفيق
    1 point
  26. لم اجد اي اشكال في المعادلة ورقة عمل Microsoft Excel جديد __.xlsx
    1 point
  27. بارك الله فيك اخ نبيل لقد نبهتني للمشكل انا قمت بعمل الدالة بشكل صحيح لكن المشكل في اوفيس 2016 قمت بتنصيبه وتجربته لكنه يقوم بحذف التطابق التام لبد ان فيه خيارات اخرى والله اعلم
    1 point
  28. تفضل ....ادخل على ورقة ملاحظات ںé ©ëںê¤.xlsm
    1 point
  29. مكن ان تختار اي اسم مع علامة $ مثلاُ: $Dim Mot
    1 point
  30. اكثر من مرة أكرر اسماء الصفحات يجب ان تكون باللغة الاجنبية لحسن عمل نسخ ولصق للكود (دون مشاكل اللغة) الكود Option Explicit Sub transfer_Unique() Dim D As Worksheet, R As Worksheet Dim RoD%, RoR%, I%, m%, ky Dim RGD As Range, RGR As Range Dim dic As Object, Arr Set D = Sheets("Data"): Set R = Sheets("Repport") Set RGD = D.Range("a2").CurrentRegion: RoD = RGD.Rows.Count Set RGD = RGD.Offset(1).Resize(RoD - 1).Columns(11) Set RGR = R.Range("A2").CurrentRegion: RoR = RGR.Rows.Count If RoR > 1 Then Set RGR = RGR.Offset(1).Resize(RoR - 1) RGR.ClearContents End If Set dic = CreateObject("Scripting.Dictionary") For I = 1 To RoD - 1 If Len(RGD.Cells(I)) > 1 Then Arr = Application.Transpose(D.Cells(RGD.Cells(I).Row, 1).Resize(, 11)) Arr = Application.Transpose(Arr) Arr = Join(Arr, "*") dic(Arr) = vbNullString End If Next m = 3 For Each ky In dic.keys R.Cells(m, 1).Resize(, 11) = Split(ky, "*") m = m + 1 Next R.Range("A2").CurrentRegion.Value = R.Range("A2").CurrentRegion.Value Set dic = Nothing: Set D = Nothing: Set R = Nothing Set RGD = Nothing: Set RGR = Nothing End Sub الملف مرفق Mostakhlasat.xlsm
    1 point
  31. السلام عليكم ورحمة الله وبركاته أخواني محتاج مساعدتكم في موضوع إن شاء الله بسيط ، عندي قاعدة بيانات وبها بيانات الموظفين وعندي نماذج كثير على الورد وجميعها بها إشارات مرجعية (Bookmarks). المطلوب عند اختيار سجل معين (موظف معين) 1. يتم فتح نافذه لإختيار ملف الورد المطلوب. 2. نقل البيانات إلى الملف المطلوب حسب الإشارات المرجعية يعني لو في ملف الورد يوجد الاسم فقط يتم نقل الاسم فقط واذا كان مطلوب مثلا الاسم والعنوان يتم نقل القسم والعنوان فقط ولا يتم نقل باقي البيانات. مرفق لكم نموذج بسيط to word.rar
    1 point
  32. مبدع دائما اخ صالح
    1 point
  33. في الصورة التالية تفصيل لكل عناصر المعادلة
    1 point
  34. اخي الفاضل واستاذي الغالي رعد اسف كنت اتمنى مساعدتك ولكني اتعلم ايضا وان شاء الله اساتذتنا الافاضل ربي يحفظهم جميعا سوف يبدون المساعدة بفضل الله جل وعلا
    1 point
  35. السلام عليكم الاخ الفاضل حربي العنزي انا عندي معادلة الرصيد تمام وشغالة انا اريد في التقرير جلب الرصيد قبل تاريخ 5/3/2020 مثلا والذي هو 7,700,000 ثم يبدأ الرصيد بالتقرير باضافة الوارد والتنقيص من المصروف وهكذا شكرا لمداخلتك
    1 point
  36. تم التعديل على الماكرو بحيث يعطينا اين يوجد التكرار (اسم الصفحة مع رقم الصف) Tekrar_by_sheets_Address.xlsm
    1 point
  37. اللهم صلى علي سيدنا محمد وعلي ال سيدنا محمد بارك الله فيك
    1 point
  38. بالنسبة لبقية البيانات ممكن عمل ذلك بواسطة معادلة بسيطة في الخلية D11 من الشيت Final =IF($C11="","",INDEX(Salim!D$11:D$100,MATCH($C11,Salim!$C$11:$C$100,0))) لا حظ الملف بعد تنفيذ الماكرو يمكن توقفيه (بواسطة الفاصلة العليا) واخفاء شيت Salim وأعادة تسمية شيت final الى اي اسم اخر لتكون مرجعاً و بذلك تبقى شيت Salim (مع الماكرو بداخلها) للتعديلات او الاضافات تعود اليها في وقت الحاجة من صف لاخر 2.xlsm
    1 point
  39. 1 point
  40. سبب المشكلة هو وجود علامتَي تشكيل متجاورتين بعد كلّ "لأ" أو "لإ". فبدلاً من كتابة أول تشكيل بعد اللام وثاني تشكيل بعد الألف، وُضعت علامتا التشكيل بعد الألف. وهذا ما يجعل الوورد يضع التشكيل الثاني بشكل مستقل لأن وجوده بعد تشكيل سابق لا يجوز. (مثلاً، في حالة كلمة "الإنسان"، هناك كسرة بعد سكون!) إليك هذا الحلّ: - في البحث والاستبدال انسخ وألصق ما يلي في مربع البحث: ل([إأ])([ًٌٍَُِْ])([ًٌٍَُِْ]) - في مربع الاستبدال انسخ وألصق ما يلي: ل\2\1\3 - انقر على زر "المزيد" واختر "استخدام حروف البدل" وأيضاً "مطابقة همزة الألف". - اضغط على زرّ "استبدال" وانظر إن كانت الأخطاء تُصحّح. يمكنك مواصلة الضغط على زرّ "استبدال" لمتابعة مراقبة التعديلات التي تُجرى، أو الضغط على "استبدال الكل" للانتهاء من الأمر بسرعة.
    1 point
  41. تفضل أخي الملف به حتي 9 ملفات وليس 5 فقط المعادلات في العمود AB باللون الأحمر تحدد مكان الملف الرئيسي والذي يجب أن تكون الملفات الفرعية بنفس المجلد (الفولدر) العمودان Z,AA باللون الأزرق يمكنك نعديل أسماء الملفات بها الأعمدة المخفية بين G & Z باللون الأصفر بها معادلات تعتمد علي أن الملفات الفرعية مفتوحة أرجو أن يكون هذا هو المطلوب ABC.xlsx E.xlsx D.xlsx C.xlsx B.xlsx A.xlsx
    1 point
  42. بعد اذن استاد طارق محمود ولاثراء الموضوع جرب المرفق 1 انسخ المجلد المسمى mydata في :d 2 افتح الملف المسمى main واضغط زر استعلام سيأتي ببيانات حسب الرقم في العمود A ملاحظة تم تغيير اسماء الشيتات ليعمل الكود بكفاءة ارجو ان يكون ما تريد my data.rar
    1 point
  43. تفضل لقد قمت بتصميم صفحة html و أرفقتها مع المثال ضعهما في نفس المجلد و جرب مع العلم أنني ما زلت لم أضع درس الأحداث بعد Desktop.rar
    1 point
  44. الحلقة الثانية: أكواد الطباعة و الخصائص و... سوف نتطرق في هذه الحلقة إلى الأكواد التي تمكننا من طباعة صفحة الويب و حفظها و عرض خصائص الصفحة و غيرها... 1- كود طباعة الصفحة: Me.WebBrowser3.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT 2- كود معاينة طباعة الصفحة: Me.WebBrowser3.ExecWB OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_DODEFAULT 3- كود عرض خصائص الصفحة: Me.WebBrowser3.ExecWB OLECMDID_PROPERTIES, OLECMDEXECOPT_DODEFAULT 4- كود حفظ صفحة الويب: Me.WebBrowser3.ExecWB OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT 5- كود تنسيق الصفحة: Me.WebBrowser3.ExecWB OLECMDID_PAGESETUP, OLECMDEXECOPT_DODEFAULT 6- كود عنوان رابط الصفحة: MsgBox Me.WebBrowser3.LocationName 7- كود رابط الصفحة: MsgBox Me.WebBrowser3.LocationURL 8- كود فتح الصفحة الإفتراضية للمتصفح: Me.WebBrowser3.GoHome 9- كود فتح صفحة البحث: Me.WebBrowser3.GoSearch 10- كود فتح صندوق التصفح: هذا الكود يقوم بفتح صندوق لإدخال رابط صفحة ويب جديدة Me.WebBrowser3.ExecWB OLECMDID_OPEN, OLECMDEXECOPT_DODEFAULT 11- كود تخطي رسائل الأخطاء التي تظهر من الأداة عند التصفح: Me.WebBrowser3.Silent = True وهذا المرفق بعد الإضافات الجديدة webbroser.rar
    1 point
  45. وعليكم السلام 🙂 في الكثير من الاحيان ، مادام الكود يعمل بطريقة صحيحة ، فلا علاقة لنا بكيفية عمله 🙂 تفضل: Private Sub تفصيل_Print(Cancel As Integer, PrintCount As Integer) Dim ctl As Control Dim MaxHeight As Long 'اعطاء قيمة اوليه لأطول حقل MaxHeight = 0 'نلف حول الحقول For Each ctl In Me 'اذا كان نوع الحقل نص ، ونحن في قسم التفصيل If TypeOf ctl Is TextBox And ctl.Section = 0 Then 'اذا كان طول الحقل اطول من القيمة الاوليه ، اذن قم بتغيير القيمة الاولية الى هذا الطول الجديد If ctl.Height > MaxHeight Then MaxHeight = ctl.Height End If Next 'نلف حول الحقول For Each ctl In Me 'اذا كان نوع الحقل نص ، ونحن في قسم التفصيل If TypeOf ctl Is TextBox And ctl.Section = 0 Then 'اعمل خط ، النقطة الاولى: يسار الحقل و وارتفاعه صفر 'والنقطة الثانية: يسار الحقل و وارتفاعه طول اطول حقل Me.Line (ctl.Left, 0)-(ctl.Left, MaxHeight) End If Next ' نرسم خط ، النقطة الاولى عرض التقرير ناقص 3 تويب و وارتفاعه صفر 'والنقطة الثانية: عرض التقرير ناقص 3 تويب ، و ارتفاعه طول اطول حقل Me.Line (Me.Width - 3, 0)-(Me.Width - 3, MaxHeight) ' نرسم خط ، النقطة الاولى: اقصى اليسار (يعني صفر) و ارتفاعه طول اطول حقل ' والنقطة الثانية عرض التقرير ناقص 3 تويب و ارتفاعه طول اطول حقل Me.Line (0, MaxHeight)-(Me.Width - 3, MaxHeight) End Sub Private Sub Report_Page() 'تحميل خيارات الرسم عند فتح الصفحة Me.ScaleMode = 3 Me.ForeColor = 0 Me.DrawWidth = 3 End Sub . جعفر
    1 point
  46. هممم انت قلت والآن تقول لتسهيل العمل ، اقترح عليك عمل حقل جديد في جدول constants باسم use_this_school ومن نوع Yes/No . بحيث تختار سجل المدرسة الصحيحة مرة واحدة ، او مرة كل سنة ، وعليه نعمل الاستعلام qry_constant للجدول constant ، ونضع معيار لهذا الحقل الجديد ، ثم يكون هذا الاستعلام مصدر بيانات النموذج: . اما بالنسبة الى التقرير ، فاقترح ان تعمل تقرير فرعي للمنطقة الحمراء في الصورة ادناه ، بالبيانات المطلوبة ، ويكون مصدرها الاستعلام qry_constant . جعفر 996.2.حوسبة العمل الاداري 1.0.mdb.zip
    1 point
  47. السلام عليكم أستاذ @jjafferr حياك الله و شكرا جزيلا على هذا العمل الممتاز. إنتظرتك طويلا لتطرح هذا الموضوع حتى ظننتك نسيت أمره و قررت أن أستأذنك لأقدم الموضوع بنفسي بعد أن أكمل إمتحانات التلاميذ الأسبوع القادم إلا أنك قد سبقتني بها. شكرا جزيلا أستاذ جعفر. بالنسبة لهذا الجزء أنا استخدمت طابعة إفتراضية تستطيع تحديد مقاسات التقرير فيها كما تشاء و تخرج التقرير على شكل صورة.
    1 point
  48. وعليكم السلام لا ادري اذا كان هناك طريقة اخرى للمقارنة وجلب النتائج ، فطريقتي طويلة نوعا ما نعمل حقل نربط فيه رقم الصيدلية والشهر ، حتى نحصل على على مقارنة حسب طلبك (رجاء لاحظ اسماء الجداول في الاستعلام): . . نقارن بين الجدولين ، ونطلب جميع السجلات التي في الجدول store والتي قد لا توجد في الجدول الاخر . هنا حصلنا على السجلات التي لا توجد في الجدول الاخر (في المربعات الحمراء) ، وسنعمل نفس الشئ بالنسبة للجدول الثاني: . . . والان نريد ضم الاستعلامين مع بعض ن حتى نحصل على استعلام واحد . ومن نتائج الجمع ، نعمل استعلام اخير لتصفية السجلات الغير مرغوب فيها . والنتيجة ، لاحظ العمودين الذين على اليمين ، فكل عمود تابع لاحد الجداول: الحقل الذي فيه _ معناه انه لا يوجد سجل في الجدول (لاحظ اسم الجدول مسمى الحقل) . طبعا ستستخدم الاستعلام الاخير فقط في جلب النتائج واستعمالها ، والاستعلامات الاخرى هي لتهيئة السجلات بالطريقة المطلوبة جعفر 469.Order.accdb.zip
    1 point
  49. السلام عليكم مثلما قال أستاذ حسام تضع المطلوب إظهاره في رأس الصفحة وليس في رأس التقرير جرب هذا التعديل ووافنا بالنتيجة Database3.rar
    1 point
  50. الجدول1 جدول اسماء الطلاب وبياناتهم اسم الجدول tblAsma وحقوله كثيرة متنوعة يهمنا منها اربعة : معرف الطالب UserName نوعه نص وحجمه 10 بدون تكرار (على اساس الهوية 10ارقام) اسم الطالب studNm نوعه نص وحجمة 50 المرحلة mrhla نوعه رقم وحجمه عدد صحيح طويل الشعبة shoba رقم مثل سابقه خلطت الحابل بالنابل العربية بالانجليزية فهذا للتمثيل وكل يأخذ ما يصلح له
    1 point
×
×
  • اضف...

Important Information