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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      22

    • Posts

      10000


  2. ابو جودي

    ابو جودي

    أوفيسنا


    • نقاط

      18

    • Posts

      7250


  3. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      14

    • Posts

      13389


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

    سليم حاصبيا

    أوفيسنا


    • نقاط

      11

    • Posts

      8723


Popular Content

Showing content with the highest reputation on 12/23/20 in all areas

  1. السلام عليكم 🙂 استاذ فايز ، اذا تذكر الاكواد الطويلة اللي كتبتها لك عند استيراد اكثر من صفحة من ملفات الاكسس ، او اكثر من ملف اكسس ، هذه الاكواد كانت لتنظيف البيانات من السجلات الفارغة (مثل السجل الاول الذي به الاسم ، ثم اخذ الاسم وبقية البيانات من السجل الاول واتسجيله لبقية السجلات التابعة للطالب 🙂 اما وقد رجعنا الى كود استيراد البيانات من الاكسل كما هي ، فوجب علينا ، ومثل ما قال اخي اباجودي ، فعلينا بتعبئة هذه البيانات ، لذا عملت استعلام تحديث ، ليقوم بتعبئة هذه البيانات ، بعد استيرادها مباشرة من ملف الاكسل ، هكذا : Private Sub command1_Click() Dim ImportFileName As String ImportFileName = CurrentProject.Path & "\CS_FinalMarksReport" & ".xlsx" CurrentDb.Execute ("Delete * From Tabl_1") If MsgBox("هل تريد استيراد البيانات من جديد ؟", vbYesNo + vbMsgBoxRight, "تنبيه") = vbYes Then DoCmd.TransferSpreadsheet acImport, 8, "Tabl_1", ImportFileName, True DoCmd.SetWarnings False '| DoCmd.OpenQuery "qry_Filled" '| <------- DoCmd.SetWarnings True '| MsgBox "تم استيراد البيانات بنجاح" Else MsgBox "تم إلغاء عملية الاستيراد " End If End Sub . وهذا هو الاستعلام : . وهذه جملة SQL الاستعلام: UPDATE Tabl_1 SET Tabl_1.A1 = f_A1(Nz([A1],"|")), Tabl_1.A2 = f_A2(Nz([A2],"|")), Tabl_1.A3 = f_A3(Nz([A3],"|")), Tabl_1.A4 = f_A4(Nz([A4],"|")), Tabl_1.A5 = f_A5(Nz([A5],"|")); . وهذه هي الوحدات النمطية التي تناديها للعمل: Option Compare Database Option Explicit Public p_A1 As String Public p_A2 As String Public p_A3 As String Public p_A4 As String Public p_A5 As String ' Public Function f_A1(A1 As String) As String If A1 = "|" Then f_A1 = p_A1 Else p_A1 = A1 f_A1 = p_A1 End If End Function Public Function f_A2(A2 As String) As String If A2 = "|" Then f_A2 = p_A2 Else p_A2 = A2 f_A2 = p_A2 End If End Function Public Function f_A3(A3 As String) As String If A3 = "|" Then f_A3 = p_A3 Else p_A3 = A3 f_A3 = p_A3 End If End Function Public Function f_A4(A4 As String) As String If A4 = "|" Then f_A4 = p_A4 Else p_A4 = A4 f_A4 = p_A4 End If End Function Public Function f_A5(A5 As String) As String If A5 = "|" Then f_A5 = p_A5 Else p_A5 = A5 f_A5 = p_A5 End If End Function . ومن هنا ، فيمكنك عمل استعلام عادي لأي شيء يخص البيانات ، مثل طلبك في هذا الموضوع 🙂 ونعم تستطيع استعمال الاستعلام لتعبئة بيانات جدولك الحالي ، وبدون استيراده مرة اخرى 🙂 جعفر 1312.Database2.accdb.zip
    3 points
  2. جرب هذا الكود Option Explicit Sub Get_Data() Dim A As Worksheet Dim sh As Worksheet Dim ar(), itm Dim lr%, m%, t%, Mmax% Dim R_copy As Range Set A = Sheets("all") m = -1: t = 4 If A.Range("A3").CurrentRegion.Rows.Count > 1 Then With A.Range("A3").CurrentRegion.Offset(1). _ Resize(A.Range("A3").CurrentRegion.Rows.Count - 1) .Interior.ColorIndex = xlNone .ClearContents End With End If For Each sh In Sheets If sh.Name <> A.Name Then m = m + 1 ReDim Preserve ar(m) ar(m) = sh.Name End If Next If m > 0 Then For Each itm In ar Set sh = Sheets(itm) Set R_copy = sh.Range("A3").CurrentRegion Mmax = R_copy.Rows.Count If Mmax > 1 Then With A.Cells(t, 1) .Resize(, 8).Interior.ColorIndex = 6 .Resize(Mmax - 1, 8).Value = _ sh.Range("A3").CurrentRegion.Offset(1).Resize(Mmax - 1).Value t = t + Mmax - 1 End With End If 'Mmax Next End If 'm End Sub الملف مرفق Moustafa.xlsm
    3 points
  3. طبعا في اسماء يجب التعامل معها بطريقة خاصة ، وتقدر تدخلها في الوحدة النمطية ، ولكن اليك ما تعمله الوحدة النمطية: Function SP(M, N) On Error GoTo err_SP Dim A As Integer 'testing If M = "äæÑÇáÏíä Úáã ÇáÏíä ÚÈÏ ÇáÍÝíÙ" Then A = 1 End If 'SP = Seperate Mother's name to its names 'M = Mothers name 'N = Which part of the name we are looking for Dim x() As String 'check if ÚÈÏ has a space after it, if not, add the space If InStr(M, "ÚÈÏ") > 0 Then M = Replace(M, "ÚÈÏ", "ÚÈÏ ") End If M = Replace(M, " ", " ") M = Replace(M, " ", " ") M = RTrim(M) M = LTrim(M) 'insert | to distinguish the combined names M = Replace(M, "ÚÈÏ ", "ÚÈÏ|") x = Split(M, " ") '1st name If N = 1 Then SP = x(0) '2nd name ElseIf N = 2 Then SP = x(1) '3rd name ElseIf N = 3 Then SP = x(2) '4th name ElseIf N = 4 Then SP = x(3) End If 'Remove the extra | SP = Trim(Replace(SP, "ÚÈÏ|", "ÚÈÏ ")) Exit Function err_SP: If Err.Number = 94 Then 'mother null SP = "" ElseIf Err.Number = 9 Then SP = "" Else MsgBox Err.Number & vbCrLf & Err.Description End If End Function جعفر 1313.Test Four Name.mdb.zip
    2 points
  4. انا كنت عامل كود بسيط لتفكيك الاسم ، يحسب حساب كلمة "عبد" ، فياريت ترفق لنا مرفق فيه بعض الاسماء علشان نجرب عليها 🙂 وطبعا ، ادخال الاسماء الاربعة مفككة هي الطريقة الصحيحة 🙂 جعفر
    2 points
  5. السلام عليكم اول اجابة للاستاذ محمد رائعة اعجبتني جدا ولكنني لما تصفحت مثاله هالني كثرة هذه الأكواد وخاصة الموجود في الوحدة النمطية وحتى نطبق فكرة ابي جود نريد منك ايضاح عملية البحث التي تجري بعد كتابة الاسم الرباعي يكفي عن الايضاح ان تكتب لنا كود البحث هنا .
    2 points
  6. مبدئيا قبل ما افكر برمجيا اعمل الاسم على اربع مربعات نص غير منضمين وبعد الكتابة يتم تجميعه فى مربع نص الاسم مش لازم نصعبها بالاكواد ولا تنسى لو فكرنا برمجيا فى كلمة عبد الله وباقى العبادله ماذا سنفعل للاسماء المركبة نور الدين , منة الله , هبة الله , جاه الرسول
    2 points
  7. السلام عليكم ورحمة الله وبركاته ممكن تجرب اخوي الملف .. هل هذا هو المطلوب ولكن لكي يكون العمل اسهل تعمل عامود واحد .. على شكل تقويم .. وبعدها تحفظ البيانات .. عملت لك تقويم بشكل اسبوعي ... لكي تتضح لك الرؤية .. 1608643640739_UP.xlsb Taqwem.xlsm
    2 points
  8. الكل يعرف سرك اخى واستاذى العزيز 😀 وانا مثلك اخى واستاذى ابا جودى فجزاه الله عنا خيرا استاذنا العزيز جعفر 💐
    2 points
  9. 😬 وانت عرفت ازاي ، يخرابي ، سر وانكشف 😬
    2 points
  10. اهلا بك فى اسرتنا لنا عظيم الشرف انضمامكم لنا ووجودكم بيننا
    2 points
  11. @ابا جودى @jjafferr شكراً جزيلاً لكم بصراحه الله يبارك فيكم ويحفظكم ويزيدكم علما بصراحة فخور جدا انى عضو معاكم في هذا المنتدى
    2 points
  12. آمين .. بداية انت ذكرت ان لديك فراغ في الوقت كبير وتحب الكميوتر ، وايضا على استعداد لدفع المال من اجل التعلم وقد جاءت اليك دورة في مشروعك على طبق .. قد لا تتهيأ لك الظروف لتحصيلها مستقبلا شكرا لك على دعواتك الطيبات .. دمت اخا عزيزا بين اخوانك ،،،
    2 points
  13. الشرح - تم عمل موديول للاعلان عن متغير عام اسم المتغير العام cJob - فى نموذج LOGIN بعد اتمام المصادقة بالتأكد من اسم وكلمة مرور المستخدم نسند الوظيفة الى المتغير العام cJob = JOB - فى النموذج INSPCDATA استخدام كود الاستاذ جعفر فى حدث الحالى للنموذج بعد ان قمنا بتعريف البرنامج على الوظائف من خلال المتغير العام cJob كالاتى Select Case cJob Case Is = "MANGER" Me.AllowEdits = True Case Else If Len(Me.FDATE & "") = 0 Then Me.AllowEdits = True Else Me.AllowEdits = False End If End Select
    2 points
  14. اولا اللغة ليست عائق وستعتاد عليها ويمكنك كتابة اسماء الجداول والحقول بلغة عربية ولكن بحروف لاتينية مثلا : الموظفين تكتبه mowdhfeen ثانيا انت تريد تعلم التصميم ولغة البرمجة فابصم بالعشرة لو استخدمت الحروف العربية ضمن مجال الأكواد والجمل البرمجية لن تخرج بنتيجة ولو مارست سنين والسب ان الاكواد المكتوبة ستظهر مختلة ومنقلبة لاختلاف اتجاه اللغتين ولا يمكنك فهمها وتفسيرها .. بسبب ان الحروف العربية تبدأ من اليمين الى اليسار والاجنبية العكس ثالثا جميع ما تراه من تسميات اجنبية لن تظهر للمستخدم وانما الذي يظهر له لغة عربية مبينة حتى الكلمات الاجنبية لا يسمح فيها بالمسافات الخالية ويجب وضع شرطة تحت بين كل كلمتين ,, ولكني في المثال استخدمت الحروف الانجليزية الكبيرة للدلالة على بداية كل كلمة جديدة بدلا من المسافات والتعويض عنها بالشرطة ومسألة قالو الاخوان اتركها عنك .. فالذي اخبرك يفتي بغير علم
    2 points
  15. السلام عليكم ورحمة الله وبركاته اضافة .. معادلة بغض النظر عن عدد الاوراق .. ومكان الاعمده المطلوب الحساب منها .. المهم هو اسماء الاعمدة .. sumsalarymultisheets.xlsm
    2 points
  16. نم التعديل على الكود لتظهر أسماء الشيتات حيث الاسم موجود Ihab_ALL_new.xlsm
    2 points
  17. يبدو اني طالب متأخر واعتذر منك استاذي الفاضل ماشاء الله تبارك الله ....كالعادة افكار مليئة بالفوائد .... جزاك الله خيرا
    2 points
  18. جرب هذا التعديل If len(me.Filddate & "")=0 then Me.Allowedits = true else Me.Allowedits = false endif جعفر
    2 points
  19. وهاي مشاركتي 🙂 . جعفر Exams.zip
    2 points
  20. طريقة تانى لان انا عن نفسي افضلها لان Cancel = -1 او Cancel = True احيانا كانت تعطى خطأ Private Sub Report_NoData(Cancel As Integer) On Error GoTo ErrorHandler MsgBox "There is no data in the report. " & "The report will now close." DoCmd.Close acReport, Me.Name, acSaveNo ExitProcedure: Exit Sub ErrorHandler: 'MsgBox "Error " & Err.Number & " " & Err.Description DoCmd.CancelEvent Resume ExitProcedure End Sub
    2 points
  21. السلام عليكم.. في البداية شكرا لكل من قام بالرد على موضوعي السابق في وقتنا الحاضر ارى ان اغلب البرامج في السوق هي من هذا النوع وللأسف لم اجد التفاعل الكبير معها، خصوصا في موضوعي في الأعلى عموما، قمت ببرمجة برنامج صغير لإدارة المخزن، وانتضر منكم التجربة للوقوع على الأخطاء ومحاولة تصحيحها علماً، ان النسخة مؤقتة وسوف تُغلق بعد تصحيح الأخطاء. باسورد فتح البرنامج = 313 تحياتي للجميع. store_manager.rar
    1 point
  22. أهلا بكم.. هذه المشاركة مفتوحة لمن يريد المساهمة في ابتكار وسائل لمعالجة البيانات المستوردة من نظام نور التعليمي وطرق عرضها في قواعد بيانات أكسس.. أرجو من الذين لهم علاقة بنظام نور وضع أمثلة للبيانات للمساعدة في تحقيق هذا الهدف الذي يخدمهم بالدرجة الأولى.. مثال لجدول الحصص.xlsx
    1 point
  23. 1 point
  24. طيب استاذى الجليل ومعلمى القدير و والدى الحبيب الاستاذ @jjafferr ممكن حضرتك تجرب هبة الله نور الدين عصام الدين محمد وفى فى الاسماء كذلك جاه النبى - جاه الرسول اى خدمه يبقى كده المرفق بـ خمسة جنيه بس علشان خاطرك والناس الحلوة اللى تعبت معانا
    1 point
  25. يالله ع ليلة الكريسماس واللى يطيرون بالمرففات 🤣
    1 point
  26. هذه مرفق للتجارب Test Four Name.rar هو احنا بنكتب الرد ليه مع بعض في وقت واحد كدا ( هو دا اللي اسمه تلاقي الأرواح ولا اليه ) 😀🤔
    1 point
  27. الحقول لم تكن Null وانما كانت فارغة !! استعمل هذا الاستعلام : . UPDATE Tabl_1 SET Tabl_1.A1 = f_A1(IIf(Len([A1] & "")=0,"|",[A1])), Tabl_1.A2 = f_A2(IIf(Len([A2] & "")=0,"|",[A2])), Tabl_1.A3 = f_A3(IIf(Len([A3] & "")=0,"|",[A3])), Tabl_1.A4 = f_A4(IIf(Len([A4] & "")=0,"|",[A4])), Tabl_1.A5 = f_A5(IIf(Len([A5] & "")=0,"|",[A5])); . جعفر 1312.Database2.accdb.zip
    1 point
  28. حمدا لله على السلامة .. من طول الغيبات جاء بالغنايم
    1 point
  29. شوف يا أمير 🙂 الليلة كريسمس ، فالجماعة اللي يطيروا ، واللي اناديهم بالبخور ، ويجون يساعدوني ، مشغولين عني الليلة ، عماني واعرف شغلي 😁 فإذا اردت ان اساعدك ، فالمساعدة لازم تيجي منك مباشرة 😁 ارفق الكود اللي عندك فيه مشكلة ، او البرنامج ، لأني عملت التعديل على البرنامج اللي انت ارفقته 🙂 جعفر
    1 point
  30. وهذه مشاركة مع اساتذتي الاجلاء وهو تعديل على المرفق الاول ليشمل العدد الكلي Root-30.rar
    1 point
  31. السلام عليكم لم تات شكاوى اخري بهذا الشأن ربما يكون السبب هو سرعة او انتظام الاتصال بالانترنت
    1 point
  32. البرنامج على الاميل تبع حضرتك حاول ترفع البرنامج
    1 point
  33. اشرح برنامجك الحالي الذي تقوم به بالتفصيل كيف ؟ اعتبر موظفا جديدا تم تعيينه عندك .. وكلفت بأن تكتب له شرحا كاملا لآلية العمل وهكذا يمكن للاخوة هنا ان يقوموا بتوجيهك كيف تبدأ تصميم برنامجك
    1 point
  34. أهلا بكم.. قبل أن أبدأ في تناول موضوع التخلي عن الأعمدة الفارغة برمجياً؛ أود أن أتحدث عن مقطعين أساسيين في جملة الاستعلام... __ المقطع الأول: مسمى ورقة البيانات والمحددات التابعة لها [SCHEDULE$B17:END] فهذا المقطع يبين مسمى ورقة البيانات باللون الأرجواني في الشق الأيسر، واللون الأحمر في الشق الأيمن هو لمحددات موضع البيانات.. فالجزء الأيسر يشير إلى العمود (B) والسطر (17) في ورقة البانات، والجزء الأيمن (END) فيشير إلى أدنى مستوى من الخلايا التي بها بيانات.. وهذا يعني أن أعلى مستوي تبدء منه البيانات هو السطر (17)، وهذا السطر هو أول سطر للبيانات وليس قبله أي بيانات منتظمة تصلح أن تكون عناوين للعمدة، ولهذا نحتاج في المقطع الثاني أن نخبر أكسس كي يقوم بتجاهل سطر العناوين هذا ويضع عناوين من قبله! __ المقطع الثاني: يتضمن هذا المقطع بيانات متتعددة، وما همنا منها الآن هما جزآن [EXCEL 12.0;HDR=NO]؛ اللون الأرجواني يدل على مصدر البيانات ورقم الإصدار، وأما اللون الأحمر فهو يأمر أكسس بالتخلي عن أخذ السطر الأول كعناوين للأعمدة.. الوضع الافتراضي أن أكسس يسمى السطر الأول عناوين للأعمدة إذا كان مصدر البيانات هو أكسل.. ولهذا احتجنا إلى تقييدة.. __ أما مايتعلق بالتخلي عن الأعمدة الفارغة فنحن بحاجة إلى هذا الإجراء من أجل تهيئة البيانات لإنشاء جدول الحصص ولا نريد أن تكون الأعمدة الخالية موجدة ضمن الجدول عند الإنشاء.. من النموذج اضغط زر الأمر (QUERY COMMAND) ثم اضغط (MAKE SCHEDULE TABLE).. من النموذج اضغط زر الأمر (QUERY STATMENT) سوف تجد جملة إنشاء جدول الحصص ظاهرة أمامك.. اضغط زر الأمر (RUN QUERY).. وسوف يتم إنشاء الجدول خاليا من الأعمدة الفارغة.. __ يتبقى علينا ملئ حقل الرقم الأكاديمي بالبيانات المفقودة حتي يتم ربط هذا الجدول بجدول الطلاب بطريقة صحيحة.. Noor Data Processing.zip
    1 point
  35. يا اخي كن واضحاً في سؤالك لاستدعاء البيانات من اوراق متعددة الى ورقة واحدة ما هي اوراق المصدر ؟؟؟ و ما هي الورقة الهدف ولم أر الماكرو المذكور في الملف الذي يحتوي على اكثر من Module فأين اريد ان اجده)
    1 point
  36. مصنف اكسل لا يمكنني فتحه .. يبدو يوجد فيه مشكلة عند الفتح .. او لأني اعمل على الاصدار 2003 وازيدك من الشعر بيتا .. انا لم يسبق لي العمل على ملفات اكسل من قبل . فرأيي ان لم يتحفنا الأستاذ جعفر بحل .. وحفظا لوقتك .. ان تنقل مثالي المرفق الى قسم اكسل فأهل مكة ادرى بشعابها .
    1 point
  37. وعليكم السلام-تم تغيير المعادلة بمعادلة أخرى أخفف منها وليست مصفوفة -تفضل =IFERROR(INDEX($A$2:$A$14,AGGREGATE(15,6,ROW($A$1:$A$14)/(MATCH($A$2:$A$14&$B$2:$B$14,$A$2:$A$14&$B$2:$B$14,0)=ROW($A$1:$A$14)),ROWS($2:2))),"") ترتيب التاريخ1.xlsx
    1 point
  38. جرب هذا الملف 1- يمكن ان تختار اسم واحد أو كل الاسماء 2- الجمع يتم على الأعمدة E و F و I و J من كل صفحة (تم عمل حساب تكرار الاسم في الصفحة الواحدة) 3- يالنسبة للاسم الواحد Sub Data_Sum_1() Dim Res As Worksheet Dim Sh As Worksheet Dim ro1%, ro2%, K% Dim F_rg As Range Dim Ar Set Res = Sheets("Result") Ar = Array(0, 0, 0, 0) If Res.Range("A1").CurrentRegion.Rows.Count > 2 Then Res.Range("A1").CurrentRegion.Offset(2). _ Resize(Res.Range("A1").CurrentRegion.Rows.Count - 2).Clear End If If Res.Cells(2, "H") = vbNullString Then Exit Sub For Each Sh In Sheets If Sh.Name <> "Result" Then Sh.Range("A3:J1000"). _ Interior.ColorIndex = xlNone Set F_rg = Sh.Range("B:B"). _ Find(Res.Cells(2, "H"), lookat:=1) If Not F_rg Is Nothing Then ro1 = F_rg.Row: ro2 = ro1 Do Sh.Cells(ro2, 1).Resize(, 10). _ Interior.ColorIndex = 35 Ar(0) = Ar(0) + Val(Sh.Cells(ro2, 5)) Ar(1) = Ar(1) + Val(Sh.Cells(ro2, 6)) Ar(2) = Ar(2) + Val(Sh.Cells(ro2, 9)) Ar(3) = Ar(3) + Val(Sh.Cells(ro2, 10)) Set F_rg = Sh.Range("B:B").FindNext(F_rg) ro2 = F_rg.Row If ro1 = ro2 Then Exit Do Loop End If End If Next Sh With Res.Cells(3, 1) .Value = 1 .Offset(, 1) = Res.Cells(2, "H") .Offset(, 2).Resize(, UBound(Ar) + 1) = Ar With .Resize(, UBound(Ar) + 3) .Borders.LineStyle = 1 .Font.Size = 14 .Font.Bold = True .InsertIndent 1 .Interior.ColorIndex = 35 End With End With End Sub بالنسبة لكل الاسماء Sub Data_Sum_ALL() Dim Res As Worksheet Dim Sh As Worksheet Dim ro1%, ro2%, K% Dim F_rg As Range Dim Ar Dim OBJ As Object, ky Dim m%, t% Set OBJ = CreateObject("Scripting.Dictionary") Set Res = Sheets("Result") If Res.Range("A1").CurrentRegion.Rows.Count > 2 Then Res.Range("A1").CurrentRegion.Offset(2). _ Resize(Res.Range("A1").CurrentRegion.Rows.Count - 2).Clear End If For Each Sh In Sheets If Sh.Name <> "Result" Then m = 3 Do Until Sh.Cells(m, 2) = vbNullString OBJ(Sh.Cells(m, 2).Value) = vbNullString m = m + 1 Loop End If Next Sh Ar = Array(0, 0, 0, 0) If OBJ.Count Then t = 3 For Each ky In OBJ.keys For Each Sh In Sheets If Sh.Name <> "Result" Then Set F_rg = Sh.Range("B:B").Find(ky, lookat:=1) If Not F_rg Is Nothing Then '+++++++++++++++++++++++ ro1 = F_rg.Row: ro2 = ro1 Do Ar(0) = Ar(0) + Val(Sh.Cells(ro2, 5)) Ar(1) = Ar(1) + Val(Sh.Cells(ro2, 6)) Ar(2) = Ar(2) + Val(Sh.Cells(ro2, 9)) Ar(3) = Ar(3) + Val(Sh.Cells(ro2, 10)) Set F_rg = Sh.Range("B:B").FindNext(F_rg) ro2 = F_rg.Row If ro1 = ro2 Then Exit Do Loop '++++++++++++++++++++++++++ End If 'F_rg End If 'Sh Next Sh Res.Cells(t, 2) = ky Res.Cells(t, 3).Resize(, UBound(Ar) + 1) = Ar Ar = Array(0, 0, 0, 0) t = t + 1 Next ky With Res.Range("A3").Resize(t - 3, 6) .Columns(1).Value = _ Evaluate("Row(1:" & t - 3 & ")") .Borders.LineStyle = 1 .Font.Size = 14 .Font.Bold = True .InsertIndent 1 .Interior.ColorIndex = 35 End With End If 'dic.count End Sub الملف مرفق Ihab_ALL.xlsm
    1 point
  39. وتكملة للموضوع ، بعض الاوقات نكون محتاجين ان ننادي الحدث من حدث آخر ، سواء من النموذج او خارجه ، فعادة نكتب الحدث بهذه الطريقة (لا داعي له لما ننادي الحدث من نفس النموذج ، ولكن نحتاج له اذا ناديناه من نموذج آخر) : 1. Public Sub Form_Load() 2. Public Sub Form_BeforeUpdate(Cancel As Integer) فإذا اردنا ان نناديهم ، يمكننا ان نناديهم هكذا (لاحظ للأمر رقم 2 ، اننا استعملنا صفر (0) ، لأننا يجب ان نضع متغير لهذا الحدث ، وإلا فأننا نحصل على رسالة خطأ 🙂 ) : 1. Form_Load او Call Form_Load 2. Form_BeforeUpdate (0) او Call Form_BeforeUpdate(0) جعفر
    1 point
  40. انا لم انتبه الى هذه الجزئية من قبل فعلا استااذى القدير ومعلمى الجليل و والدى الحبيب استاذ @jjafferr دائما نقف عاجزين عن تقديم الشكر اليكم كما ينبغى شكر الله لكم واحسن اليكم ورزقكم الخيـر كله
    1 point
  41. مافي داعي لهذه الجزئية ،وتابع معنا التعليق التالي 🙂 لتوضيح هذه المعلومة ، فينبغي عليك النظر الى الحدث ، سواء للنموذج او التقرير : . المجموعة رقم 2 ، الاحداث يوجد بها كلمة Cancel ، لذا يمكننا ان نستخدم الامر Cancel = True ، والبرنامج يقبله وينفذه ، بينما في المجموعة رقم 1 ، فالاحداث لا يوجد بها كلمة Cancel ، لهذا السبب الامر Cancel = True لن يعمل 🙂 وهذا يسري على الوحدات النمطية كذلك 🙂 جعفر
    1 point
  42. معالجة بيانات جدول الحصص في المشاركة السابقة لم أفعل شيء لمعالجة البيانات سوى أني قمت بإلة التنسيق المطبق على ورقة البيانات.. أما عن استخلاص البيانات من ورقة البيانات؛ فهذا يخضع للمتطلبات التي يحددها المبرمج.. وكمثال على ورقة بيانات: __ الطلب الأول استخلاص أسماء الطلاب وأرقامهم الأكاديمية.. في هذه الحالة لدينا خيارين: _ الأول استخلاص البيانات وعمل جدول جديد بتلك البيانات. _ الثاني استخلاص البيانات وإرسالها إلى جدول موجود مسبقا. __ الإشكالية التي تواجهنا بهذا الخصوص هي الاستطر الفارغة تحت كل اسم.. من واقع ورقة البيانات نعلم أن الأسطر الفارغة هي بيانات تكرارية لنفس الطالب أعلى الفرغات.. لحل هذا الاشكال ننشي استعلام مع حذف الفراغات، أما إذا كان هنالك بيانات متكررة فإننا نستخدم مع سبق عبارة DISTINCT __ التطبيق يمكن عن طريق معالج الاستعلامات، وأيضا عن طريق الشفرة وفي كلا الحالتين نستخدم جملة الاستعلام التالية SELECT DISTINCT F25 AS STID,F24 AS STNAME FROM [SCHEDULE$B16:END]AS STUDENTS IN 'schedules.xlsx'[EXCEL 12.0;] WHERE (NOT ISNULL(F25)) سوف أقوم بالشرح في المشاركة التالية Noor Data Processing.zip
    1 point
  43. الكود في حدث عند عدم وجو بيانات MsgBox "لا توجد بيانات لهذا التقرير. إلغاء التقرير...", vbMsgBoxRight, "لاتوجد بيانات" Cancel = -1 اضف حقل بالتقرير وسميه Cancel واجعل مصدره=1 تحياتي
    1 point
  44. السلام عليكم ورحمة الله يكفي إدراج هذا الجدول على شكل صورة في تذييل الصفحة... راجع الملف المرفق تجد فيه ما تريد... بن علية حاجيTest_1.xlsx
    1 point
  45. يبدو ان الامور تحسنت هذا هو التعديل studEhsa.rar
    1 point
  46. مرحبا بك أختي الكريمة ،،،، أعتقد هذا المثال يفي بالغرض ،،، وهو من الاستاذ العزيز : أشرف خليل شاكر الزين _______.zip
    1 point
×
×
  • اضف...

Important Information