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

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

  1. Ali Mohamed Ali

    Ali Mohamed Ali

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


    • نقاط

      12

    • Posts

      11643


  2. أبوبسمله

    أبوبسمله

    الخبراء


    • نقاط

      10

    • Posts

      3463


  3. ابوآمنة

    ابوآمنة

    الخبراء


    • نقاط

      8

    • Posts

      713


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

    سليم حاصبيا

    أوفيسنا


    • نقاط

      7

    • Posts

      8723


Popular Content

Showing content with the highest reputation on 01/13/20 in all areas

  1. أ.عبدالعزيز محمد جرب المرفق عسى أن يكون ما طلبت .. عذرا إن كانت الطريقة قديمة شويتين .. ولكن الجودة بالموجوده 😃 Aziz.accdb
    4 points
  2. وعليكم السلام حسب فهمي لطلبك انت ترغب في اضافة بيانات للجدول عن طريق نموذج غير منظم بحيث يتم حفظ ما يتم كتابتة في مربعات النص في النموذج للحفظ في الجدول اذا كان فهمي صحيح جرب المثال المرفق لحفظ وتعديل وحذف والبحث عن طريق نموذج غير مرتبط للتعديل والحذف ابحث اولا عن طريق رقم الملف . مثال.accdb
    3 points
  3. اخي الكريم يجب عليك تثبيت Framework 4.5 يرجى تجربة الملفات المرفقة Setup.rar Debug.rar
    3 points
  4. تم التعديل على الملف السابق كما تريد بالضبط .... وهذا حل اخر ان اردت يمكنك ذلك من خلال قائمة Data ثم تختار Subtotal إدراج صف تلقائى - 1.xlsm
    2 points
  5. بعد اذن اخي حسن مأمون بواسطة هذا الكود تستطيع اختصار 94 حلقة تكرارية (y=6 to 100) في كل دورة من الـــ X من 1 الى Lr اذن لوكان عدد الصفوف 100 صف فاننا نقوم بــ 94×100= 9400 حلقة تكرارية لا حاجه لها يمكن هنا استعمال الدالة Match او الدالة Find لتحديد العامود الذي نريد الصاق قيمة الخلية المطلوب ولا حاجة للدورة ثانية من الحلقات التكراية(y) كما لا ننسى تفريغ النطاق كله قبل مباشرة الكود بالعمل من خلال السطر السادس من الكود وبذلك نوفر الجهد و عدم حشو الذاكرة بشيء لاتستفيد منه اضافة الى تحجيم الملف هذا مثال عن الماكرو كما اتصوره هنا Sub MY_code() Dim x%, lr%, col%, Last_col% Dim Find_cel As Range Last_col = Cells(2, Columns.Count).End(1).Column lr = Cells(Rows.Count, "e").End(3).Row Range("F3").Resize(lr, Last_col - 5).Clear For x = 3 To lr Set Find_cel = Rows(2).Find(Cells(x, "e"), lookat:=1) If Not Find_cel Is Nothing Then col = Find_cel.Column Cells(x, col) = Cells(x, "D") End If Next With Range("F3").Resize(lr, Last_col - 5).SpecialCells(2) .Borders.LineStyle = 1 .Interior.ColorIndex = 6 .Font.Bold = True .HorizontalAlignment = 3 End With End Sub الملف مرفق My_value.xlsm
    2 points
  6. تفضل يمكنك وضع استخدام هذا الكود بحدث الصفحة , بحيث يقوم بإدراج صف فارغ بمجرد إدخال تاريخ مختلف Private Sub Worksheet_Change(ByVal Target As Range) Dim L& If Target.Address = Cells(Rows.Count, 5).End(xlUp).Address Then If IsDate(Target) And IsDate(Target(0)) Then If Target.Value2 <> Target(0).Value2 Then Application.EnableEvents = False Application.ScreenUpdating = False Target.EntireRow.Insert If IsEmpty(Target(-2)) Then L = Target(-1).Row Else L = Application.Max(6, Target(-1).End(xlUp).Row) With Target(0).EntireRow .Interior.ColorIndex = 4 .Interior.Pattern = xlSolid .Columns("B:C").Formula = "=SUM(B" & L & ":B" & Target(-1).Row & ")" .Cells(4).Value2 = "إجمالى اليوم " End With Application.ScreenUpdating = True Application.EnableEvents = True End If End If End If End Sub إدراج صف تلقائى - 1.xlsm
    2 points
  7. 2 points
  8. عملت طريقة Tag ونجح Dim ctl As Control For Each ctl In Me.Controls If ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Then If ctl.Tag = 1 Then ctl.Value = Null End If End If Next ctl الطريقة : تذهب لخصائص الحقل تبويب| غير ذلك | علامة | ضع رقم 1 في الحقول التي تريد تفريغها مع استثناء الترقيم التلقائي . تفريغ الحقول.mdb
    2 points
  9. تمت معالجة الامر Option Explicit Sub MY_Data_New() Application.ScreenUpdating = False Dim SH_from As Worksheet Dim T As Worksheet Dim rg_to_Patse As Range Dim Rt%, MY_max%, ro%: ro = 4 Set T = Sheets("Total") Set rg_to_Patse = T.Range("A3").CurrentRegion Rt = rg_to_Patse.Rows.Count If Rt > 1 Then Set rg_to_Patse = rg_to_Patse.Offset(1).Resize(Rt - 1) Else Set rg_to_Patse = T.Range("B4").Resize(, 5) End If rg_to_Patse.Clear For Each SH_from In Sheets If SH_from.Name <> T.Name Then MY_max = Application.Max(SH_from.Range("A:A")) SH_from.Cells(3, 1).Resize(MY_max, 6).Copy With T.Cells(ro, 1) .PasteSpecial (xlPasteValues) .PasteSpecial (xlPasteFormats) End With ro = ro + MY_max End If Next SH_from With T.Range("A3").Resize(ro - 4, 6) .Sort key1:=Range("b3"), Header:=1 End With Application.ScreenUpdating = True arraNge_all End Sub '+++++++++++++++++++++++++++++++++++ Sub arraNge_all() Application.ScreenUpdating = False Dim nro% Dim MM% nro = Cells(Rows.Count, 1).End(3).Row Dim color_rg As Range For MM = 4 To nro If Range("B" & MM).Interior.ColorIndex = 2 Or _ Range("B" & MM).Interior.ColorIndex = -4142 Then GoTo Next_MM If color_rg Is Nothing Then Set color_rg = Range("B" & MM).Resize(, 5) Else Set color_rg = Union(color_rg, Range("B" & MM).Resize(, 5)) End If Next_MM: Next If color_rg Is Nothing Then GoTo Contenu color_rg.Copy Range("B" & nro + 1) color_rg.EntireRow.Delete Contenu: Range("B4", Range("B3").End(4)).Offset(, -1).Formula = _ "=IF(B4="""","""",MAX($A$3:A3)+1)" With Range("A3").CurrentRegion .Value = .Value .Borders.LineStyle = 1 End With Range("A4").Select Set color_rg = Nothing create_borders Application.ScreenUpdating = True End Sub '+++++++++++++++++++++++++++++++++++ Sub create_borders() Dim My_sh As Worksheet, r For Each My_sh In Sheets If My_sh.Name <> "Total" Then r = My_sh.Cells(Rows.Count, 2).End(3).Row My_sh.Cells.Borders.LineStyle = xlNone My_sh.Range("a2").Resize(r - 1, 6).Borders.LineStyle = 1 End If Next End Sub الملف الأخير Laste_flie.xlsm
    2 points
  10. تفضل لك اكثر مما طلبت نظاما - 1.xlsm
    2 points
  11. السلام عليكم 🙂 هناك الكثير من الميزات/الاوامر التي يعطينا برنامج الاكسس ، والتي يمكن ان نعمل لها بديل ، ولكن يكون هناك فرق في سرعة تنفيذ كودنا مقارنة مع الكود الاصل من الاكسس !! مثل القائمة المختصرة التي تظهر لنا بالنقر على زر الفأرة الايمن ، والتي بها يمكننا ان نستغني عن الكثير الاوامر ، مثل الفرز والتصفية بأنواعه ، ولكن وللأسف الشديد ، فأنا ارى ان 99.99% من البرامج ، يتم حذف هذه القائمة وعدم تفعيلها ، والسبب ان المستخدم يستطيع ان يدخل في تصميم النموذج من خلال هذه الاوامر(في الدائرة الحمراء) : و . ويضطر المبرمج ان يعوض بقية الاوامر في القائمة ، بمجموعة من الازرار ، او بطرق مختلفة !! ----------------------------------------------------------------------------------------------- الاكسس يسمح لنا ان نعمل قوائم مختصرة Shortcut Menu والتابعة لمجموعة CommandBars ، حسب احتياجنا ، ونختار ما نضعه فيها 🙂 هناك 3 انواع من هذه القوائم : الثابته ، والمؤقته ، والمؤقته التي تحتاج الى كود. الثابته: وهي التي عندما نعملها ، تصبح مستقله عن الكود ، وتُحفظ وتبقى في قاعدة البيانات بعد إغلاقها ، ويمكننا ان نستوردها في قاعدة بيانات اخرى عندما نستورد احد/جميع كائنات قاعدة البيانات الآخرى ، بإستخدام : . ونختارها في النموذج : . او التقرير : . هذا مثال لعمل الكود الاساس لعمل قائمة قطع/نسخ/لصق : Option Compare Database Option Explicit Dim cmb As Object Dim cmbCtrl As Object Dim cmbName As String ' ' ' to use: ' Dim cbr As Commandbar ' Dim cbrButton as CommandbarControl ' ' we have to select in the References: ' Microsoft Office xx.x Object Library ' Public Function SCM_Copy(Optional DeleteMe As Boolean = False) On Error Resume Next 'If menu with same name exists delete cmbName = "cmb_Copy" CommandBars(cmbName).Delete If DeleteMe = True Then Exit Function If Err.Number <> 0 Then Err.Clear Set cmb = CommandBars.Add(cmbName, msoBarPopup, False, False) With cmb .Controls.Add msoControlButton, 21, , , False ' Cut .Controls.Add msoControlButton, 19, , , False ' Copy .Controls.Add msoControlButton, 22, , , False ' Paste End With Set cmb = Nothing End Function . وشرح الكود : 1. اسم القائمة المختصرة ، والتي سوف نختارها في النموذج او التقرير ، 2. هذه المجموعة الاساس منبثقة Popup ، 3. بينما هذه المجموعات عبارة عن ازرار Buttons ، وقد تكون قائمة منسدلة Combobox ، او نص Edit نُدخل فيه قيمة معينة للتصفية مثلا ، 4. هل هذه القائمة مؤقته ؟ False معناها ثابته وتُحفظ في قاعدة البيانات ، بينما True معناها انها مؤقته وتعمل لما ننادي الوحدة النمطية/الكود ، 5. هذه ارقام كل امر ، وملف الاكسل المرفق من مايكروسوفت فيه جدول يضم جميع ارقام الاوامر للاكسس 2010 () ، 6. اذا اردنا ان نحذف هذه القائمة ، فننادي الوحدة النمطية بضم True في امر المناداة المؤقته: ونستعمل True في مكان الرقم 4 اعلاه. وهي التي عندما نعملها ، لا تصبح مستقله عن الكود ، ولا تبقى في قاعدة البيانات بعد إغلاقها ، ولا يمكننا ان نستوردها في قاعدة بيانات اخرى عندما نستورد احد/جميع كائنات قاعدة البيانات الآخرى (كما هو الحال مع القائمة الثابته) ، ويجب ان نستخدم "حدث فتح" النموذج/التقرير لعملها واستخدامها في النموذج/التقرير ، و "حدث اغلاق" النموذج/التقرير لحذفها ، طيب ، خلونا نعمل هذه القائمة : Public Function SCM_Copy_Sort(Optional DeleteMe As Boolean = False) On Error Resume Next 'If menu with same name exists delete cmbName = "cmb_Copy_Sort" CommandBars(cmbName).Delete If Err.Number <> 0 Then Err.Clear Set cmb = CommandBars.Add(cmbName, msoBarPopup, False, False) With cmb Set cmbCtrl = .Controls.Add(msoControlButton, 21, , , False) ' Cut cmbCtrl.Caption = "Cut..." cmbCtrl.FaceId = 21 Set cmbCtrl = .Controls.Add(msoControlButton, 19, , , False) ' Copy cmbCtrl.Caption = "Copy..." cmbCtrl.FaceId = 19 Set cmbCtrl = .Controls.Add(msoControlButton, 22, , , False) ' Paste cmbCtrl.Caption = "Paste..." cmbCtrl.FaceId = 22 Set cmbCtrl = .Controls.Add(msoControlButton, 210, , , False) 'Sort Ascending cmbCtrl.BeginGroup = True cmbCtrl.Caption = "فرز تصاعدي..." cmbCtrl.FaceId = 210 Set cmbCtrl = .Controls.Add(msoControlButton, 211, , , False) 'Sort Decending cmbCtrl.Caption = "فرز تنازلي..." cmbCtrl.FaceId = 211 End With Set cmb = Nothing End Function . وشرح الكود: احنا توسعنا في الكود الاساسي ، واضفنا له : 1. تسمية اختيارية غير الافتراضية ، لاحظ في الصورة اعلاه اني استعملت الانجليزي والعربي ، 3. وهو لعمل خط فاصل في الصورة بين مجموعة قطع/نسخ/لصق ومجموعة فرز تصاعدي/تنازلي ، . 2. ممكن ان نبدل الصورة الافتراضية التي تيجي مع الرقم ، بتبديل هذا الرقم (لاحظ صورة الاسهم للتصاعدي/التنازلي) : . ومرفق ارقام جميع الصور الموجودة في الاكسس : . . . . . . . . . . . في قاعدة البيانات المرفقة myRight_Click.mdb ، بالاضافة الى القوائم الثابته اعلاه ، تم اضافة هذه القائمة ايضا : . والتقرير يحتوي على القائمة المؤقته التالية : . - ملف الاكسل myList.xlsx ، اخترت فيه اهم القوائم في وجهة نظري ، - ملف الاكسل AccessControls_2010.xlsx ، من مايكروسوفت ، يحتوي على جميع الاوامر 🙂 جعفر المصادر: http://dev-soln.com/access-shortcut-right-click-tool/ https://www.experts-exchange.com/articles/12904/Understanding-and-using-CommandBars-Part-II-Creating-your-own.html https://filedb.experts-exchange.com/incoming/2014/02_w06/833359/CommandBars-II.mdb https://www.experts-exchange.com/articles/18341/CommandBars-Part-III-Using-Built-in-Shortcut-Menus.html http://www.skrol29.com/us/vtools.php AccessControls_2010.xlsx myList.xlsx myRight_Click.zip
    1 point
  12. السلام عليكم ورحمة الله وبركاته اخواني الاعزاء في هذا المنتدي الكريم من اساتذتنا الكرام في المرفق كشف حضور وغياب لمركز تعليم له ايام محددة لكل شعبة مبينة في الشيت( المفتاح الاساسي) واسماء الطلاب لكل شعبة المطلوب فضلا منكم مايلي.. التنقل بين الشعب من خلال قائمة منسدلة -1 التنقل بين الشهور مع تظليل الايام التي ليس بها دوام لكل شعبة يمنع الكتابة بها -2 حساب نسبة الحضور لكل شعبة-3 في شيت التقرير حساب نسبة الحضور و الغياب لكل الشعب -4 اسال الله ان يكون في ميزان حسناتكم علما ينتفع بة كشف حضور التعليم.xlsx
    1 point
  13. بعد اذن اخواني لكي تتعدد الخيارات اخي الكريم لكي يسهل عليك الامر استخدم الكود التالي Dim dbsNorthwind As DAO.Database Dim rstShippers As DAO.Recordset Set dbsNorthwind = CurrentDb Set rstShippers = dbsNorthwind.OpenRecordset("Table_Name") With rstShippers .AddNew !User_Name = [text1] !Password = [text2] .Update End With
    1 point
  14. اعجبتني هذه المقوله : قَالَ ابْنُ الْمُبَارَكِ: لَا يَزَالُ الْمَرْءُ عَالِمًا مَا طَلَبَ الْعِلْمَ، فَإِذَا ظَنَّ أَنَّهُ قَدْ عَلَمَ؛ فَقَدْ جَهِلَ
    1 point
  15. وعليكم السلام اخي الكريم راجع اعدادات اللغة العربية للنظام انشاء الله ستحل المشكلة
    1 point
  16. وعليكم السلام اخى الفاضل اطلع على هذا الموضوع ستجد فيه ما تريد ان شاء الله تقبل تحياتى وتمنياتى لك وللجميع بالتوفيق
    1 point
  17. توصل بالسلامه ان شاء الله اخى صالح جزاك الله خيرا فى ملحوظه مهمه : بان الكود يعمل لدى لان حقل الترقيم التلقائى بالكود وليس ترقيم تلقائى كما بمثالك اخى صالح جزاك الله خيرا اخى @kaser906 على مشاركتك لنا قد افرغ النص بالتاج اخى كاسر @kaser906 مع الابقاء على حقل الرقم بالفعل والكود التالى الذى توصلت اليه يقوم بنفس العمل يقوم بتفريغ النصوص ما عدا حقل الترقيم وكذلك من غير وضع التاجات فى حين هناك الكثير من مربعات النص ثم الذهاب لسجل جديد Dim ctl As Control On Error Resume Next For Each ctl In Me.Controls If ctl.ControlType = acComboBox Or ctl.ControlType = acTextBox Then 'Add other control types here ctl.Value = "" End If Next ctl Set ctl = Nothing DoCmd.GoToRecord , , acNewRec ولكن يفرغ الحقول وينشىء حقل فارغ واخر تعديل لى مع الترقيم التلقائى مع مثال اخى صالح @ابوآمنة Dim ctl As Control On Error Resume Next For Each ctl In Me.Controls If ctl.ControlType = acComboBox Or ctl.ControlType = acTextBox Then 'Add other control types here ctl.Value = "" End If Next ctl Set ctl = Nothing Me.RecordSource = "" DoCmd.SetWarnings False DoCmd.RunSQL "DELETE Temp3.f1, Temp3.f2, Temp3.F3, Temp3.ID FROM Temp3 WHERE (((Temp3.f1) Is Null)) OR (((Temp3.f2) Is Null)) OR (((Temp3.F3) Is Null));" DoCmd.RunSQL "DROP INDEX ID ON Temp3;" DoCmd.RunSQL "alter table Temp3 drop ID;" DoCmd.RunSQL "alter table Temp3 Add column ID autoincrement;" DoCmd.RunSQL "CREATE UNIQUE INDEX ID on Temp3(ID) ;" DoCmd.SetWarnings True Me.RecordSource = "Temp3" DoCmd.GoToRecord , , acNewRec وفى انتظار شروحاتكم مرفق المثال تقبلوا تحياتى وتمنياتى لكم وللجميع بالتوفيق تفريغ الحقول(1).mdb
    1 point
  18. السلام عليكم جربو هذا الكود فهو يفرغ مربعات النص والكمبو بوكس التي تحتوي على علامة الناج "En" مع اسثناء الحقول التي لا تحمل العلامة فالمفترض حقل الترقيم التلقائي لا يجب وضع علامة التاج اليه Dim ctl As Control For Each ctl In Me.Controls If ctl.Tag = "En" Then ctl = Null End If Next ::بالتوفيق::
    1 point
  19. بارك الله فيك استاذي سليم عمل رائع
    1 point
  20. اخى صالح جزاك الله خيرا قمت بالتجربه على النوذج به حقل الكمبو ومربع النص فقط وعمل بنجاح اما النموذج اللذى به حقل الترقيم لم يعمل ويعطى الخطأ التالى الغريب فالامر ان كود اخى على @Ali Sadiq قد عمل بعض وضع رقم 1 فالتاج تقبلوا تحياتى وفى انتظار اخى صالح @ابوآمنة لرؤيه هذا الخطأ مع العلم بان هذه الطريقه مرهقه ايضا فلدى اكثر من 10 مربعات نص + 2 كومبو جزاكم الله خيرا اخوانى واساتذتى اخى صالح بالنسبه للكود التالى الذى وضعته لمعالجه الخطأ اللذى يظهر يعمل بنجاح لدى على جميع الحقول فى النموذجين الذى به ترقيم والنموذج الفارغ On Error GoTo Err_Handler Dim ctl As Control For Each ctl In Me.Controls If ctl.ControlType = acComboBox Or ctl.ControlType = acTextBox Then 'Add other control types here ctl.Value = "" End If Next ctl Exit_Handler: Set ctl = Nothing Exit Sub Err_Handler: ' Use next line for debugging ' MsgBox "Error " & Err.Number & " - " & Err.Description Resume Exit_Handler
    1 point
  21. ساجرب اكوادك ايضا فكثره الطرق تفيد فالتعلم على راى اخى واستاذى جعفر في اعتقادي ، مشاركة أكثر من شخص في الرد على السؤال ، يفتق الاذهان ويدمج التجارب ويبلور الافكار وفائدة للجميع ، فمنه نتعلم الطرق الاخرى للإجابة على السؤال ساطبق عندى واوفيك بالنتيجه تقبل تحياتى اخى صالح واخى على وكل اخوانى واساتذتى وجزاكم الله عنا كل خير فكل معلومه تضعونها نستفيد منها ولكن فى بعض الاحيان لجهلى لا افهم طريقه عمل الكود واسال حتى اتعلم جزاكم الله خيرا واجمل باقات الورود لكم اخوانى واساتذتى معطره بحبى لكم فالله
    1 point
  22. الله الله عليك استاذنا الفاضل / @essam rabea كود جميل جدا جدا الله يفتح عليك ويجزاك خير الطريقة ليست قديمة بل احدث من الحديث
    1 point
  23. شكرا جدا استاد على محمد على مجهودك العظي❤️م
    1 point
  24. بعد اذن استاذي الكريم Ali Mohamed Ali جرب الكود Sub testttttttttt() Dim x, y Dim lr Application.ScreenUpdating = False lr = Cells(Rows.Count, "e").End(3).Row For x = 3 To lr For y = 6 To 100 If Cells(x, "e").Text = Cells(2, y) Then Cells(x, y).Value = Cells(x, "d").Value End If Next Next Application.ScreenUpdating = True End Sub
    1 point
  25. وعليكم السلام-فقط عليك استخدام هذه المعادلة =IF($E3=$F$2:$AK$2,$D3,"") توجيه المبلغ1.xlsx
    1 point
  26. Dim ctl As Control For Each ctl In Me.Controls If ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Then If ctl.Value <> "" Then ctl.Value = "" End If End If Next ctl جرب هذا الكود
    1 point
  27. وعليكم السلام-تظهر معك هذه المشكلة لأنك لم تقم بضبط اللغة العربية لديك بالشكل الصحيح-فالملف يعمل عندى بكفاءة فيجب عليك ضبط اللغة بالشكل الصحيح كما بالصورة وهتلاقى كل شيء على اكمل وجه وكان عليك استخدام خاصية البحث بالمنتدى فقد تم تناول هذا الموضوع مئات المرات ومنها: تعديل وضبط كود التفقيط
    1 point
  28. ويمكن أيضا العكس وضع Tag في حقل المراد استثناءه If ctl.Tag <> 1 Then لكن لم اجرب
    1 point
  29. استاذ / @أحمد الفلاحجى الله يفتح عليك فعلا قد اتضحت الصورة الآن بارك الله فيك وجعله في ميزان حسناتك الأن فى انتظار استاذنا / @kha9009lid
    1 point
  30. السلام عليكم اخواني واساتذتي في مشاركتي الاولى وضعت الكود بس الظاهر ما في ولا واحد جرب الكود على العموم انا مجرب الكود ويعمل على تفريغ كل الحقول من الفورم الرقم التلقائي ومربعات التحرير والسرد ما عدا التاريخ
    1 point
  31. حياك أخي احمد للأسف حاولت الاستثناء لكن لم يفلح . لعل الأخوة الزملاء يفتح الله عليهم بطريقة استثناء حقل الترقيم التلقائي .
    1 point
  32. أستاذ عماد محمد عبد العزيز لماذل لا تقوم بالضغط على الإعجاب ؟!!! 💙 وأعتقد ان هذا اقل ما يقدم لصاحب الفضل عليك بعد ربنا فى حل مشكلتك
    1 point
  33. اتفضل اخى بعد ما تختار التاريخ وتخرج هيرقم تلقائى تقبل تحياتى وتمنياتى لك وللجميع بالتوفيق تجربة.rar
    1 point
  34. الشكر لله اخى يوسف ثم لاخواننا واساتذتنا اللذين تعلمنا ونتعلم منهم بارك الله فيهم وجزاهم الله عنا كل خير وان شاء الله احد اخواننا واساتذتنا ينظر فى طلبك تقبل تحياتى وتمنياتى لك وللجميع بالتوفيق
    1 point
  35. اخى العزيز @حلبي انظر الصور الى ان يشرح لنا اخى واستاذى @kha9009lid الطريقه وان شاء الله تكون سهله بامر الله تعالى علينا ان شاء الله تكون اتضحت الصوره لديك اخى حلبى تقبل تحياتى وتمنياتى لك وللجميع بالتوفيق ان شاء الله
    1 point
  36. السلام عليكم ورحمة الله تم إضافة بعض التسميات وأكواد في حدث الشيت... أرجو أن تفي الغرض المطلوب.... بن علية حاجي حضور.xlsm
    1 point
  37. اهلا وسهلا استاذي ابو بسملة الحقيقة الطريقة التي استخدمها تختلف قليلا عن هذه الطريق وان كانت تشترك معها في استخدام اكواد او وسوم xml الطريقة متعبة وتحتاج الى معرفة بهذة الوسوم او على الاقل المعرفة بلغة ترميز النصوص المتشعبة html الخاصة ببناء صفحات الانترنت لوجود تشابه بينهما طريقتي باختصار كتابة الوسوم ووضع id لكل امر اما طريقة تنفيذ الامر فعن طريق وحدة نمطية مع ان النتيجة رائعة الا ان الطريقة متعبة جدا وسوف احاول بعون الله ان اضع موضوع يشرح الطريقة واعتذر اذاكان الرد غير مفيد واستعير عبارة جميلة لاخي واستاذي الفاضل @essam rabea "انا راجل عجوز" فانا فعلا رجل عحوز والشروحات مرهقة جدا
    1 point
  38. وعليكم السلام-تفضل لك ما طلبت Classeur4.xlsx
    1 point
  39. تفضل هذه فكرة مبدئية تم عملها على VB.NET مرفق ملف التثبيت و ملف المشروع بالكامل اسم المستخدم : 1 كلمة المرور : 1 WindowsApplication1.zip publish.zip
    1 point
  40. بارك الله فيك أستاذنا الفاضل علي محمد علي وبعد إذنك أرى أن يتم أيضا الكود في حدث ThisWorkBook Private Sub Workbook_BeforeClose(Cancel As Boolean) show_menu End Sub حتى يعود الإكسيل للوضع الافتراضي بعد غلق هذا الملف فعندما يتم فتح ملف آخر لا يجد الشريط مخفى ويحدث هذا الأمر على الأكثر في إصدرات الأوفيس القديمة Hide.xlsm
    1 point
  41. السلام عليكم حبيت اعمل مشاركة بسيطة وياكم بعض اكواد VBA لكل من يبي يعمل واجهة نظامية تحياتي ADO.rar
    1 point
  42. وعلشان اصطياد الخطأ يشتغل ، السطر الثاني يخبر الكود اين يذهب عندما يجد الخطأ: Private Sub أمر2_Click() On Error GoTo err_Report فهل عندك هذا السطر في الكود جعفر
    1 point
  43. استاذي الصورة اللي وضعتها فقط للخطأ هذا هو الكود اللي وضعته بالكامل ويطلع الخطأ Dim rst As DAO.Recordset mySQL = "SELECT Tbl_Month.exchange, Tbl_Month.Monthly, Tbl_Month.Yaree" mySQL = mySQL & " FROM Tbl_Month_exchange INNER JOIN Tbl_Month ON (Tbl_Month_exchange.Yaree = Tbl_Month.Yaree) AND (Tbl_Month_exchange.Monthly = Tbl_Month.Monthly)" mySQL = mySQL & " WHERE (((Tbl_Month.Monthly)=" & Forms!frm_3!Monthly & ") And ((Tbl_Month.Yaree)=" & Forms!frm_3!Yaree & "))" Set rst = CurrentDb.OpenRecordset(mySQL) rst.MoveLast: rst.MoveFirst RC = rst.RecordCount If rst!exchange > 0 Then MsgBox "Exchange field value is Greater than Zero" Else MsgBox "Not Greater than Zero" End If Exit_Report: rst.Close: Set rst = Nothing Exit Sub err_Report: If Err.Number = 3021 Then MsgBox "لا يوجد تشابه بين الجدولين" Resume Exit_Report Else MsgBox Err.Number & vbCrLf & Err.Description End If
    1 point
  44. كل اللي اقدر اقوله: الله يسامحك ، نسخت جزء من الكود ، وجزء تركته شوف رقم الخطأ اللي ظهر لك: 3021 ، وشوف الكود حقي كيف يصطاد هذا الرقم If Err.Number = 3021 Then MsgBox "لا يوجد تشابه بين الجدولين" Resume Exit_Report Else جعفر
    1 point
  45. بدل هذا السطر MsgBox "Exchange field value is " & rst!Exchange استعمل if rst!Exchange >0 then MsgBox "Exchange field value is Greater than Zero" else msgbox "Not Greater than Zero" endif
    1 point
  46. الله يعطيك العافية استاذي نسيت تضيف شرط ان تكون قيمة الحقل exchange اكبر من صفر
    1 point
  47. تفضل في هذا الاستعلام ، اذا الحقلين Monthly و Yaree كانوا متساوين في الجدولين ، سنحصل على سجلات ، واذا لا ، فلن نحصل على سجلات ، وبالزر اليمين في الاستعلام ، طلبنا رؤية الاستعلام بطريقة SQL ، فعملت نسخه منه ووضعته في الكود: Private Sub أمر2_Click() On Error GoTo err_Report 'If DCount("[coodkind]", "Tbl_Month", "[exchange]>0 And [Yaree] = Forms![frm_3]![Yaree] and Monthly = Forms![frm_3]![Monthly]") > 0 Then 'msg " اكمل السجلات بالجدول " Dim rst As DAO.Recordset mySQL = "SELECT Tbl_Month.exchange, Tbl_Month.Monthly, Tbl_Month.Yaree" mySQL = mySQL & " FROM Tbl_Month_exchange INNER JOIN Tbl_Month ON (Tbl_Month_exchange.Yaree = Tbl_Month.Yaree) AND (Tbl_Month_exchange.Monthly = Tbl_Month.Monthly)" mySQL = mySQL & " WHERE (((Tbl_Month.Monthly)=" & Forms!frm_3!Monthly & ") And ((Tbl_Month.Yaree)=" & Forms!frm_3!Yaree & "))" Set rst = CurrentDb.OpenRecordset(mySQL) rst.MoveLast: rst.MoveFirst RC = rst.RecordCount MsgBox "Exchange field value is " & rst!Exchange Exit_Report: rst.Close: Set rst = Nothing Exit Sub err_Report: If Err.Number = 3021 Then MsgBox "لا يوجد تشابه بين الجدولين" Resume Exit_Report Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub جعفر 592.countmy.accdb.zip
    1 point
  48. ان شاء الله تكون الصورة هذي توضح المطلوب
    1 point
  49. المثال الثاني مثل السابق مع الحماية باستخدام كلمة سر و هي 1234 لأن الحالة السابقة يمكن فك الحماية من القوائم مباشرة Sub Pr1() ActiveSheet.Protect Password:=1234, DrawingObjects:=True, Contents:=True, Scenarios:=True End Sub Sub Pr2() x = InputBox("please enter PAssword '1234'", "Password", 123) If x <> 1234 Then MsgBox "Sorry You are not Allowed !!! " Exit Sub End If ActiveSheet.Protect Password:=1234, DrawingObjects:=False, Contents:=False, Scenarios:=False End Sub UnprotectSheetPass.xls
    1 point
×
×
  • اضف...

Important Information