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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      22

    • Posts

      10007


  2. ابو جودي

    ابو جودي

    أوفيسنا


    • نقاط

      18

    • Posts

      7250


  3. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      14

    • Posts

      13609


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

    سليم حاصبيا

    أوفيسنا


    • نقاط

      11

    • Posts

      8723


Popular Content

Showing content with the highest reputation on 12/23/20 in مشاركات

  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. أهلا بكم.. هذه المشاركة مفتوحة لمن يريد المساهمة في ابتكار وسائل لمعالجة البيانات المستوردة من نظام نور التعليمي وطرق عرضها في قواعد بيانات أكسس.. أرجو من الذين لهم علاقة بنظام نور وضع أمثلة للبيانات للمساعدة في تحقيق هذا الهدف الذي يخدمهم بالدرجة الأولى.. مثال لجدول الحصص.xlsx
    1 point
  22. تفضل يا أستاذي هنا جدول SomNamesTbl به بيانات وهمية متشابهة مع الحقيقية وجزاكم الله عنا خيرا والله ما أسعد بالحل قدر سعادتي بتواصلي مع اساتذتي وأحبتي بالمنتدي @ابا جودى @ابوخليل @jjafferr أشكركم جميعا وجعله الله بموازين حسناتكم
    1 point
  23. فكرة الحل عندي هي تماما فكرتك الأولى بدون اكواد كود بسيط يكون كوسيط ، كيف ؟ نكتب الاسماء في الحقول الغير منضمة ، ونعمل دالة تصنع الاسم الرباعي ( او بمعنى اصح تجمع الحقول الاربعة مع المسافات) وهي التي نجري عليها البحث فان كانت صحيحة تم نسخها الى حقل الاسم المنضم والا تظهر رسالة تنبيه بالتعديل المطلوب
    1 point
  24. كله تمام يا بشمهندس 🙂 جعفر
    1 point
  25. الله يحفظكم اخي الاستاذ سليم المبدع تم اضافة السطر ويعمل بشكل رائع End If 'Mmax Next A.Cells(4, 1).Resize(t - 4).Value = _ Evaluate("row(1:" & t - 1 & ")") End If 'm End Sub وفقكم الله وانعم عليكم بالصحة والعافية
    1 point
  26. السلام عليكم لم تات شكاوى اخري بهذا الشأن ربما يكون السبب هو سرعة او انتظام الاتصال بالانترنت
    1 point
  27. الملف لم يفتح على جهازي اوفيس 2010
    1 point
  28. البرنامج على الاميل تبع حضرتك حاول ترفع البرنامج
    1 point
  29. error-200 للرفع توجد مشكله في تنفيذ عمليه رفع الملف -200 (Error code: -200) ما الحل ؟ ألملف 30kb فقط
    1 point
  30. بنية القاعدة أصلا خطأ المفروض المواد كلها ب جدول والاسماء بجدول هل حضرتك مصمم على هاد الوضع اذا ما بدك تعدل ع التصميم يبقى لابد من كتابة الاسم مع كل صف لكل مادة مقل الصورة اذا بدك تحصله فى نتيجو الفرز والتصفية
    1 point
  31. اتمنى ان يكون ما تريد Try VBA 64 for First time.xlsm
    1 point
  32. يا اخي كن واضحاً في سؤالك لاستدعاء البيانات من اوراق متعددة الى ورقة واحدة ما هي اوراق المصدر ؟؟؟ و ما هي الورقة الهدف ولم أر الماكرو المذكور في الملف الذي يحتوي على اكثر من Module فأين اريد ان اجده)
    1 point
  33. لاحظ هذه الصورة 1- في المريع الأحمر تضع اصفاراً حسب عدد الأعمدة المطلوبة ( في الصورة 4 أعمدة) 2- في المربع الأزرق تضع ارقام هذه الأعمدة (E=5 / F=6 / H=8 ) وهكذا
    1 point
  34. عليكم السلام استاذ ٌRayan Zakho تفضل هذه المحاولة ارجو ان تكون طلبك Root-20.rar
    1 point
  35. السلام عليكم المعادلة المكتوبة في الملف صحيحة (يمكن اختصارها) ولا خلل فيها... بالنسبة للحساب بالآلة الحاسبة لا يمكن أن نعرف كيف قمت بذلك (وأعتقد أن الخظأ في طريقة الحساب)... أما النتيجة فلا يمكن أن تكون سالبة مهما كانت القيم التي اخترتها لأن كلا من الجذر التربيعي (بشرط أن تكون قيمة S أكبر تماما من الصفر) وقيمة العدد النيبيري (e) موجبان دوما.... راجع حساباتك بالآلة الحاسبة مع مراعاة أولية العمليات...
    1 point
  36. وتكملة للموضوع ، بعض الاوقات نكون محتاجين ان ننادي الحدث من حدث آخر ، سواء من النموذج او خارجه ، فعادة نكتب الحدث بهذه الطريقة (لا داعي له لما ننادي الحدث من نفس النموذج ، ولكن نحتاج له اذا ناديناه من نموذج آخر) : 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
  37. انا لم انتبه الى هذه الجزئية من قبل فعلا استااذى القدير ومعلمى الجليل و والدى الحبيب استاذ @jjafferr دائما نقف عاجزين عن تقديم الشكر اليكم كما ينبغى شكر الله لكم واحسن اليكم ورزقكم الخيـر كله
    1 point
  38. من فضلك كان عليك استخدام خاصية البحث بالمنتدى قبل رفع مشاركتك , فهذا الموضوع تكرر كثيراً واليك فيديو للشرح والتوضيح
    1 point
  39. الكود في حدث عند عدم وجو بيانات MsgBox "لا توجد بيانات لهذا التقرير. إلغاء التقرير...", vbMsgBoxRight, "لاتوجد بيانات" Cancel = -1 اضف حقل بالتقرير وسميه Cancel واجعل مصدره=1 تحياتي
    1 point
  40. السلام عليكم ورحمة الله يكفي إدراج هذا الجدول على شكل صورة في تذييل الصفحة... راجع الملف المرفق تجد فيه ما تريد... بن علية حاجيTest_1.xlsx
    1 point
  41. يبدو ان الامور تحسنت هذا هو التعديل studEhsa.rar
    1 point
  42. أحبائي الغاليين تحية طيبة وبعد ،،،،،،،،،، تناول بعض الأعضاء موضوع الحفظ التلقائي وخاصة في النماذج الفرعية ولم نصل الى نتيجة كاملة وشافية واعتقد إعتقاد جازم بأنني توصلت الى طريقة لحل هذه المشكلة وطريقة الحل هي : يتم انشاء جداول مؤقتة فارغة من أي بيانات يتم بناء النماذج عليها. يوجد في هذا المثال 1. نموذج لاضافة القيود اليومية ويتم اضافة القيود بداخله وعند التخزين يتم نقل البيانات الى الجداول الاصلية وهي نفس مواصفات الجداول المؤقتة ويتم حذف البيانات الموجودة في الجداول المؤقتة وإذا خرجت من النموذج دون تخزين فلا يتم نقل البيانات الى الجداول الاصلية وأيضاً يتم حذف البيانات الموجودة في الجداول المؤقتة. 2. نموذج التعديل عند الفتح يتم جلب البيانات من الجداول الاصلية الى الجداول المؤقتة وبامكانكم التعديل عليها ولكن عند الخروج بدون تخزين فلا يتم نقل البيانات الى الجداول الاصلية ويتم حذفها من الجداول المؤقتة ولكن عند تعديل بعض البيانات أو إضافة قيود جديدة والضغط على مفتاح تخزين يتم تحديث البيانات في الجداول الاصلية. الى هنا انتهت مشكلة الحفظ التلقائي خاصة في النماذج الفرعية Accounts_2008.rar
    1 point
  43. مرحبا بك أختي الكريمة ،،،، أعتقد هذا المثال يفي بالغرض ،،، وهو من الاستاذ العزيز : أشرف خليل شاكر الزين _______.zip
    1 point
×
×
  • اضف...

Important Information