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

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

  1. أبوبسمله

    أبوبسمله

    الخبراء


    • نقاط

      5

    • Posts

      3,254


  2. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      3

    • Posts

      9,814


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

    سليم حاصبيا

    أوفيسنا


    • نقاط

      3

    • Posts

      8,723


  4. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      3

    • Posts

      12,196


Popular Content

Showing content with the highest reputation on 28 ينا, 2020 in all areas

  1. وعليكم السلام اتفضل اخى ان شاء الله يكون ما تريد تقبل تحياتى وتمنياتى لك وللجميع بالتوفيق DB.accdb
    2 points
  2. السلام عليكم ورحمة الله احببت انا اشاركم ببعض الامثلة المفيدة والتي تعلمتها ولعلي كل فترة ارفق في هذه المشاركة بعض الامثلة المثال الاول احضار الحساب الاب والابناء وابناء الابناء الخ دون استخدام الدالة like المثال الثاني سيكون عن استخدامات Data shaping والتي تستخدم في انشاء recordsets within recordsets ضمن ADO OBJECT والتي نستخدم في العرض الشجري للبيانات PARENT.accdb
    1 point
  3. تعديل بسيط عفوا اذا كان خطا بس بهذا طريقة تقريبا balance.accdb
    1 point
  4. شکرا لاستاذ صالح حمادي ذاك الطريقة يتم استخدامه اذا لم يكن الجدول المفروض يغير قيمة الافتراضية كمصدر النموذج اللي نعمل عليه وهذه طريقة يتم استخدامه في نموذج نفسه لجلسة واحدة فقط اي عند اغلاق النموذج راح يرجع لقيمته اافتراضي الاولى ' اذا كان حقل من نوع النصية ستستخدم هذا مثلا Me.Field1.DefaultValue = """" & Me.Field1.Value & """" ' اما اذا كان حقل من نوع الرقمي ستستخدم هذا 'Me.Field2.DefaultValue = "" & Me.Field2.Value & ""
    1 point
  5. السلام عليكم تابع هذا الموضوع:
    1 point
  6. مشاركة مع أخي الحبيب @أحمد الفلاحجى باستخدام Choose DB (2).accdb
    1 point
  7. تخى خلف @Khalf جزاك الله خيرا ولما البحث بالخارج فالقسم ملىء بالامثله والشروحات وجزاهم الله خيرا اخواننا واساتذتنا فهم قدموا لنا شروحات كافيه ووافيه والحمدلله رب العالمين تقبلوا تحياتى وتمنياتى لكم وللجميع بالتوفيق
    1 point
  8. السلام عليكم كما تفضل أستاذ @أحمد الفلاحجى كي يكتمل السؤال فلابد من مثال، كون سؤالك عن حالة خاصة. ولكن بما يتعلق بجزءمن سؤالك، فدالة إكسل sumif/ sumifs لها في أكسس دالة مكافئة هي Dsum، تستطيع من خلالها تحقيق نفس النتيجة، يمكن أن تبحث بجوجل عنها. بقي أن تضع مثالك إن احتجت المساعدة بتطبيق هذه الدالة.
    1 point
  9. وعليكم السلام اخى الفاضل ارفق مثالك واشرح ماذا تريد واخوانك واساتذتنا ما بيقصروا تقبل تحياتى وتمنياتى لك وللجميع بالتوفيق
    1 point
  10. 1 point
  11. تم التعديل على الكود لا يمكن عمل هذا الشيء بالمعادلات Option Explicit Sub New_code_Modifier() Rem Created By Salim Hasbaya On 27/1/2020 Application.ScreenUpdating = False Dim oBJ As Object Dim S As Worksheet Dim cel As Range, my_rg As Range, F_rg As Range Dim i%, ro%, col% Dim First_ad$, Act_ad$ Set oBJ = CreateObject("System.Collections.arraylist") Set S = Sheets("salim") '============================== For Each cel In S.Range("H7:AC100") If Not oBJ.contains(cel.Value) _ And cel <> "" Then oBJ.Add cel.Value Next oBJ.Sort Set my_rg = S.Range("AF7").CurrentRegion If my_rg.Rows.Count <> 1 Then my_rg.Offset(1).Resize(my_rg.Rows.Count - 1, 12).ClearContents End If Cells(8, "AF").Resize(oBJ.Count).Value = _ Application.Transpose(oBJ.Toarray) For Each cel In S.Range("AF8").Resize(oBJ.Count) Set F_rg = S.Range("H7:AC100").Find(cel, lookat:=1) If Not F_rg Is Nothing Then First_ad = F_rg.Address: Act_ad = First_ad Do ro = S.Range(Act_ad).Row col = Application.Match(S.Cells(ro, 3), S.Range("AG7:AQ7"), 0) cel.Offset(, col) = S.Cells(ro, 2) Set F_rg = S.Range("H7:AC100").FindNext(F_rg) Act_ad = F_rg.Address If Act_ad = First_ad Then Exit Do Loop End If Next Set my_rg = Nothing: Set S = Nothing Set F_rg = Nothing: Set oBJ = Nothing Application.ScreenUpdating = True End Sub Prof_Madda_Final.xlsm
    1 point
  12. 1 point
  13. sandanet انت رائع أبدعت ونفعت كعادتك ... اللهم اجعل كل ما تقوم به في ميزان حسناتك خالد سيسكو شكرا لك ونفع الله بك تقبل تحياتي
    1 point
  14. بعد إذن أستاذ عبدالله الصاري أستاذ أهلاوى 2007 كان عليك نسخ الموديلات التي إضافتها الأستاذ عبدالله الصاري حتى يتم احتساب الأوائل وكذلك الدوائر في الشييت تم تعديل الشهادات إلى 3 شهادات فقط في نصف العام وكذلك آخر العام وتم عمل أمر طباعة كل الشهات بالدوائر في هاتين الورقتين أرجو أن يكون آخر طلب بخصوص شييت كنترول سواء لأي شخص بالمنتدى فالمنتدى تعليمي وكل عضو يعمل حسب ظروفه وحضرتك فتحت موضوع شييت كنترول منذ عام والملف الذي رفعته به رقم جلوس 53 وطالب تجارة 53 مكررين أكثر من مرة مما يجعل أي شخص يقوم بالمساعدة يشك في المعادلة التي وضعها في الأوائل وأظن أنه ليس في أي كنترول رقم جلوس يتكرر أكثر من مرة تفضل أولي 1.xlsm
    1 point
  15. لا داعي للاعتذار اخي ابو بسمله هذا من ذوقك الرفيع الان انحلت المشكله بتوجيهاتكم بوضع (EMPLID) في جدول الموظفين الان لا اقدر ان اتجاهل حقل اسم الموظف انظر المرفق اشكرك مره اخري اخي ابو بسمله واسئل الله ان يزيدك من علمه
    1 point
  16. السلام عليكم تفضل اخي الكريم Private Sub Command41_Click() Me.frm.SourceObject = "" Dim FormCount As Integer Dim i As Integer FormCount = Forms.Count For i = FormCount - 1 To 0 Step -1 If Forms(i).Name <> "frmHome" And Forms(i).Name <> "login" Then DoCmd.Close acForm, Forms(i).Name End If Next i End Sub تعديل_2.rar تحياتي
    1 point
  17. بواسطة هذا الكود يمكن ترتيب الاقسام في الجدول الثاني القوائم المنسدلة في الجدول الثاني ليس لها حاجة حيث ان الاقسام تظهر مرتبة بالنسبة لعدد الاقسام يمكن زيادتها الى قدر ما تشاء (ضمن النطاق H7:AC100 ) والماكرو يأخذها كلها دون تكرار وبالترتيب Option Explicit Sub New_code() Rem Created By Salim Hasbaya On 27/1/2020 Dim oBJ As Object Dim S As Worksheet Dim cel As Range, my_rg As Range, F_rg As Range Dim i%, ro%, col% Dim First_ad$, Act_ad$ Set oBJ = CreateObject("System.Collections.arraylist") Set S = Sheets("salim") '============================== For Each cel In S.Range("H7:AC100") If Not oBJ.contains(cel.Value) _ And cel <> "" Then oBJ.Add cel.Value Next oBJ.Sort Set my_rg = S.Range("AF7").CurrentRegion If my_rg.Rows.Count <> 1 Then my_rg.Offset(1).Resize(my_rg.Rows.Count - 1, 6).ClearContents End If Cells(8, "AF").Resize(oBJ.Count).Value = _ Application.Transpose(oBJ.Toarray) For Each cel In S.Range("AF8").Resize(oBJ.Count) Set F_rg = S.Range("H7:AC100").Find(cel, lookat:=1) If Not F_rg Is Nothing Then First_ad = F_rg.Address: Act_ad = First_ad Do ro = S.Range(Act_ad).Row Select Case Cells(ro, 3) Case "عربية": col = 1 Case "رياضيات": col = 2 Case "فرنسية": col = 3 Case "علوم ط": col = 4 Case "فيزياء": col = 5 End Select cel.Offset(, col) = S.Cells(ro, 2) Set F_rg = S.Range("H7:AC100").FindNext(F_rg) Act_ad = F_rg.Address If Act_ad = First_ad Then Exit Do Loop End If Next Set my_rg = Nothing: Set S = Nothing Set F_rg = Nothing: Set oBJ = Nothing End Sub الملف من جديد Prof_Madda_New.xlsm
    1 point
  18. السلام عليكم ورحمه الله وبركاته الصلاه والسلام على من لا نبي بعده سيدنا محمد وعلى آله ومن والاه الى يوم القيامه بعدد كل نفس انت اعلم بها يارب العالمين اخوانى واخواتى الاحبه استخدمنا دوال DMax و DCount بجانب الاكواد البرمجيه لعمل الترقيم التلقائى من المعروف ان CurrentRecord تاتى برقم السجل الحالى عندما نضعها بمصدر عنصر تحكم حقل غير منضم =CurrentRecord واليوم رأيت ترقيم تلقائى CurrentRecord فى هذا المثال المرفق لاحد الاخوه لا اعلم من هو صراحه المثال عندى منذ زمن جزاه الله خيرا فاننى اعرضه للاستفاده ولينول صاحب المثال دعوه عن ظهر غيب والدال على الخير كفاعله ثم قمت باضافه زر الحذف للنموذج وبعد الحذف يقوم باعاده الترقيم تلقاء نفسه للسجل عند الوقوف على السجل تقبلوا تحياتى وتمنياتى لكم بالتوفيق ترقيم تلقائي.mdb
    1 point
  19. السلام عليكم تم عمل الاوائل حسب المجموع الكلي اخر العام بالنسبة للدوائر اين مكانها في خانة مجموع المادة اام كل الخانات لا يوجد في ملفك شهادات اخر العام تحياتي المصنف2.xlsb المصنف3.xlsb
    1 point
  20. لا يا أخي هذا يعمل في جميع اصدارات و لتطييقه على برنامجك عليك اشاء هيدر على حقل سجلات متكررة كما هو ID في برنامج الحالي، انظر صورة توضحية
    1 point
  21. شرح مختصر وافي وللفائدة بحثت عن بقية رموز العناصر فخرجت بهذه النتيجة : 126 - acAttachment 108 - acBoundObjectFrame 106 - acCheckBox 111 - acComboBox 104 - acCommandButton 119 - acCustomControl 103 - acImage 100 - acLabel 102 - acLine 110 - acListBox 114 - acObjectFrame 105 - acOptionButton 107 - acOptionGroup 124 - acPage 118 - acPageBreak 101 - acRectangle 112 - acSubform 123 - acTabCtl 109 - acTextBox 122 - acToggleButton
    1 point
  22. تكرما وتفضلا ابا فريد هلا شرحت لنا هذين السطرين If ctl.ControlType = 109 Then ctl.BackStyle = 1 الموجودة ضمن الكود ادناه ماذا تعني هذه الارقام 109 و 1 وهل هناك ارقام اخرى لها خصائص مختلفة Private Sub GroupHeader0_Format(Cancel As Integer, FormatCount As Integer) If X1 Then Dim ctl As Control For Each ctl In Me.Detail.Controls If ctl.ControlType = 109 Then ctl.BackStyle = 1 ctl.BackColor = 14933454 End If Next Else For Each ctl In Me.Detail.Controls If ctl.ControlType = 109 Then ctl.BackStyle = 1 ctl.BackColor = 16777215 End If Next End If X1 = Not X1 End Sub
    1 point
  23. العفو استاذنا الكريم منكم تعلمنا دائما بارك الله فيك وزادك الله من فضله
    1 point
  24. سيفيدك هذا الرابط ان شاء الله 🙂 جعفر
    1 point
  25. حياك الله 🙂 الرابط التالي فيه طريقتي لعمل اكثر من معيار وبسهولة ولكن يجب ان تقرأ الموضوع من بدايته ، حتى تستفيد بالاستفادة الكاملة 🙂 العلامات لها علاقة بنوع الحقل ، نص او رقم او تاريخ ، و السيد جمال @Elsayed Bn Gemy شرح هذا الموضوع في الرابط 🙂 جعفر
    1 point
  26. السلام عليكم 🙂 1. هذه الرسائل ذو اهمية لعمل البرنامج ، واذا ظهرت مثل هذه الرسالة ، فهذا معناه ان المبرمج اخطأ في شيء ما في الكود ، ويجب علاجة وعدم تجاهله !! رسالتك تقول بأن البرنامج يحتاج الى الحقل cmd_edara_N في عمله ، يعني ان الكود فيه هذا الحقل ، ولكن البرنامج لم يستطع الحصول عليه في النموذج !! فالطريقة الصحيحة في عمل زر البحث او زر فتح تقرير يعتمد على هذه الحقول التي في النموذج هي ، ان لا نعتمد على ان مستخدم البرنامج سوف يُدخل البيانات في هذه الحقول لذلك ، يجب علينا ان نتحقق من ادخال البيانات ، هكذا: Private Sub cmd_Print_Preview_Click() On Error GoTo err_cmd_Print_Preview_Click if len(me.cmd_edara_N & "")=0 then msgbox "رجاء اختيار الإدارة من القائمة" me.cmd_edara_N.setfocus exit sub elseif len(me.Date_From & "")=0 then msgbox "رجاء ادخال قيمة في حقل: تاريخ_من" me.Date_From.setfocus exit sub elseif len(me.Date_To & "")=0 then msgbox "رجاء ادخال قيمة في حقل: تاريخ_الى" me.Date_To.setfocus exit sub endif Dim stDocName As String stDocName = "rpt_Monthly" DoCmd.OpenReport stDocName, acViewPreview Exit_cmd_Print_Preview_Click: Exit Sub err_cmd_Print_Preview_Click: if err.number=2465 then msgbox "هناك احد الحقول فارغة، والتي يحتاج الى قيمته الكود، رجاء تعبئتها ثم النقر على الزر مرة اخرى" Resume Exit_cmd_Print_Preview_Click elseIf Err.Number = 3070 Then MsgBox "احد الحقول مصدر بياناته غير صحيح" Resume Exit_cmd_Print_Preview_Click Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub . وهنا مثال آخر . 2. عند وضع رقم الخطأ في نهاية الكود ، فاننا نتحكم في الرسالة التي نريد ان نجعل المستخدم يراها (لاحظ السطر if err.number = 2465 والاسطر التي تليه) ويمكنك ايضا اصطياد الخطأ بهذه الطريقة: . وفي حالات قليلة ، وجدا ضيقة (مثل زر للإنتقال الى السجل السابق او التالي) نستعمل on error resume next ، والتي معناها لا تجعلني ارى اي رسالة خطأ ، ولكن في حالتنا ، واذا لم نرى رسالة الخطأ ، فلن نعرف لماذا برنامجنا لا يعطي النتائج الصحيحة ، او حتى لماذا لا يفتح التقرير !! جعفر
    1 point
  27. اكتب في السطر الاول من اكوادك on error resume next حسنين
    1 point
  28. السلام عليكم تفضل اخي الكريم اتمنى ان اكون حققت لك ما طلبت ترقيم مع الفلتر.rar
    1 point
  29. أستخدم هذه المعادلة فى "B6 " وأسحبها لأسفل =IF(D6="";"";SUBTOTAL(3;$B$6:B6)) تقبل تحياتى
    1 point
  30. السلام عليكم اخي حماده عمر جرب استبدل الكود المسمى Ad_Refe بالتالي نفس الكود عليه اضافه اعتقد تحل مشكلة رسالة الخطاء Private Sub Ad_Refe() On Error Resume Next With ThisWorkbook.VBProject.References .AddFromFile "C:\Program Files (x86)\Common Files\Microsoft Shared\VBA\VBA6\VBE6.DLL" .AddFromFile "C:\Program Files (x86)\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB" .AddFromFile "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6.DLL" .AddFromGuid "{0002E157-0000-0000-C000-000000000046}", 5, 3 .AddFromFile "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB" End With End Sub جرب وبلغنى بالنتائج تحويل المعادلات الى اكواد_A.rar
    1 point
  31. إخوتي الفضلاء التطبيق الذي سنعمل عليه اليوم ، تطبيق يلزم بعض الإخوة الذين يعملون على الشبكات المحلية الذين يحتاجون تخصيص طابعة معينة لطباعة كل تقرير ، لغايات مختلفة وأسباب مختلفة حسب ظروف المستخدمين وغايات التطبيق أو التقرير. الغاية المشودة الوصول لتحديد طابعة معينة لطباعة تقرير معين بعيداً عن الطابعة الافتراضية للجهاز. وسنقوم هنا بتفصيل الإجراءات ومراحل التطبيق لغايات التوضيح بشكل دقيق قدر الامكان سعياً لعموم الفائدة ، وسعياً لما يكثر تداوله في المنتدى من الحاجة لتوضيح وشرح التطبيقات المقدمة. نبدأ تطبيقنا كما يلي : · انشاء نموذج وفتحه بعرض التصميم · ننشيئ مربع تحرير وسرد جديد : نستخدمه لعرض التقارير الموجودة في التطبيق ، باستخدام كائنات النظام . يكون اسم المربع cboReport ويكون نوع مصدر الصف Row Scurce Type هنا Table/Query ويكون مصدر الصف Row Scurce هنا : SELECT MsysObjects.Name FROM MsysObjects WHERE (((MsysObjects.Name) Not Like "~*") AND ((MsysObjects.Type)=-32764)) ORDER BY MsysObjects.Name; حيث نقوم بذلك باختيار جميع التقارير ، والتي تعرف بالنظام بانها من نوع 32764 ، ونقوم بترتيبها حسب الاسم .........
    1 point
  32. الكود يقول : افصل الذكووورر عن الاناث والا ما فائدة تاء التأنيث اما اذا لم يبقى امام المسلمين الا مشكلة كهذه فليسوا بحاجة الى هذه التاء
    1 point
  33. تفضلي Dim IntWhere As Integer With Me!Textbox IntWhere = InStr(.Value, Textbox) .SetFocus .SelStart = IntWhere - 1 .SelLength = Len(Textbox) End With تحياتي
    1 point
  34. السلام عليكم ورحمة الله وبركاته من بعد اذن الاستاذ ابو نعيم والاستاذ مصلح الحريصي يوجد طريقة بالكود تقوم بإلغاء التضليل للنص في حقل نصي ضعي هذا الكود في حدث عند الدخول او On got Focus Dim IntWhere As Integer With Me!Textbox IntWhere = InStr(.Value, Textbox) .SetFocus .SelStart = IntWhere - 1 End With فقط عدلي اسم النص من Textbox الى الاسم الموجود عندك تحياتي ابو نادر
    1 point
  35. بعد إذن الأخ سهل أذهب لقائمة أدوات ثم خيارات ثم لوحة المفاتيح ثم سلوك إدخال الحقول وأختر الخيار الثاني " الإنتقال إلى بداية الحقل " أو الثالث " الإنتقال إلى نهاية الحقل " حسب رغبتك فالخيار الأول يظلل الحقل بالكامل.
    1 point
  36. ولتطبيق ذلك على نموذج : ضع الكود التالي عند حدث النقر لزر الأمر لعمل فرز تصاعدي عن طريق الحقل المسمى ID Me.OrderByOn = True Me.OrderBy = "[id] ASC" ولعمل فرز تنازيلي Me.OrderByOn = True Me.OrderBy = "[id] DESC"
    1 point
  37. هل يمكن عمل بحث صوتى فى اكسس مثل البحث الصوتى فى جوجل
    0 points
×
×
  • اضف...

Important Information