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

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

  1. صالح حمادي

    صالح حمادي

    أوفيسنا


    • نقاط

      4

    • Posts

      1,745


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

    سليم حاصبيا

    أوفيسنا


    • نقاط

      4

    • Posts

      8,723


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

    • نقاط

      3

    • Posts

      1,752


  4. ياسر خليل أبو البراء

    ياسر خليل أبو البراء

    المشرفين السابقين


    • نقاط

      2

    • Posts

      13,165


Popular Content

Showing content with the highest reputation on 28 فبر, 2018 in all areas

  1. بسم الله الرحمان الرحيم السلام عليكم اصدقائي اعضاء منتدى اوفيسنا تم الانتهاء بحمد لله من قاعدة البيانات تم الاعتماد على الاكسيس كقاعدة البيانات لذى لن يكون هناك اي ثقل او ضغط على الاكسيل فواتير الشراء و فواتير البيع اضافة فاتورة بحث وتعديل او طباعة البحث عن الاصناف باستعمال خاصية النص التنبئي اتبعنا السعر الوسط للاصناف في حال توفر كميات مختلفة باسعار مختلفة في المخزون الاصناف الجديدة تدخل اوتوماتيكيا الى المخزن مباشرة من فاتورة الشراء و كذالك يتم تكويدها اوتوماتيكيا امكانية اضافة القيمة المضافة للفواتير حسب ارادة المستخدم اضهار ان كانت الفاتورة مسددة ام لا و ايضا اضهار ان كان مسدد جزء من الفاتورة و المبلغ المتبقي الموردين و العملاء اضافة بحث وتعديل او حذف اضهار كل الفواتير المتعلقة بالعميل او المود اضهار الفواتير الغير مسددة او الغير مدفوعة للعميل او المورد كشف حساب تفصيلي لكل عميل او مورد طباعة كشف الحساب اضهار عدد الفواتير المتعلقة بكل عميل او مورد و اضهار مجموع المبالغ المدفوعة او المسددة و مجموع المبالغ المستحقة المخزون قائمة كل الاصناف مع امكانية التعديل على اسم الصنف اضهار قائمة بالاصناف القريبة النفاذ وذلك على حسب كمية يحددها المستخدم اضهار قائمة الاصناف التي نفذت من المخزون قائمة بكل عمليات الشراء الخاصة بكل صنف قائمة بكل عمليات البيع الخاصة بكل صنف صافي ربح الصنف امكانية استراد قائمة اصناف من ملف اكسل خارجي جاري العمل عللى مكانية استراد الاصناف من صيغ اخرى كالاكسيس او الملفات النصية سندات الصرف و سندات القبض اضافة بحث وتعديل او حذف + طباعة السندات بحث بواسطة رقم السند او رقم الفاتورة او اسم العميل او المورد او بين فترة زمنية معينة اثناء اضافو السندات سواء قبض او صرف لا تضهر الى الفواتير الغير مسددة عند اختيار الفاتورة يضهر مبلغها اوتوماتيكيا امكانية اختيار طريقة الدفع نقدا او شيك مضهر البرنامج امكانية تغير ثيم البرنامج امكانية تغير لغة البرنامج (عربية انجليزة و فرنسية) يعتمد البرنامج على واجهة الاكسل الرئيسة و اليوزرفورم معا معلومات اخرى امكانية رفع قاعدة بيانات البرنامج على سيرفر محلي او عام (لاخوف على قاعدة البيانات في حال سقوط الونداوز) امكانية العمل على البرنامج من طرف اكثر من مستخدم في وقت واحد هذه بعض الصور المسربة للبرنامج هذا ماتم انجازه بفضل الله الى حد الساعة لذى احتاج من كل الاعضاء ابداء اقتراحاتهم حول الامور المنجزة و ايضا اعطائنا اي اضافات تودون ان اضيفها للبرنامج لانه لم يعد يتوفر في جعبتي اي افكار لذي ارجو من لهم خبرة في التعامل مع هذا النوع من البرامج ان يبدو اقتراحاتهم او يرةني بعض البرامج التي يمكن ان استمد منها افكار اخرى تحياتي للجميع اخوكم في الله شوقي ربيع
    2 points
  2. الأخت الفاضلة رشا يوسف لما لا تستخدمي دالة Index فهي أكثر مرونة من غيرها إليك المعادلة التالية ضعي المعادلة في الخلية F4 =IFERROR(INDEX($C$12:$C$16,MATCH(B4,$B$12:$B$16,0)),"") شرح المعادلة ************* الجزء الأول الدالة IFERROR وتستخدم الدالة في حالة حدوث خطأ في النواتج ولها عدد 2 بارامتر : الأول هو القيمة value والثاني value_if_error أي القيمة التي توضع في حالة حدوث خطأ .. البارامتر الأول هنا هو الجزء الأول (الخاص بالبحث) INDEX($C$12:$C$16,MATCH(B4,$B$12:$B$16,0)) والبارامتر الثاني هو الجزء "" أي أنه عند البحث وعدم وجود نتائج للبحث فإنه يحدث خطأ #N/A ولتجنب الخطأ توضع القيمة فراغ ، عن طريق أقواس التنصيص مرتين متتاليتين الجزء الثاني هو الجزء الخاص بالبحث INDEX($C$12:$C$16,MATCH(B4,$B$12:$B$16,0)) والدالة Index من الدوال البحثية لها 3 بارامترات .. ------------------------------------------------ ** البارامتر الأول النطاق اللي المفروض عايزين النتائج منه ، أو مصفوفة القيم المراد البحث داخلها ولو وقفنا داخل المعادلة وحددنا الجزء ده $C$12:$C$16 وضغطنا من لوحة المفاتيح F9 هنلاقي النتائج بهذا الشكل {12;15;18;21;24} ودي مصفوفة القيم المراد البحث داخلها ** البارامتر الثاني هو رقم الصف داخل مصفوفة القيم ، مش رقم الصف في ورقة العمل .. طيب إزاي هنعرف رقم الناتج أو الصف المراد البحث عنه داخل المصفوفة هنا بنستخدم الدالة Match ودي دالة بحث بردو بتجيب رقم الصف MATCH(B4,$B$12:$B$16,0) دا البارامتر الثاني وهنا بتتم عملية البحث عن قيمة البحث الموجودة في الخلية B4 وبيتم البحث عن قيمة الخلية B4 في النطاق $B$12:$B$16 ودا بردو مصفوفة النطاق ..يعني لو حددنا السطر ده وضغطنا F9 من لوحة المفاتيح هتلاقي الناتج بهذا الشكل {"معلم";"خبير";"مساعد";"مدرس";"اخصائى"} فاللي بيحصل إنه بيبحث عن القيمة الموجودة في الخلية B4 داخل المصفوفة دي .. القيمة الموجودة كلمة "معلم" ودي أول كلمة في المصفوفة يعني رقم 1 إذاً رقم الصف هو واحد (وأؤكد ليس المقصود رقم الصف في ورقة العمل .. المقصود رقم نتيجة البحث داخل المصفوفة ) طيب رقم 0 دا ايه فايدته ... فايدته إننا بنقول لعملية البحث إنها تكون متطابقة تماماً .. تطابق عملية البحث للقيمة المراد البحث عنها >> إحنا دلوقتي عندنا نطاقين أو مصفوفتين للقيم (الأولى المراد استخراج النتيجة منها) و (الثانية المراد البحث بداخلها) الإكسيل بيقوم الأول بالبحث قبل ما يظهر النتيجة (دي الخطوات المنطقية للعمل) .. بيقوم بالبحث عن القيمة الموجودة في الخلية B4 داخل المصفوفة الخاصة بيها .. طلع الناتج 1 لأنها أول نتائج البحث خلاص وصل الإكسيل لرقم ناتج البحث داخل المصفوفة ..ياخد الرقم دي ويشوف النتيجة رقم1 الموجودة في المصفوفة الأول ..هيلاقي إن رقم 1 في المصفوفة الأولى هو رقم 12 ** البارامتر الثالث اختياري ودا هنا ملوش استخدام لأن المصفوفة مكونة من بعد واحد فممكن نكتب رقم 1 أو نتركه من غيره ما نكتبه لأن رقم 1 هو الافتراضي =INDEX($C$12:$C$16,MATCH(B4,$B$12:$B$16,0),1) >>>>> عشان نفهم أبعاد المصفوفة ذات البعدين ------------------------------------------------- ضع المعادلة التالية في أي خلية =INDEX($B$12:$C$16,MATCH(B4,$B$12:$B$16,0)) المصفوفة الأولى هي $B$12:$C$16 نخلي بالنا هنا المصفوفة بتاخد القيم من عمودين ..يبقا المصفوفة ثنائية الأبعاد نحدد الجزء اللي فات ونضغط F9 من لوحة المفاتيح هنلاقي النتائج بهذا الشكل {"معلم",12;"خبير",15;"مساعد",18;"مدرس",21;"اخصائى",24} لو ركزنا هنعرف شكل المصفوفة .. بتاخد قيم الصف من العمودين مع بعض يعني مثلاً : معلم و 12 في صف واحد وداخل المصفوفة مع بعض بيفصل بينهم فاصلة عادية بعد كدا الصف اللي بعديه هتلاقي خبير 15 وبردو بيفصل بينهم فاصلة عادية ... أما الفاصل بين قيم المصفوفة أقصد البعد الثاني بيتم الفصل بفاصلة منقوطة بمعنى آخر : ********** معلم 12 أول صف في المصفوفة خبير 15 ثاني صف في المصفوفة مساعد 18 تالت صف في المصفوفة وهكذا .. (بيفصل بين الصفوف فاصلة منقوطة) داخل الصف الواحد عمودين لأن المصفوفة من بعدين : عمود 1وعمود 2 (بيفصل بين الأعمدة داخل المصفوفة فاصلة عادية) ناخد مثال بسيط عشان نفهم العملية إزاي بتتم : لو عايزين رقم الصف 4 والعمود 1 هنشوف المصفوفة .. رقم البصف 4 هنلاقي مدرس 14 ، ورقم العمود المطلوب هو العمود 1 إذاً الناتج كلمة مدرس يا ريت تكون النقطة دي وضحت ************************************************************************** نجرب المعادلة دي ونشوف اللي فهمناه =INDEX($B$12:$C$16,MATCH(B4,$B$12:$B$16,0),1) ع السريع هيتم البحث داخل المصفوفة ذات البعدين (طالما إنها ذات بعدين إذاً سيتم الاستعانة بالبارامتر الثاني والثالث للدالة Index) عشان نعرف رقم الصف المطلوب ورقم العمود المطلوب هنا رقم الصف هنجيبه من خلال الدالة Match هنلاقي رقم الصف هو 1 وأخيراً البارامتر التالت ودا كتبناه 1 يعني العمود الأول إذاً الناتج النهائي هو كلمة "معلم" لو غيرنا رقم العمود من 1 إلى 2 هيتغير الناتج إلى 12 لو غيرنا رقم العمود إلى 3 هيديني خطأ لأن المصفوفة ذات بعدين مش 3 .. الخطأ #REF! أرجو أن أكون وفقت في توصيل المعلومة
    2 points
  3. بسم الله الرحمن الرحيم هناك طرق كثيرة للتحايل على الغاء الحفظ التلقائي في النماذج وبالخصوص النماذج التي فيها نماذج فرعية هنا ارفق ملف لكم فيه كودين أحدهما في النموذج الرئيسي والذي يحفظ البيانات في جدول bills والأخر في النموذج الفرعي والذي يحفظ البيانات في جدول bills2 Private Sub Form_Unload(Cancel As Integer) Dim Q As Recordset Set Q = CurrentDb.OpenRecordset("SELECT * from Bills;") While Not Q.EOF If Q!MZ = False Then 'Q.Delete End If Q.MoveNext Wend End Sub حيث ان mz هو حقل اضافي في جدول bills من نوع نعم / لا والكود الثاني في الفورم الفرعي Private Sub Form_BeforeUpdate(Cancel As Integer) On Error GoTo BeforeUpdate_Error If Me.Dirty Then 'if record has been changed the dirty property ' is set to true Display message to save the record If MsgBox("åá ÊÑÛÈ ÈÍÝÙ åÐÇ ÇáÓÌá æÇáãÊÇÈÚÉ? ÇÖÛØ äÚã áÅÊãÇã ÇáÓäÏ", _ vbYesNo + vbQuestion, "ÍÝÙ ÇáÓÌá") = vbNo Then Me.Undo End If End If BeforeUpdate_Exit: Exit Sub BeforeUpdate_Error: MsgBox Err.Description Resume BeforeUpdate_Exit End Sub الغاء الحفظ التلقائي.rar
    1 point
  4. تفضل بالتوفيق،،، عرض احدث تاريخ.rar
    1 point
  5. هذا الكود Sub REPORT_salim() Application.ScreenUpdating = False Dim My_name$ Dim SpecLr% Dim sh As Worksheet: Set sh = Sheets("سندات القبض") Dim k%, i%: k = Sheets.Count Dim LrP%: LrP = sh.Cells(Rows.Count, "P").End(3).Row If LrP = 1 Then LrP = 2 For i = 2 To k My_name = sh.Cells(i, "P") SpecLr = Sheets(My_name).Cells(Rows.Count, "c").End(3).Row + 1 With Sheets(My_name) .Cells(SpecLr, 3) = sh.Cells(i, "B") .Cells(SpecLr, 4) = sh.Cells(i, "D") .Cells(SpecLr, 5) = sh.Cells(i, "e") .Cells(SpecLr, 6) = sh.Cells(i, "f") .Cells(SpecLr, 7) = sh.Cells(i, "h") .Cells(SpecLr, 8) = sh.Cells(i, "i") .Cells(SpecLr, 9) = sh.Cells(i, "g") .Cells(SpecLr, 10) = sh.Cells(i, "k") .Cells(SpecLr, 11) = sh.Cells(i, "n") .Cells(SpecLr, 12) = sh.Cells(i, "l") End With Next Application.ScreenUpdating = True End Sub
    1 point
  6. بعد اذن اخي زيزو (مع او بدون ترقيم حسب الاختيار) الكود Option Explicit Sub extract_data() Dim My_Sh As Worksheet: Set My_Sh = Sheets("ورقة1") Dim s%, Initial_string$, i%: i = 4: s = 1 Dim LrF As Long Dim x As Boolean x = My_Sh.Range("j2") = "Yes" Application.ScreenUpdating = False With My_Sh LrF = .Cells(Rows.Count, "F").End(3).Row If LrF < 4 Then LrF = 4 .Range("f4:F" & LrF).Clear Initial_string = .Cells(2, "G") & .Cells(2, "F") & .Cells(2, "H") Do Until .Cells(i, 2) = vbNullString If .Cells(i, 2) & .Cells(i, 3) & .Cells(i, 4) = Initial_string Then With .Cells(i, "F") .Value = IIf(x, "M" & s, "M") With .Font .ColorIndex = 3 .Bold = True End With End With s = s + 1 End If i = i + 1 Loop End With Application.ScreenUpdating = True End Sub الملف TEXT Salim1.xls
    1 point
  7. السلام عليكم ورحمة الله جرب هذا الكود Sub MSghin() Dim C As Range Dim x, y, z x = Range("G2") y = Range("F2") z = Range("H2") For Each C In Range("B4:B" & Range("B" & Rows.Count).End(xlUp).Row) If C.Value = x Then If C.Offset(0, 1) = y Then If C.Offset(0, 2) = z Then C.Offset(0, 7) = "M" End If End If End If Next End Sub
    1 point
  8. ارجوا القراءة والتطبيق بدقة : على اعتبار وجود نسخة دائمة من الواجهات بجانب قاعدة الجداول على الخادم ، ويقوم المبرمج باستبدالها يدويا عند كل تحديث اولا - الجدول الذي يتم فحصه موجود في الواجهات وليس في قاعدة الجداول 1- مرفق مجلدين : wz ويوضع داخل الجهاز الخادم ويحتوي على قاعدة الجداول zzData.mdb وملف الواجهات dbz.mdb وداخله جدول الفحص tbl1 ، للتجربه ضعه على قرص C 2- جدول الفحص هذا يشتمل على حقل رقمي نضع فيه رقم النسخة المحدثة ثانيا : المجلد الثاني fre هو مجلد الواجهات الذي نضعه للمستخدمين داخل الاجهزة الفرعية ويشتمل على ملفين أو بالاصح (قاعدتي واجهات) الاولى dbz.mdb وهي الواجهات والثانية ملف وسيط start.mdb وهي التي سنضع لها اختصار على سطح المكتب اي هي التي ستقلع اولا ووظيفتها فحص ملف الواجهات الموجود على الخادم هذه الوسيطة يوجد داخلها جدولين احدها مرتبط بملف الواجهات الموجود على الخادم والآخر محلي كل جدول يحتوي على حقل رقمي واحد فقط عند تشغيل الوسيطة يتم المقارنة بين الحقلين فإن كانا متساويين يتم تشغيل الواجهة التي بجنب الوسيطة وان كان الرقم المرتبط اكبر من الرقم المحلي يتم التالي : _ استبدال الواجهة القريبة بالواجههة البعيدة _ تحديث قيمة الحقل المحلي بحيث يكون مساويا للرقم المرتبط _ تشغيل الواجههة لاحظوا : _ ان قاعدة بيانات البرنامج ( الجداول ) ليس لها اي دور في العملية _ ملف الواجهات يجب ان يبقى بصورة دائمة بجوار الداتا بيس وانما يستبدل بالجديد عند التحديث _ عند تصفح الملف الوسيط ورؤية الكود ستبدوا لك العملية بصورة اوضح fre.rar
    1 point
  9. حل اخر مع قليل من التفاصيل TEXT Salim.xlsx
    1 point
  10. شكرا علي محمد على مساعدة الاخ و تم الاستفاده من الموضوع
    1 point
  11. تفضل جرب هذا بالمعادلات TEXT.xlsx
    1 point
  12. الف شكر يا أخي الفاضل اشتغلت تمام وقامت بالمطلوب ربنا يجزيك خير و يبارك في حضرتك تقبل تحياتي 🌷🌷
    1 point
  13. أخي وصديقي المبدع دائما شوقي ربيع التطوير والإبداع... بهذه الكلمات يمكن وصف أعمال شوقي ربيع وبقدر ما تنطبق هذه العبارات علي تلك الأعمال تصبح عاجزة أحيانا امام مشاركات واعمال فارس من فرسان اوفيسنا ، فإنّها تنطبق أيضاً على العديد من المشاركات والأعمال الخالدة والتي كانت الطريق للعديد منا في رحلة الابداع والتميز والريادة ، إنّنا نفخر بمنتدانا أوفيسنا رمز العطاء ونفخر دائما وابدا بكل من شاركونا تلك السنوات الغائب والحاضر منهم والذين لم يبخلون علينا بما وهبهم الله من معرفة، و أخرون وافته المنية ونتذكره دائما بأعماله ان تكون في ميزان حسناته.
    1 point
  14. قم اخي الكريم بارفاق ملف كمثال لما تريد لان كل ملف يختلف عن الآخر في متطلباته ولكن كنت قد قمت بتنفيذ هذا الطلب لاحد الاخوة من فترة ليست بالقصيرة ولكني لا اتذكر رابط الموضوع ولكن كان له تقريبا نفس طلبك وتم تنفيذه بالطريقة التي حددها ( استخدم زر اضافة حساب ... وشاهد الفورم 2 ) اظن ان بهم ما تريد ... جرب الملف واخبرنا بالنتيجة تقبل خالص تحياتي Copy of المجد1.rar
    1 point
  15. 1 point
  16. بارك الله فيكم أساتذنا الكرام، وشكرا لكم
    1 point
  17. وبعد تعديل الكود من الاستاذ القدير ابو خليك يكون هكذ بنسف الواجه الولى الشكر وكل الشكر للمعلم الفاضل ابو خليل فكان الكود هكذا حسب الترتيب واكرر الشكر الى الاستاذ ابو خليل هو من قام بتعديل الصحيح rst.FindFirst "[pre]='" & list0.Column(0) & "' And [nom]= '" & list0.Column(1) & "'And [Noct]= " & list0.Column(2) برنامج شهادة عائلية .rar
    1 point
  18. السلام عليكم اكسس لا يفرق بينهما لان الاسم واحد ولا بد من شيء ينفرد كل واحد لذا فكرة ابو ياسين صحيحة بحيث يضيف المعرف وبما انه رقمي سيصبح هكذا : rst.FindFirst "[pre]='" & list0.Column(2) & "' And [nom]='" & list0.Column(1) & "'And [Noct]=" & list0.Column(0) وهذا البرنامج بعد التعديل : برنامج شهادة عائلية .rar
    1 point
  19. السلام عليكم ورحمة الله وبركاته معكم المبرمج مناد سفيان من الجزائر اليوم سوف أهديكم ملف جميل جدا أودت أن أشارككم فيها دمتم في رعاية الله و حفظه Excel-Animations.rar
    1 point
  20. وعليكم السلام وأهلا بك صديق فى هذا المنتدى -ولو سمحت لو ممكن ترسل أى ملف تصورى وضع فيه ما تحتاجه لكى يتسنى للأخوة مساعدتك
    1 point
  21. اتفضل عدلت لك التقرير وما فهمت عايز تجميع على حسب الفترة ممكن احد الاخوة بيعطيك المطلوب شوف التقرير هل هو هذا ماتريده عملت كل اجمالي الضريبة في التقرير لا اعلم هل هو صح ام غطاء المهم حسب مافهمت ضريبة الخصم والتحصيل (1).rar
    1 point
  22. السلام عليكم ورحمة الله وبركاته هذا ملف به تكملة العمل الذي قمت به قبل ايام وقد عرضته عليكم بالمنتدى وهذا الملف به الماكروز القديمه والجديده معا مع ترك الاختيار لك عند فتح المصنف ولتكرار السابق مهم جدا قبل فتح الملف ان يتم عمل فولدر في درايف e وتسميته backup وان كنت لا تريد فبعد تصفح الملف سيطلب منك عند الخروخ ان كنت ستريد عمل نسخه احتياطه ام لا اختر لا اما ان انشأت الفولدر اختر نعم 2شرح الماكرو.rar
    1 point
  23. طلب الي احد الاصدقاء وضع كود لادراج رزنامة لسنة محددة وشهر محدد مع تمييز (يوم معيّن) من هذا الشهر فكان هذا الكود الذي ارجو ان يستفيد منه الاخرون قبل تنفيذ الكود الكود: تسمية الصفحة التي تريد العمل عليها بهذا الاسم "Salim_Calendar" اكتب في الخلية B1 رقم السنة في الخلية B2 رقم الشهر في الخلية G1 رقم اليوم المييز الكود Option Explicit Option Base 1 Sub My_Calandar() If ActiveSheet.Name <> "Salim_Calendar" Then Exit Sub Dim t As Date, i As Byte Dim Arab_day(), m% Dim EnG_day(), rows_count As Byte Dim col As Byte Dim r As Byte Dim search_day As Date rows_count = Range("b4").CurrentRegion.Rows.Count + 3 Range("b4:H" & rows_count).ClearContents Range("b5:h10").Interior.ColorIndex = 0 '''''''''''''''''''''''''Conditions for working'''''''''''''''''' If Not IsNumeric([b1]) Or Not IsNumeric([b2]) _ Or [b1] < 1 Or [b2] > 12 Or [b2] < 1 Then MsgBox "Type Valid Numbers in cell(B1) & cell(B2)": Exit Sub End If ''''''''''''''''''''''''' End of Conditions for working'''''''''''''''''' r = 5 t = DateSerial([b1], [b2], 1) '''''''''''''''''''''''''Conditions for Special Day'''''''''''''''''' If Not IsNumeric([g1]) Or [g1] > Day(Application.EoMonth(t, 0)) _ Or [g1] < 1 Then [g1] = 1 Else [g1] = Int([g1]) End If '''''''''''''''''''''''''End of Conditions Special Day'''''''''''''''''' search_day = DateSerial([b1], [b2], [g1]) Arab_day = Array("الأحد", "الإثنين", "الثلاثاء", _ "الأربعاء", "الخميس", "الجمعة", "السّبت") ' EnG_day = Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat") Range("b4").Resize(, 7) = Arab_day m = Weekday(t) + 1 For i = 1 To 31 Cells(r, m) = t If t = search_day Then Cells(r, m).Interior.ColorIndex = 3 Else Cells(r, m).Interior.ColorIndex = 35 End If If Month(t + 1) > [b2] Then Exit For t = t + 1 m = m + 1 col = Cells(r, m).Column If col > 8 Then r = r + 1: m = 2 Next Erase Arab_day End Sub الملف مرفق My_Calendar.xlsm
    1 point
  24. الدرس الحادي عشر: جمل SQL هذا الدرس مخصص لشرح جمل SQL: Create: نستخدم هذه الجملة لإنشاء جدول جديد و طريقة كتابة الجملة كالتلي: Create Table table_name (field1 type_field, field2 type_field); table_name : اسم الجدول المراد إنشاؤه field1, field2 ....: أسماء الحقول type_field : نوع الحقل مثال : الكود التالي يقوم بإنشاء جدول اسمه salah و به حقلين id و nname Dim req As String req = "create table salah (id integer, nname string(12));" DoCmd.RunSQL req نستخدم الكود Docmd.RunSQL من أجل تنفيذ جمل SQL Drop: نستخدم هذه الجملة لحذف جدول معين و طريقة كتابة الجملة كالتلي: Drop Table table_name; table_name : اسم الجدول مثال : الكود التالي يقوم بحذف جدول اسمه salah Dim req As String req = "Drop Table salah;" DoCmd.RunSQL req Alter: نستخدم هذه الجملة للتعديل على تصميم جدول معين بإضافة حقول جديدة أو حذف حقول موجودة و طريقة كتابة الجملة كالتلي: Alter Table table_name Add Column new_field type_field; table_name : اسم الجدول new_field: اسم الحقل الجديد type_field: نوع الحقل الجديد مثال1 : الكود التالي يقوم بإضافة حقل جديد اسمه adress في جدول salah Dim req As String req = "Alter Table salah Add Column adress string;" DoCmd.RunSQL req مثال2 : الكود التالي يقوم بحذف حقل اسمه adress في جدول salah Dim req As String req = "Alter Table salah Column Drop adress;" DoCmd.RunSQL req Select: نستخدم هذه الجملة لاستخراج مجموعة سجلات من جدول معين (استعلام) و طريقة كتابة الجملة كالتلي: Select * table_name Where condition; table_name : اسم الجدول *: تعني اظهار جميع الحقول و يمكن كتابة بعض الحقول في مكانها condition: الشرط الذي يوضع لاستخراج السجلات مثال : الكود التالي يقوم بإستخراج السجل الذي رقمه (ID) يساوي 3 في جدول salah Dim req As String req = "select * from salah where id=3;" Me.RecordSource = req السطر الأخير معناه نجعل مصدر السجلات لنموذج الحالي هو الاستعلام req Delete: نستخدم هذه الجملة لحذف مجموعة سجلات من جدول معين و طريقة كتابة الجملة كالتلي: Delete table_name Where condition; table_name : اسم الجدول condition: الشرط الذي يوضع لاستخراج السجلات مثال : الكود التالي يقوم بحذف السجل الذي رقمه (ID) يساوي 3 في جدول salah Dim req As String req = "Delete From salah where id=3;" DoCmd.RunSQL req Insert: نستخدم هذه الجملة لإضافة سجل جديد إلى جدول معين و طريقة كتابة الجملة كالتلي: INSERT INTO table_name ("column1", "column2", ...) VALUES ("value1", "value2", ...) مثال : الكود التالي يقوم بإضافة سجل جديد لجدول salah Dim req As String req = "insert into salah1 (id, nname) values (11,'أوفيسنا');" DoCmd.RunSQL req Update: نستخدم هذه الجملة لتغيير قيمة سجل في حقل معين لجدول ما و طريقة كتابة الجملة كالتلي: Update table_name Set field='value' Where condition; مثال : الكود التالي يقوم بتعديل قيمة الحقل nname إلى 'محسن' في السجل الذي رقمه (id) 3 بالجدول salah Dim req As String req = "update salah set nname='محسن' where id=3;" DoCmd.RunSQL req
    1 point
  25. الدرس العاشر: دوال تجميع المجال هذا الدرس مخصص لشرح دوال تجميع المجال: DAvg: تستخدم هذه الدالة من أجل استخراج القيمة المتوسطة لمجموعة سجلات بحقل معين في جدول. DAvg(field, table, condition) field: اسم الحقل المراد حساب قيمته المتوسطة table: اسم الجدول الذي به الحقل condition: الشروط أو المعايير و هي اختيارية و ليست ضرورية DCount: تستخدم هذه الدالة لحساب عدد الجلات في جدول معين. DCount(field, table, condition) DFirst: تستخدم هذه الدالة لاستخراج السجل الأول في جدول معين. DFirst(field, table, condition) DLast: تستخدم هذه الدالة لاستخراج السجل الأخير في جدول معين. DLast(field, table, condition) DLookUp: تستخدم هذه الدالة لاستخراج قيمة حقل معين من جدول ما. DLookUp(field, table, condition) DMax: تستخدم هذه الدالة لاستخراج القيمة القصوى لحقل معين في جدول ما. DMax(field, table, condition) DMin: تستخدم هذه الدالة لاستخراج القيمة الدنيا لحقل معين في جدول ما. DMin(field, table, condition) DStDev: تستخدم هذه الدالة لاستخراج الانحراف المعياري لمجموعة سجلات بحقل معين في جدول ما. DStDev(field, table, condition) DSum: تستخدم هذه الدالة لحساب مجموع قيم مجموعة سجلات بحقل معين في جدول ما. DSum(field, table, condition)
    1 point
  26. السلام عليكم برنامج رائع جدا يفيد الموضوع 100/100 Hotel Reservation Daily (ADVANCED EXCEL).zip
    1 point
  27. الدرس التاسع: دوال الرياضيات السلام عليكم. نعود بعد مدة من الإنقطاع لنكمل ما بدأناه من هذه الدروس. هذا الدرس مخصص لشرح دوال الرياضيات: Abs: تستخدم هذه الدالة من أجل استخراج القيمة المطلقة لعدد. Abs(«رقم») Abs(-10)=10 Abs(10)=10 Cos: تستخدم هذه الدالة لاستخراج جيب تمام الزاوية. Cos(«الزاوية») pi = 3.14159265358979 Cos(pi/3)=0.5 ملاحظة: قيس الزاوية يكون بالراديان 3.14159265358979 rad = 180° Sin: تستخدم هذه الدالة لاستخراج جيب الزاوية. Sin(«الزاوية») pi = 3.14159265358979 Sin(pi/6)=0.5 Tan: تستخدم هذه الدالة لاستخراج ظل الزاوية. Tan(«الزاوية») pi = 3.14159265358979 Tan(pi/4)=1 Exp: تستخدم هذه الدالة لارجاع عدد مزدوج يحدد قيمة أساس اللوغاريتم الطبيعي مرفوع لقيمة معينة. Exp(«رقم») Exp(10)=22026.4657948067 Int: تستخدم هذه الدالة لاستخراج الجزء الصحيح من عدد. Int(«رقم») Int(4.51) =4 Sqr: تستخدم هذه الدالة لحساب الجذر التربيعي لعدد. Sqr(«رقم») Sqr(16)=4 Log: تستخدم هذه الدالة لحساب اللوغاريتم الطبيعي لعدد. Log(«رقم») Log(10)=2.30258509299405 Rnd: تستخدم هذه الدالة لتوليد رقم عشوائي من نوع مفرد. Rnd(«رقم») Rnd(2)=0.7671117 Rnd(2)=0.05350453 Round: تستخدم هذه الدالة لتقريب عدد عشري إلى عدد محدد من الفواصل العشرية. Round(«الدقة», «الرقم») Round(12.364,1)=12.4 Round(12.364,2)=12.36 Sgn: تستخدم هذه الدالة لإرجاع عدد صحيح يشير إلى رقم العدد. بحيث: يعيد 1 إذا كان العدد أكبر من الصفر (0) يعيد 0 إذا كان العدد يساوي الصفر (0) يعيد -1 إذا كان العدد أصغر من الصفر (0) Sgn(«رقم») Sgn(12)=1 Sgn(0)=0 Sgn(-3)=-1 Fix: تستخدم هذه الدالة لإرجاع الجزء الصحيح لعدد. Fix(«رقم») Fix(12.56)=12
    1 point
  28. الدرس الثامن: دوال الرسائل هذا الدرس مخصص لشرح دوال الرسائل: MsgBox: تستخدم هذه الدالة من أجل عرض رسالة في مربع حوار. MsgBox (سياق, ملف التعليمات, العنوان, أزرار , النص) النص: (مطلوب) هو نص الرسالة التي ستعرض في مربع الحوار أزرار: (اختياري) هو تعبير رقمي يحدد نوع الازرار التي يجب ان تعرض العنوان: و يمثل عنوان مربع الحوار ملف التعليمات:(اختياري) تعبير سلسله يعرف ملف التعليمات لتوفير تعليمات تتبع للسياق لمربع الحوار. اذا تم توفير ملف التعليمات ، يجب ايضا توفير سياق . سياق: (اختياري) تعبير رقمي يمثل رقم محتوي التعليمات المعينه الي موضوع "التعليمات" الملائمه حسب الكاتب التعليمات. اذا تم توفير سياق ، يجب ايضا توفير ملف التعليمات . وضعيات الوسيطة أزرار: 0 عرض زر موافق فقط. 1 عرض الأزرار موافق و إلغاء الأمر . 2 عرض الأزرار إحباط + حاول مره أخري + تجاهل . 3 عرض الأزرار نعم + لا + إلغاء الأمر . 4 عرض الأزرار نعم + لا . 5 عرض الأزرار إعاده المحاوله + إلغاء الأمر . 16 عرض أيقونة رساله هامه . 32 تعرض أيقونة التحذير و الإستعلام . 48 عرض رمز رساله تحذير . 64 عرض رمز رساله معلومات. 0 الزر الأول هو الإفتراضي. 256 الزر الثاني هو الإفتراضي. 512 الزر الثالث هو الإفتراضي. 768 الزر الرابع هو الإفتراضي. 4096 نظام مشروط؛ يتم تعليق كافه التطبيقات حتي يستجيب المستخدم ل# مربع الرساله. 16384 إضافه الزر تعليمات إلي مربع الرساله 65536 يحدد إطار مربع الرساله كإطار المقدمه 524288 تتم محاذاه النص لليمين 1048576 يحدد يجب أن يظهر النص اليمين إلي اليسار للقراءه علي الأنظمه العربيه مثال: MsgBox "السلام عليكم", 3, "مرحبا" InputBox: يعرض مطالبة في مربع حوار و تنتظر قيام المستخدم بإدخال نص أو النقر فوق زر، و ترجع سلسلة تحتوي علي محتويات مربع النص. InputBox(«افتراضي»; «العنوان»; «مطالبة»; «xpos»; «ypos»; «helpfile»; «context») مطالبة : (مطلوب) عرض الرسالة في مربع الحوار العنوان: (اختياري) و يمثل عنوان مربع الحوار افتراضي: (اختياري) . عرض النص الإفتراضي في مربع النص. إذا حذفت الإفتراضي، يتم عرض مربع النص فارغ. xpos: (اختياري). تعبير رقمي يحدد، بوحده التويب المسافة الأفقية بين الحافة اليمني لمربع الحوار من الحافة اليسري للشاشة. ypos: (اختياري) تعبير رقمي يحدد، بوحده التويب، المسافه العمودية بين الحافة العلوية لمربع الحوار من أعلي الشاشة. ملف التعليمات:(اختياري) تعبير سلسله يعرف ملف التعليمات لتوفير تعليمات تتبع للسياق لمربع الحوار. اذا تم توفير ملف التعليمات ، يجب ايضا توفير سياق . سياق: (اختياري) تعبير رقمي يمثل رقم محتوي التعليمات المعينه الي موضوع "التعليمات" الملائمه حسب الكاتب التعليمات. اذا تم توفير سياق ، يجب ايضا توفير ملف التعليمات . مثال: Dim str As String str = InputBox("ادخل اسمك", "الاسم")
    1 point
  29. if date = #12/06/2016# then DoCmd.RunSQL "DELETE bill.id FROM bill;" end if هذا كود التأكد من تاريخ معين تفضل اخي الكريم مرفق فيه نموذجين 1- flash يعطيك الرقم التسلسلي للفلاشة قم بنسخ الرقم ووضعه في الشرط الموجود في النموذج الثاني 2-hi تستخدم هذا النموذج كنموذج ترحيب في برنامجك يفتح تلقائيا عند تشغيل البرنامج يقوم هو بفتح بمقارنة الرقم التسلسلي للفلاشة فاذا كان صحيحا تم الدخول الى البرنامج او يقوم باغلاق البرنامج قاعدة البيانات1.rar
    1 point
  30. السلام عليكم اخي الكريم اذا كنت تريد برنامج جهاز أو أن يقوم أحد بتصميمه لك فبإمكانك المشاركة في قسم اعلانات الاعضاء أما ان كنت تريد تصميم البرنامج بنفسك فإبدأ على بركة الله وإن شاء الله ستجد الدعم و المشورة والنصيحة في المنتدى
    1 point
  31. مرحب اخى عبد الرحمن وتشرفنا مشاركتك والحمد لله ان تم مطلوب اخينا الكريم بالتوفيق اخى الكريم
    1 point
  32. الاخ عبد الله مشكورا لك مجهوداتك ولكن هل يمكن عمل الاتى ماذا لوكان ههناك تكرار لرقم الفايل بمعنى ان رقم الفايل كان موجود مرتين كما ارفقت لك فى الشيت فهل يمكن عند عمل بحث تظهر البيانات الخاصه باول رقم مكتوب ثم يكون هناك زر داخل الفورم يسمى التالى عند الضغط عليه يتم ظهور البيانات الخاصه بالرقم المكرر التالى وهكذا ام ماذا يكون تصورك انت لحل هذه المشكلهPAY HOTEL-12.rar
    1 point
  33. الاخوه الكرام في بعض الاحيان نقوم بتصميم برامج على الاكسيل ولا نحتاج الى تصفح الملف لان العمل ينفذ بالكامل من خلال الفورم ولا ننسى ان المنظر الجمالي للبرنامج يكون بشكل ارقى بكثير حينما يظهر الفورم فقط المرفق المرسل هو ملف دليل الهاتف الذي ارسلته منذ عشرة ايام تقريبا ولكني فضلت ان يكون في موضوع منفصل حتي يتيح للجميع التعرف على كيفية اخفاء الملف بالكامل * في حال انك رغبت في اظهار الملف ،ستجد في اسفل الفورم من الجهه اليسرى زر امر بدون عنوان ارجوا المعذره ان كانت الفكره قديمه او مطروحه من قبل ، لكنني شخصيا لم اعلمها الا اليوم PHONE BOOK.rar
    1 point
  34. أخي الحبيب / هاني إسمح لي أن أشكرك بشكل خاص على حماسك الرائع وتفاعلك الكبير مع الفكرة وأتمنى أن يوفقنا الله جميعاً مع كل من يرغب بالمشاركة ونرحب به بكل تأكيد ، وأتمنى أن نبدأ هذا العمل ونتابع فيه إلى أن نصل به لمشروع متكامل إن شاء الله تعالى . أخي الحبيب أمعنت التفكير في كلامك وأفكارك الرائعة وما شاء الله كلام كله موزون وعلى الأصول بحق وهذا جعلني أتفائل وأتحمس أكثر وإليك أخي الحبيب نواة ممكن أن تكون البداية ولعلها تكون مناسبة لما اقترحته من التركيز في البداية على معالجة المخزون والتعامل مع المواد فإليك وإلى كل إخواني هذا البرنامج المتواضع الذي إنتهيت منه قبل أكثر من عام لذا من المؤكد سيكون به بعض القصور في جانب بعض الأفكار التي استخدمتها في مواضيع أخرى لاحقة له حيث أنني أؤكد أنني لم أضيف عليه أي شيء منذ أكثر من عام ولكن أكيد لدي الكثير من التحسينات إن شاء الله سنعمل عليها معاً في إطار أفكاركم جميعاً ، وهذا البرنامج مبني على فكرة وملف سبق أن قدمهم أخي الحبيب خبور قبل أكثر من سنة لفاتورة صرف مواد مع الترحيل وقد قمت ببناء العمل على نفس الملف مع بعض الإضافات منها طريقة البحث عن الأصناف في أذون الصرف والإضافة والتي استخدمت بها فورم للبحث إضافة إلى طريقة تعريف الأصناف والمجموعات وباقي التعريفات .. الخ ، ولن أطيل عليكم وسأترككم تكتشفوا الموضوع بأنفسكم ولكن على الأقل يجب أن أعطيكم إسم المستخدم وكلمة المرور وهي واحدة 123 لإسم المستخدم وكلمة المرور . تقبلوا تحياتي مع تمنياتي لكم جميعاً بالتوفيق . أبو عبدالله WAREHOUSE-1 - UN AND PW 123.rar
    1 point
×
×
  • اضف...

Important Information