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

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

  1. Shivan Rekany

    Shivan Rekany

    الخبراء


    • نقاط

      18

    • Posts

      3,491


  2. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      6

    • Posts

      9,814


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

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

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


    • نقاط

      5

    • Posts

      13,165


  4. أبوعيد

    أبوعيد

    الخبراء


    • نقاط

      3

    • Posts

      1,541


Popular Content

Showing content with the highest reputation on 26 ينا, 2017 in all areas

  1. الدرس الثالث: الدالة Select Case تشبه الدالة Select Case إلى حد كبير الدالة If و لكنها تختلف عنها بالتعدد أي أنها تكون في الشروط المتعددة. طريقة الاستعمال: الصيغة الأولى: Select Case Expression Case Expression_1 Statement_1 Case Expression_2 Statement_2 Case Expression_n Statement_n End Select تقوم الدالة Select Case باختبار حالة الكائن أو المتغير Expression و مقارنتها أو مطابقتها مع الحالات الموجودة بداخلها. و عند تحقق الشرط مع إحدى الحالات يقوم البرنامج بتنفيذ التعليمة Statement التابعة لهذه الحالة. و عند عدم مطابقة الكائن أو المتغير لجميع الحالات فإن البرنامج لا يعطينا أي نتيجة. مثال1: كتابة الأرقام من 1 إلى 4 بالحروف Select Case me.le_nombre Case 1 Me.y = "واحد" Case 2 Me.y = "إثنان" Case 3 Me.y = "ثلاثة" Case 4 Me.y = "أربعة" End Select أضفنا مربع نص اسمه le_nombre لإدخال الأرقام و مربع نص اسمه y من أجل ظهور النتيجة. الصيغة الثانية: Select Case Expression Case Expression_1 Statement_1 Case Expression_2 Statement_2 Case Expression_n Statement_n Case Else Other_statement End Select في هذه الصيغة عند عدم تحقق الشرط مع جميع الحالات يتم إرجاع التعليمة الإستثنائية Other_statement مثال2: نفس المثال الأول Select Case me.le_nombre Case 1 Me.y = "واحد" Case 2 Me.y = "إثنان" Case 3 Me.y = "ثلاثة" Case 4 Me.y = "أربعة" Case Else me.y = "هذا الرقم غير موجود" End Select هذا عندما نضيف أي رقم يختلف عن 1 أو 2 أو 3 أو 4 يطبع لنا "هذا الرقم غير موجود" مثال 3: برنامج كتابة ملاحظات التلاميذ حسب الدرجة Select Case Me.Degre Case 0 To 30 Me.y = "ضعيف" Case 30 To 49 Me.y = "دون الوسط" Case 50 To 69 Me.y = "مقبول" Case 70 To 89 Me.y = "جيد جدا" Case 90 To 100 Me.y = "ممتاز" Case Else Me.y = "هذه الدرجة خاطئة" End Select هنا إستخدمنا To معناه إلى مثلا: من 0 إلى 30
    2 points
  2. السلام عليكم يا رجال ، وآخر شعرتين على راسي طاحوا من كثرة ما حكّيت راسي بحثا عن طريقة حل ، والسبب كنت انت الحمدلله توصلنا لحل في شغله مهمة جعلتني ارجع للموضوع واشارك هنا ، قبل ان يتورط اخي شفان فيها وما يعرف سبب عدم حصوله على نتائج صحيحه للفصلين 3 و 4 ، وهي: انت تأخذ اسماء الفصول من الجدول (كما هو موضح بالصورة) ، وتسلسل اسماء الفصول صحيح ، ولكن تسلسل ارقام الفصول غير صحيح (الفصلين الثالث والرابع): . لذلك ترى اني في الكود في النموذج اشرت الى هذه الملاحظة: . واضطررت الى تغيير الكود وتعديل التسلسل في التقرير ، للحصول على الاشهر الصحيحة ، لأننا في الكود عملنا (For i = 1 To 4) لقراءة كل فصل ، واستعملنا الارقام كرقم الفصل: . الآن اطلب منك أخي سامي لوسمحت ان ترفق لنا برنامجك لموضوع التقرير فقط ، ولمادة العلوم، ولكن بعد ان: تحذف جميع البيانات الحساسة ، تحذف جميع بيانات التخصصات الاخرى ، تعمل بيانات وهمية للفصول الاربعة ، لكلية العلوم ، قسم الكيمياء ، تخصص الكيمياء العضوية ، تحذف جميع الجداول والتقارير والاستعلامات التي لا علاقة لها بالموضوع التقرير ، اعمل تغيير لنوع الخطوط في التقرير الى Arial ، حتى لا يكون في التقرير خطوط غير موجودة على كمبيوتراتنا. يعني الشخص لما يفتح البرنامج يستطيع ان يرى اسم شخص او اثنين ، ونتائج المواد في الفصول ، وبالتقرير يستطيع ان يرى نتائج الفصول مع بعض ، وكل فصل على حدة ، وياريت كلمتين تشرح فيها ان المستخدم يجب ان يختار كذا ثم كذا ، والنتجة ستكون كذا شكرا وملاحظة للجميع ، بأن هذا الموضوع هو تكملة للموضوع: جعفر
    2 points
  3. أخي العزيز / أبو حنين أولا : المعادلة السابقة فيها خطأ وهي خاصة بالورقة (cairo) وأما الصحيحة هي : =SUMPRODUCT(--(INDIRECT(CONCATENATE(N1;"!";"B4:B10"))=N2)*(INDIRECT(CONCATENATE(N1;"!";"D4:D10"))=H19);(INDIRECT(CONCATENATE(N1;"!";"G4:G10")))) ثانياً : شرح المعادلة تم استعمال دالة (CONCATENATE) من عمل مرجع من اسم الورقة المأخوذ من الخلية (N1 )حيث كلما تغير اسم الورقة سوف تتغير في المعادلة تبعاً لذلك وكذلك مرجع النطاق الذي سنحتاج إليه في الدالة (SUMPRODUCT ) والنطاق الأول ("B4:B10") والثاني ("D4:D10") والثالث ("G4:G10") ويوضع بين علامتي تنصيص وأيضا قبله علامة التعجب ("!") الفاصلة بين اسم الورقة والنطاق ويمكن الاستغناء عن الدالة (CONCATENATE ) بعلامة العطف (&) لتقوم بنفس العمل حيث تصبح المعادلات هكذا =CONCATENATE(N1;"!";"B4:B10") =CONCATENATE(N1;"!";" D4:D10") =CONCATENATE(N1;"!";" G4:G10") ثم تم استعمال الدالة (INDIRECT) والذي تستخدم للإشارة إلى مرجع معين وهو هنا المرجع الذي تم عمله في المعادلة السابقة لتصبح المعادلات هكذا = INDIRECT(CONCATENATE(N1;"!";"B4:B10")) = INDIRECT(CONCATENATE(N1;"!";" D4:D10")) = INDIRECT(CONCATENATE(N1;"!";" G4:G10")) ومن ثم استعمال الدالة (SUMPRODUCT ) للحصول على النتيجة حيث تم استعمال شرطين الشرط الأول وهو المرجع ("B4:B10") الذي يمثل عمود الرقم المساوي لرقم الموظف في الخلية (N2) الشرط الثاني وهو المرجع ("D4:D10") الذي يمثل عمود اسم التدريب المساوي لاسم التدريب في الخلية (H19) ويتم الفصل بينهما بعلامة الضرب (*) والذي تعمل عمل دالة (AND) المستعملة مع دالة (If) مثلا أو غيرها ويمكن استعمال علامة ( + ) وهي بمثابة (OR) وأما علامة الفاصلة المنقوطة ( ; ) توضع هنا قبل النطاق المراد إرجاع النتيجة منه وهو هنا ("G4:G10") وبالتالي حصلنا على المعادلة المطلوبة إن شاء الله أكون وفقت في شرح المعادلة
    2 points
  4. لا اخي في نفس الاستعلام وفي عمود العمر وفي نفس الصف اللي احنا كتبنا الكود راح تكتب اكبر من 30 30<
    1 point
  5. ارفع قاعدة بياناتك مصغرة لكي نتم العملية عليه لكن راح اشوفه ان شاء الله بعد يوم الجمعة
    1 point
  6. ما فهمت قصدك بالتمام هل من الممكن ان تنطيني فكرة اوضح
    1 point
  7. تفضل جمع الدرجة 1 إذا كانت الفئة الأولى فقط =DCount("*","S_Employees","[RMZ]='1' and [Number]='1'") جمع الدرجة 2 كل الفئات عدا الفئة الأولى =DCount("*","S_Employees","[RMZ]='2' and [Number]<>'1'") جعفر
    1 point
  8. المطلوب عند الضغط علي السهم العلوي يتم كتابة العدد( 1 ) داخل خانة Alarm وعند تكرار الضغط في كل مرة يزيد بمقدار (1) وإذا قمنا بكتابة أي عدد داخل Alarm وضغطنا علي السهم العلوي يزيد علي هذا الرقم (1) وهكذا وذلك أيضاً بالنسبة للسهم السفلي فعند الضغط عليه يتم إنقاص العدد المكتوب داخل خانة Alarm بمقدار (1) وعند تكرار الضغط في كل مرة يتم إنقاص العدد (1) حتي يصل إلي العدد صفر ويتوقف عند ذلك . وإذا قمنا بكتابة أي عدد داخل Alarm وضغطنا علي السهم السفلي يتم إنقاص هذا الرقم بمقدار (1) وهكذا ملحوظة ( نبدأ من الواحد عند زيادة الأعداد حتي ما لانهاية ) و (ننتهي عند الصفر عند نقص الأعداد) وأخيرأ عند الضغط علي حفظ يتم حفظ قيمة Alarm داخل الجدول ولا يتم الحفظ التلقائي الا بعد الضغط علي زر حفظ زيادة ونقص الأعدد بمقدار 1.rar
    1 point
  9. أخى الكريم بداية أهلا وسهلا بك فى منتديات أوفيسنا التعليمية ثانيا : يرجى تغيير اسم الظهور الى اللغة العربية طبقا لقواعد المنتدى ثالثا : أتمنى أن توضح لى شيئا مهما الترحيل أمره يسير بإذن الرحمن ، وان كنت بحثت بالمنتدى كنت ستجد ضالتك وأكثر لكن انت ارفقت ملفين ( أحدهما به عدد ( 2 ) نموذج لفاتورة والآخر تقريبا شيت مجمع للمبيعات وإن كان عدد الأسطر به قليل تقريبا ( 45 ) صف فهذا شىء يخصك ارى ان تضم نموذج الفاتورة الذى ترغب به الى الملف الآخر الذى به شيت التجميع للمبيعات وأن توضح بمثال عملي كل خليةة بالفاتورة الى اين ترحل بشيت يومية المبيعات أى المثال تكتبه بالفاتورة وتقوم يدويا بتسجيل نفس المثال بالشيت الآخر وتقبل منى وافر الاحترام والتقدير
    1 point
  10. ارفق بعض النتائج المتوقعة ..ونظم أفكارك
    1 point
  11. هنا لوسمحت ، وسأشير في الرابط السابق الى هذا الرابط
    1 point
  12. اخي الكريم كما قلت لك احذف كود الحفظ وخليها اللي في مشاركتي السابقة On Error Resume Next DoCmd.GoToRecord , , acNewRec واكتب اي شي حين تضغط على حفظ راح يعطيك رسالة واحدة فقط او اذا تغلق النموذج هم راح ينطيك رسالة واحدة جرب ووافيني بالنتيجة
    1 point
  13. شكرا يا استاذي الحبيب ابو حسين حتى الان الوقت ما سمحت لي لكي اشوفه لان انا كان مشغول للرد على الاسئلة الاخرى في المنتدى واخي الفضل سامي الضالعي قلت حليت المشكلة لذا قلت خلي بيكون بعد اجاوب على المواضيع اخرى والحمد لله انت عملت مشاركة وما ضيعت وقتي
    1 point
  14. قبل ان نبدأ قل لي هل انا فهمت بصح ام لا حين تختار رقم الصنف مثلا ان يجيبك في حقل اسم الصنف اي اسم بيكون يساوي مع رقم الصنف مع تقدير
    1 point
  15. ما فهمت قصدك "للنوت 64" اخي العزيز كريمو ما عملت شي انا استوردت ثلاث وحدات نمطية من برامج اخر لاستاذتنا ام عهود وكتبنا في زر التصغير هذا الكود Call fSetAccessWindow(0) Dim strPicPath As String 'strPicPath = Application.CurrentProject.Path & "\" & "access.ico" Call sHookTrayIcon(Me.hwnd, "Aziz", strPicPath) مع تقدير
    1 point
  16. كون معي اولا حذفنا الارتباط تبعك وثانيا عملنا استعلام بهذا الشكل لنموذج فرعي وكتبنا كود بداخله لكي يتم عرض جميع الاسماء او يظهر اللي اللي في كومبوبوكس فقط شوف الصورة وشوف نموذج الفرعي ذاك الاستعلام هو مصدر بياناته و عملنا استعلام داخلي لكومبوبوكس وبها حقلين حقل الاسم و حقل اي دي شوف الصورة ولانه استعلامن بها حقلين كتبنا رقم 2 كما مبينة في الصورة الادناه و في حدث بعد تحديث لكومبوبوكس كتبنا كود اللي في صورة ادناه جزء الاول لكود بيبحث في نموذج رئيسي والجزء الثاني بيعمل ريكويري لنموذج فرعي مع تقدير
    1 point
  17. يا اهلا بك من جديد اخي الحبيب ممكن توضح ما تريد اكثر و ترفق نسخة مصغرة بها مطلوبات لكي نتم العملية عليه مع تقدير
    1 point
  18. يا شيخ روح الله يوفقك ويسهل امرك انت ومحمود شكرالكم جميعا كذا تمام
    1 point
  19. جرب الكود في حدث ورقة العمل Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.CountLarge > 1 Then Exit Sub If Target.Column = 1 Then Dim sh As Worksheet, Found Set sh = Sheets("DATA") Application.ScreenUpdating = False Application.EnableEvents = False On Error GoTo Skipper Found = Application.Match(Target.Value, sh.Columns(1), 0) Target.Resize(1, 4).Value = sh.Cells(Found, 1).Resize(1, 4).Value Skipper: Application.EnableEvents = True Application.ScreenUpdating = True End If End Sub
    1 point
  20. كما قلت سابقا عندي ملف لاستاذتنا زهرة اذا تريد راح ارفعه هنا شوف اخي بدل تاريخ الولادة او نوع الجنس او اسم المحافظة بعدين حين تدخل الرقم القومي راح يقولك هل الرقم خطأ ام صحيحة مع تقدير za-MakeSureTheDataIsCorrect.rar
    1 point
  21. مرحبا اخي جعفر ربنا يفتح لك اوسع ابواب رزقه ويكرمك ويسعدك في الدنيا والاخرة ويبارك لك في رزقك ويجعل الزبائن عليك زي المطر ويرزقك رزق كثير سهل حلال مبارك فيه جزاك الله خير بالنسبة لملاحظتك (الخطأ الوحيد الذي لاحظته هو عند اختيارك الفصل ، فان المواد الصحيحة لا تظهر!!) الخطاء ليس من عندك الخطاء عندي وقد تم اصلاح المشكلة الصورة المرفقة توضح ذلك شكرا لك ياامير وشكرا للاخ شفان
    1 point
  22. تفضل تواريخ متوالية ثابتة2.rar
    1 point
  23. السام عليكم المرفق "تقريبا" فيه المطلوب ، الخطأ الوحيد الذي لاحظته هو عند اختيارك الفصل ، فان المواد الصحيحة لا تظهر!! اتمنى الاستاذ شفان يقدر يصلحه ، لأني لازم انتقل لمشروع آخر جعفر 533.2.db5.mdb.zip
    1 point
  24. فكرة بسيطة : استعلام عن كافة تواريخ هذا المنتج مصحوبة السعر وترتيب التاريخ تنازلياً مع وضع شرط أن التاريخ يكون أصغر من أو يساوي القيمة المكتوبة في النموذج فتكون النتيجة أن يأتيك الاستعلام بالمنتج في تواريخ تنازلياً وكل ما علينا أن نأخذ أول سعر في أول سجل المرفق به تعديل يستخدم عند اختلاف المنتج بس عندي سؤال لك : وين تسجيل اعجابك بهذا الرد ؟ تحديد السعر3.rar
    1 point
  25. طيب شوف الكود المرفق يؤدي نفس النتيجة لكن طويل شوية تحديد السعر2.rar
    1 point
  26. لكي تكدر ترفع الملفات لازم بيكون صيغة zip او rar او jpg او gif او bmp او png استخدم برامج زيب او رار لضغط الملف وبعدين ارفع هنا وراح يتم القبول ان شاء الله و من شان قاعدة بياناتك لازم بيكون بين ذاك الجدولين بها حقل مشترك مثلا حقل ID ولجدول حسابات المشروع خلي حقل ID ترقيم تلقائي والجدول الاخر بخاصية نمبر وروح الى علاقات واختر جدولين حقل ID ب حقل ID واعطي علامة صح مقابل ثلاث مربعات الاسفل الشاشة العلاقات واذا ما فهمت بعد راح اشرح لك بالصور ان شاء الله مع تقدير
    1 point
  27. السلام عليكم ورحمة الله وبركاته هل تريد ان تشتخرج البيانات منه مثل المواليد و نوع الجنس ؟ او تريد تتأكد هل هذا الرقم صحيح ام لا ؟
    1 point
  28. أخي العزيز القائمة الموجودة على اليسار صحيحة ولا تحتاج أي فرز اكتب في اليسار جميع الموظفين والدالة الموجودة ستحسب إجمالي المكافأة تحياتي
    1 point
  29. اسمحولى اشارك بهذه المريفقة الصغيرة مع العلم انه ينقص المعادلة تجميع المكافأة كلها لكل موظف احصائية من نوع مختلف.rar
    1 point
  30. ارفق ملف لتجد المساعدة من إخوانك بشكل أفضل ويفضل أن يكون نموذج مصغر من الملف الأصلي ..
    1 point
  31. عندي قاعدة بيانات على ذلك لاختنا زهرة عبدالله في منتدى فريق العربي للبرمجة اذا بيسمحون لنا او تريدون راح ارفعه هنا لكن كما قال استاذنا ابو خليل لكل دولة بها ضوابطه خاص وذاك القاعدة البيانات خاص بالمصر مع تقدير
    1 point
  32. وعليكم السلام البطء في الاستعلام . 1. انت تستخدم امر VBA في SQL ، مما يبطئ العملية ، 2. من المعروف ان Dlookup (كذلك امر VBA) بطيئ ، وانت محظوظ ان بياناتك قليلة ، وإلا فالبطء سيكون اكثر ، 3. انت تنتظر الحقل SumOfin و SumOfOut ليحصلوا على نتائج الجمع ، ثم تأخذ النتائج منهم وتطرحهم من بعض. والتعديل: . إضافة الجدول Item Names الى الاستعلام ، 1. تم تغيير الامر الى احد اوامر SQL وهو is Null (وليس IsNull امر VBA) ، 2. لسنا بحاجة الى اي معادلة ، لأننا جلبنا الجدول الى الاستعلام ، ثم وضعنا الحقل Products في الاستعلام مباشرة ، 3. نقوم بعملية الجمع مباشرة في الحقل جعفر
    1 point
  33. وعليكم السلام أهلا بك أهي في هذا المنتدى الرجاء إرقاق الملف للعمل عليه
    1 point
  34. اريد كود للبحث عن الخلية وتلوينها مع بقاء اللون عند الانتقال للبحث عن خلية اخري
    1 point
  35. السلام عليكم ورحمة الله تفضل اخى الكريم ادرج هذا الكود فى موديول جديد وخصص له زر فى شيت نموذج كشف المصروفات Sub Transfer() x = Range("C2").Value y = Range("C3").Value Z = Range("C4").Value A = Range("G31").Value With Sheet2 LR = .Cells(Rows.Count, "C").End(xlUp).Row + 1 .Range("B" & LR) = x .Range("C" & LR) = y .Range("D" & LR) = Z .Range("E" & LR) = A End With End Sub
    1 point
  36. الحمد لله الذي بنعمته تتم الصالحات بوركت أخي العزيز سامح طاهر .. تقبل تحياتي
    1 point
  37. أخي العزيز سامح لم تحدد في أي سطر ظهر الخطأ . عند حدوث خطأ تظهر رسالة فيها كلمة Debug انقر عليها ليتم تحديد السطر الذي به الخطأ باللون الأصفر عموماً أعتقد أن المشكلة في الكود هي استخدامك للفاصلة المنقوطة في المعادلة ..جرب تغيرها إلى فاصلة عادية وشوف هتظبط معاك أو لا .. أمر آخر علامات التنصيص في المعادلة توضع بين علامتي تنصيص أخرى لتصبح بهذا الشكل """" تقبل تحياتي
    1 point
  38. انسخ هذا الماكرو و ضعة في حدث الصفحة general حدد الخلية B6 , وقم بتنفيذ الماكرو Sub sum_macro() Range("B6").Select Selection.FormulaR1C1 = _ "=IF(OR(RC[1]<>"""",RC[2]<>""""),R[-1]C-RC[1]+RC[2],"""")" Selection.AutoFill Destination:=Range("B6:B65536") Range("B6").Select End Sub
    1 point
  39. جزاك الله خيرا اخى الاستاذ / على حسن وجزاك الله خير الجزاء استاذنا / عباد مرفق ملف به الكود ويعمل على جميع الصفحات الاستاذ على حسن.rar
    1 point
  40. إخوتي الفضلاء أخي الحبيب أبو خليل أرفق لكم ما فتح الله به عليّ ، مما أدركت من طلبك أخي الحبيب (آملاً أن أكون قد أحسنت الفهم عنك) أهم ما في المسألة الإلتزام بما أسلفت ذكره في المشاركة 6 من تأكيد على تنسيق وأتمتة إسم الملف. وفي المرفق نسخة من مجلد الملفات لإعادة النسخ في المجلد xx . جرِّب ووافني بالنتيجة ........ والله من وراء القصد ................ NA_DeleteFiles.rar
    1 point
  41. اخي العزيز بعد اطلاع سريع ساقول لك ملاحظاتي الاولية - قاعدة البيانات محصورة فقط في جدولين والافضل ان تنشئ قاعدة بيانات متكاملة فمثلا لماذا لم تنشئ جدول لترميز الدوائر فقد لاحظت انك انشأت حقل باسم رمز الدائرة والى جواره حقل اسم الدائرة وكذا انت بحاجة الى جدول ترميز الكتب وكذلك كان بامكانك الاكتفاء بجدول واحد يضم بيانات الصادر والوارد مع اضافة حقل لتحديد النوع (هذه الملاحظة يمكنك الاخذ بها او تجاهلها لان تصميم القاعدة بالذات من اختصاص معد البرنامج وهو الادرى) - مثلا عند النقر على زر (البحث بواسطة رقم الكتاب الوارد) سيظهر لك مربع حوار يطلب رقم الكتاب اذا قمت بنقر زر (الغاء الامر) ستظهر رسالة (فشل الاجراء) وهي رسالة غير مستحب ظهورها وتستطيع حل المشكلة بان تحول الماكرو الى اجراء فيجوال بيسك ثم الدخول الى الاجراء وفي بدايته قم بكتابة الجملة On Error Resume Next وهذه الجملة تقوم بالغاء هذه الرسالة . - يفضل ان لا تجعل الصور كحقل ضمن قاعدة البيانات لانه سيقوم بتضخيم قاعدة البيانات وسيتسبب لك بالمشاكل عندما تزيد حجم البيانات في القاعدة ولحل المشكلة يمكنك الاستفادة من هذا الرابط هذه هي الملاحظات التي رأيت انها الاكثر اهمية وحبيت ان اشاركك الافكار كما طلبت والمعذرة . تحياتي,,,
    1 point
×
×
  • اضف...

Important Information