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

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

  1. Foksh

    Foksh

    الخبراء


    • نقاط

      10

    • Posts

      2,354


  2. أبوعيد

    أبوعيد

    الخبراء


    • نقاط

      3

    • Posts

      1,541


  3. hanan_ms

    hanan_ms

    03 عضو مميز


    • نقاط

      3

    • Posts

      229


  4. محمد هشام.

    محمد هشام.

    الخبراء


    • نقاط

      3

    • Posts

      1,542


Popular Content

Showing content with the highest reputation on 20 يول, 2024 in all areas

  1. السلام عليكم ورحمة الله وبركاته ، أخواني وأساتذتي ومعلمينا ( دون استثناء ) قمت بتنفيذ فكرة لأنشاء الجداول بطريقة مختلفة عن الطريقة التقليدية التي نعرفها .. إلا أنها ما زالت قيد التطوير الفكرة تعتمد على نموذج واحد فقط يمكّن المستخدم من إنشاء جداوله والحقول التي تحتويها ونوع الحقول بشكل سهل وبسيط . أولاً انقر على الزر " أنشاء حقل جديد ... " ثانياً قم بملئ الحقول ( اسم الجدول ، اسم الحقل ، نوع الحقل ) ، عند اختيار نوع الحقل سيتم إضافة الحقل الجديد الى الـ List Box تسلسلاً حسب الإدخال . عند الإنتهاء من إدخال جميع الحقول وأنواعها ، انقر الزر " إنشاء الجدول ... " ، وهنا سيتظهر رسالة تفيد بأنه ( لابد من وجود حقل مفتاح أساسي ، هل ترغب بتعيين حقل مفتاح أساسي ؟ ) عند اختيار Yes - نعم سيتم تعيين أول حقل كمفتاح أساسي ؛ وإذا تم اختيار No - لا سيتم انشاء الجدول دون مفتاح أساسي . عند إنشاء الجدول سيتم تصحيح عدة نقاط بشكل تلقائي وهي :- إزالة المسافة من اسماء الجداول واستبدالها بـ " _ " . إضافة الجزء "_Tbl" الى اسم الجدول عند انشائه . أيضاً إزالة المسافة من أسماء الحقول واستبدالها بـ " _ " . الملف مفتوح المصدر TBL Maker.accdb بناءً على إقتراحات أستاذي وصديقي @Moosak ، والتعديلات التي تقدم بها صديقي وأستاذي @ابو جودي ، تم دمج وإضافة تعديلات جديدة أرجو أن تنال رضاكم وإعجابكم . تم إضافة ميزة أن يكون في الجدول أكثر من حقل مفتاح أساسي . تم إضافة ميزة التعديل على الحقول أو حذف أحد الحقول قبل إنشاء الجدول من خلال زر " تعديل الحقول " ، وبعد إجراء التعديلات انقر زر " تأكيد التعديل ". تم دمج ميزة حرية إضافة " _Tbl " الى اسم الجدول عند انشائه ( فكرة الأستاذ أبو جودي مع إجراء تعديل بسيط ) - إختياري . تم دمج ميزة أن يكون أسماء الجداول والحقول ( الإنجليزية ) تبدأ بحرف كبير Capital Letter . تم إضافة ميزة فتح الجدول بعد انشائه لرؤية النتيجة أو لإدخال البيانات - إختياري . تم إضافة زر " مفتاح أساسي " لتمكين المستخدم من اختيار الحقول التي يريدها أن تكون مفتاح أساسي . تم إضافة زر " إضافة حقل " لإضافة حقل جديد . تم تعديل التصميم بشكل بسيط ليتناسب مع محتوياته والميزات الجديدة . ✔ لا حاجة لأي مكتبات أو مديولات عند نسخ النموذج لمشروعك والبدء بالإستفادة من ميزاته . ✔ أتطلع لأي أفكار جديدة أو اقتراحات TBL Maker.accdb680 kB · 7 downloads تم إضافة نموذج لإنشاء العلاقات من خلال البرنامج بشكل بسيط بحيث :- يتم اختيار الجدول الأول ، ثم الحقل الذي نرغب بانشاء علاقة له ، ثم اختيار الجدول الثاني وكذلك الأمر اختيار الحقل الثاني الذي سيكون على علاقة مع الحقل السابق يتم التعرف على نوع بيانات الحقول التي تم اختيارها للتأكيد على انك كمستخدم تعرف أنواع البيانات في الحقلين . أيضاً يتم التعرف على الحقل ما إذا كان مقتاح أساسي أم لا . عند النقر على زر نوع العلاقة ، فسيتم اظهار نوع العلاقة المنطقية لهذين الحقلين . في الزر انشاء العلاقات سيتم انشاء العلاقة بشكل تلقائي بين الجدولين مع تفعيل تتالي الحذف والإضافة . لإختبار ما اذا كان هناك علاقة بين الجدولين ، من خلال الزر تحقق سيظهر لك نتيجة العلاقة إذا كانت موجودة ونوعها والحقول التي بينها علاقة في الجدولين . عند وجود علاقة سابقة بين الجدولين سيتم تنبيه المستخدم بوجود علاقة سابقة ، هل ترغب باستبدال العلاقة السابقة بعلاقة جديدة ؟؟ وفي حال الموافقة سيتم حذف العلاقة القديمة واستبدالها بالعلاقة الجديدة . طبعاً هنا يجب التنويه أن البرنامج لن يقوم بإنشاء أي علاقة غير صحيحة بين اي حقلين نهائياً . تم اضافة زر لحذف العلاقة بشكل اختياري بين اي جدولين بينهم علاقة . لإجراءاتكم بالتجربة وإفادتي بالنقاط التي قد أكون قد غفلت عنها . TBL Maker.accdb
    4 points
  2. السلام عليكم و رحمة الله استخدم هذا الكود Sub AddRow() Selection.EntireRow.Insert , xlFormatFromLeftOrAbove End Sub
    2 points
  3. 1- انسخ كود الزر لاي فورم نفس طريقة كود استاذي @ابو جودي❤️🌹 تقدر تغير في الكود حدث عند النقر او مزدوج : =IIF([]="",Code,"") الغاء الكود او الى كود آخر لمثال صفاء @safaa salem5❤️ يعمل مع اي فورم وتفريع الفورم داخل الفورم من غير استخدام جداول ينقل النص و التاريخ والرقم التقويم الهجري وميلادي بستخدام رزنامة استاذي @ابو جودي 😇 ((طلب كيف اخصص اجازات الرسمية السنوية لتحكم بايام التقويم بعدم التمكين )) وتجربة Sken_Calendr_One_Form.rar
    1 point
  4. إنا افتكرت انك بتحسد 😂 ، إذا كان كدة معلش 😇 انت الأروع صديقي فريد 🥰 . من غير ما تستأذني أخت حنان ، لكي الحرية المطلقة ، وسعيد برؤية إبداعاتك في التعديلات 😉 .
    1 point
  5. شكرا لحضرتك استاذى الكريم تم عمل الكود بعد وضع else
    1 point
  6. هذا بالمعادلة تفضل راس الصفحة - معادلة.xlsx
    1 point
  7. كنت دايخة اشوي😇 اشلون اضيف جدول واستعلام برقم السنة على سبيل المثال 2024 عيدالفطر اربع سجلات = اربع ايام اذا كان اليوم اجازة يخلي الزر عدم التمكين للضغط بدل ما استخدام كود Dim rung as integer For rung = 0 to dcount ("[day]","[Ejazh]") 'Query (Ejazh) if me(lebl).name = me.day then me(lebl).enable =false else true end if بطيئ عند التقلب بالشهور والسنوات ؟! هل يوجد تعديل للكود او كود آخر او طريقة ثانية وشكرا
    1 point
  8. ممتاز جاري التجربة اشكرك استاذ @Foksh ❤️🌹🌹 اذا تسمح لي باضافة تحويل الاستعلام الى جدول 🥰 Query IF tablet more from 6 8 tablet For Use DOA And DAO
    1 point
  9. انت اي حاجه بتعملها بتبقي جامده يا بروف 😉 😉 ولا اقولك يا MPV بروف ☺️ ☺️ انت مش فنان انت دائما مبدع لو عملت نموذج فاضي حتي هيكون اختراع 🙄🙄 انا مش بحسد انا بقر بس 🤣🤣
    1 point
  10. بدايةً ارجو أن تقوم بإنشاء تقريرك الذي تريد ان يتم طباعته بين التاريخين .. ثانياً هل تريد البحث بين التاريخين لتاريخ ميلاد الطالب ، أو تاريخ التسجيل ؟؟ اذا كان لتاريخ التسجيل ، فإليك الخطوات دون ملف مرفق :- 1. انشئ استعلام وحدد الحقول التي تريد جلب قيمها من الجدول ومن ضمنها طبعاً الحقل Reg كحقل أساسي . 2. في الحقل Reg من داخل الإستعلام وفي جزء الـ Criteria - الشروط اكتب السطر التالي :- Between [Forms]![بيانات الدور الثاني]![n1] And [Forms]![بيانات الدور الثاني]![n2] 3. احفظ الإستعلام ، وانشئ تقريرك المبني على هذا الاستعلام .
    1 point
  11. أحسنت أخي العزيز Foksh رائع جداً وجزاك الله خيراً وجودك في المنتدى يفرق كثيراً... أعطاك الله الصحة والعافية
    1 point
  12. جرب هذا التعديل للمرفق الأخير :- 2.zip تم إضافة حقل جديد في الجدول Reg_Status من نوع Yes/No ، وإضافة حدث في الحالي لتحديث القيمة لـ check1 بناءً على قيمة Reg_Status ، وتعديل الكود السابق في المشاركة السابقة لتحديث هذا الحقل أيضاً .
    1 point
  13. اعتذر منك أخت @hanan_ms ، ولكني هل يمكنك التوضيح للمطلوب بشكل أوضح ؟؟؟؟ اعتذر منك ولكن فعلاً لم افهم المطلوب رغم قراءتي له أكثر من مرة
    1 point
  14. وعليكم السلام ورحمة الله وبركاته .. قمت بإضافة حقل Reg لأنك لم تقم بتحديد الحقل الذي تريد اضافة القيمة له في الجدول ,, تفضل هذا الكود :- Dim strSQL As String If Me.check1.Caption = "o" Then Me.check1.Caption = "‏" strSQL = "UPDATE [بيانات الدور الثاني] SET Reg = Date() WHERE [رقم جلوس] = " & Me.رقم_جلوس CurrentDb.Execute strSQL, dbFailOnError Else Me.check1.Caption = "o" strSQL = "UPDATE [بيانات الدور الثاني] SET Reg = Null WHERE [رقم جلوس] = " & Me.رقم_جلوس CurrentDb.Execute strSQL, dbFailOnError End If وهذا ملفك بعد التعديل :- 1.zip
    1 point
  15. 1 point
  16. السلام عليكم ورحمة الله وبركاته اللهم اجعل هذا العمل خالصا لوجهك الكريم لكي تعم الفائدة : البرنامج مفتوح المصدر "الباسوورد 1374" ارجو الحرص في التعامل مع المعادلات . ان اخطأت اغلق بدون حفظ برنامج توزيع الطلاب على الاقسام ( خاص بالتعليم الفني ) صناعي _ زراعي _ تجاري _ فندقي _ مهني كل ما عليك هو تسجيل بيانات الطالب ( الاسم _ المجموع _ القومي ) فقط ثم احصل بعد ذلك على قوائم الفصول . البرنامج له جزئين . ويجب الربط بينهما الاول : لاستخلاص البيانات الثاني : قوائم الفصول الجزء الاول برنامج تنسيق مدارس_معدل.xlsb الجزء الثاني trheel_p_3_access.xlsb
    1 point
  17. بارك الله فيك ابو حبيبه وجعله الله في ميزان حسناتك يوم القيامة
    1 point
  18. وعليكم السلام ورحمة الله وبركاته .. أنظر هنا لعلك تجد ما يعجبك 🙂 :
    1 point
  19. تفضل ان كنت فهمت عنك على عجل استخدمت الارقام الصريحة بدلا من المتغيرات اذا الفكرة هي مطلوبك يمكنك بسهولة تعديل الارقام الصريحة الى متغيرات Dim i As Integer i = Me.kulo If i >= 10 Then sh1 = 10 i = i - sh1 sr1 = sh1 * 15 Else sh1 = i sr1 = sh1 * 15 i = 0 End If If i >= 20 Then sh2 = 20 i = i - sh2 sr2 = sh2 * 20 Else sh2 = i sr2 = sh2 * 20 i = 0 End If If i >= 30 Then sh3 = 30 i = i - sh3 sr3 = sh3 * 25 Else sh3 = i sr3 = sh3 * 25 i = 0 End If If i >= 40 Then sh4 = 40 i = i - sh4 sr4 = sh4 * 30 Else sh4 = i sr4 = sh4 * 30 i = 0 End If If i >= 41 Then sh5 = i sr5 = sh5 * 50 Else sh5 = i sr5 = sh5 * 50 End If Me.srSum = Nz(sr1) + Nz(sr2) + Nz(sr3) + Nz(sr4) + Nz(sr5) b2.rar
    1 point
  20. حاول تجربة هدا من خلال اليوزرفورم Dim f Private Sub UserForm_Initialize() Set f = Sheets("ClassSheet") Set d = CreateObject("Scripting.Dictionary") For Each c In f.Range("b2:b" & f.[b65000].End(xlUp).Row) d(c.Value) = "" Next c Me.ComboBox1.List = d.keys End Sub Private Sub ComboBox1_Change() Set d = CreateObject("Scripting.Dictionary") For Each c In f.Range("b2:b" & f.[b65000].End(xlUp).Row) If c.Value = Me.ComboBox1 Then d(c.Offset(0, -1).Value) = "" Next c Me.ComboBox2.List = d.keys Me.ComboBox2.ListIndex = -1 Me.ComboBox3.ListIndex = -1 End Sub Private Sub ComboBox2_Change() Set d = CreateObject("Scripting.Dictionary") For Each c In f.Range("b2:b" & f.[b65000].End(xlUp).Row) If c.Value = Me.ComboBox1 And _ c.Offset(0, -1).Value = Me.ComboBox2 Then _ d(c.Offset(0, 1).Value) = "" Next c Me.ComboBox3.List = d.keys Me.ComboBox3.ListIndex = -1 End Sub Private Sub b_validation_Click() If Me.ComboBox1 <> "" Then ActiveCell.Offset(0, 2).Value = Me.ComboBox1.Value If Me.ComboBox2 <> "" Then ActiveCell.Value = Me.ComboBox2.Value If Me.ComboBox3 <> "" Then ActiveCell.Offset(0, 4).Value = Me.ComboBox3.Value Unload Me End Sub Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Application.Intersect(Target, Sheet1.Range("b8:b200")) Is Nothing Then UserForm1.Show End If End Sub All.BOQ V2.xlsm
    1 point
  21. جرب هدا Sub SUMIF() Dim WS As Worksheet: Set WS = Sheets("كشف حساب") Dim sum As Double, Cnt As Long WS.[Y1] = CDate(Me.DateMini) Cnt = 0: sum1 = 0: sum2 = 0 On Error Resume Next With ListBox1 For R = 0 To .ListCount - 1 Cnt = Cnt + 1 sum1 = sum1 + .List(R, 10) sum2 = sum2 + .List(R, 11) Next R End With Me.S.Caption = Cnt TextBox3.Value = Format(sum1, "#,##00.00"): TextBox2.Value = Format(sum2, "#,##00.00") tb = sum1 - sum2 TextBox1.Value = Format(tb, "#,##00.00") tb1 = Evaluate("=SUM(SUMIFS('" & WS.Name & "'!G4:G100000,'" & WS.Name & _ "'!C4:C100000,{""مبيعات"";""قيد""},'" & WS.Name & "'!B4:B100000,""<=""&'" & WS.Name & "'!Y1))") tb2 = Evaluate("=SUM(SUMIFS('" & WS.Name & "'!H4:H100000,'" & WS.Name & _ "'!C4:C100000,{""مردودات مبيعات"";""سند قيد"";""سند قبض""},'" & WS.Name & "'!B4:B100000,""<=""&'" & WS.Name & "'!Y1))") result = tb1 - tb2 Me.Text_count.Value = Format(result, "#,##00.00") End Sub Copy of كشف حساب عميل V2.xlsm
    1 point
  22. الحل عن طريق VBA وليس معادلة إدراج التاريخ في راس الصفحة 1.xlsm
    1 point
  23. السلام عليكم تفضل المرفق التكرار.xlsx
    1 point
  24. السلام عليكم أخي الكريم عدلت لك قليلا في نسق الملف بحيث أن أول جدول يتطابق مع باقي الجداول التالية يعني كل جدول بما فيها الأول يكون 36 سطر شامل السطر الفاضي بين الجداول وعندما تريد إضافة جدول آخر تأخذ نسخة من الثاني وليس من الأول واحرص أن يكون الفارق بين بداية أي جدول والذي يليه 36 سطر بالضبط تفضل المرفق التجميع2.xlsx
    1 point
  25. أللهم آمين وجزاكم عنا خيرا جميعا ونسأل الله أن يكون في ميزان كل شخص استفدت منه بمعلومة لاتمام هذا العمل
    1 point
  26. بالنسبة للتسلسل يمكنك استخدام الصيغة التالية مع سحبها للاسفل بعد حدف كود ترقيم الصفوف من حدث ورقة 1 =IF(C9>0,SUBTOTAL(3,$C$9:C9),"") اما بخصوص تنسيق اعمدة الروابط اظن انه من الافضل ربط الكود مع زر يمكنك استخدامه مثلا بعد الانتهاء من نسخ جميع الروابط على العمودين جرب هدا Function tmp(Cnt As String) As Boolean Dim Request As Object Dim rc As Variant On Error GoTo EndNow Set Request = CreateObject("WinHttp.WinHttpRequest.5.1") With Request .Open "GET", Cnt, False .Send rc = .StatusText End With Set Request = Nothing If rc = "OK" Then tmp = True Exit Function EndNow: End Function Sub add_Hyperlinks() Application.ScreenUpdating = False Set WS = Sheets("Sheet1") Dim c As Excel.Range, Cnt As String, r As Excel.Range Dim a As Range, b As Range, Rng As Range lr = WS.Columns("i:j").Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row Set a = WS.Range("i9:i" & lr): Set b = WS.Range("j9:j" & lr): Set Rng = Union(a, b) For Each c In a If c > "" Then c.Select Debug.Print c.Value Cnt = Trim(CStr(c.Text)) If Left(Cnt, 4) <> "http" Then Cnt = "http://" & Cnt If tmp(Cnt) Then WS.Hyperlinks.Add Anchor:=c, Address:=Cnt, TextToDisplay:="رابط اليوتيوب" End If Next c For Each r In b If r > "" Then r.Select Debug.Print r.Value Cnt = Trim(CStr(r.Text)) If Left(Cnt, 4) <> "http" Then Cnt = "http://" & Cnt If tmp(Cnt) Then WS.Hyperlinks.Add Anchor:=r, Address:=Cnt, TextToDisplay:="رابط الفيسبوك" End If Next r With Rng .Font.Color = RGB(0, 0, 255) .Font.Underline = xlUnderlineStyleNone .Font.Bold = True .Font.Name = "Calibri" .Font.Size = 16 End With Application.ScreenUpdating = True End Sub 14-7-2024 V2.xlsm
    1 point
  27. شكرا لكم اساتذة ولو انه لم يتم فهمكم للمطلوب ولكن اجابتكم ومساعدتكم وفت وكفت Dim haj As Boolean haj = IIf(DLookup("Menha_ID", "Mena7", "EmployeeID =" & Me.EmployeeID) = 11, True, False) hajAnne = DLookup("annee", "Mena7", "EmployeeID =" & Me.EmployeeID) If haj = True Then MsgBox "هذا الموظف مستفيد من منحة الحج خلال سنة " & hajAnne: Me.Undo: Exit Sub
    1 point
×
×
  • اضف...

Important Information