نجوم المشاركات
Popular Content
Showing content with the highest reputation on 07 سبت, 2024 in all areas
-
إذا كنت ترغب في زيادة عدد المراتب، لا تحتاج إلى تعديل الكود نفسه. الكود مصمم للتعامل مع أي عدد من أوراق العمل التي تبدأ بكلمة “المرتبة”. الجملة الشرطية If Left(ws.Name, 7) = "المرتبة" Then تعني التحقق مما إذا كانت أول سبعة أحرف من اسم ورقة العمل (ws.Name) تساوي كلمة “المرتبة”. شرح الجملة الشرطية بالتفصيل: Left(ws.Name, 7): هذه الدالة تأخذ أول سبعة أحرف من اسم ورقة العمل. على سبيل المثال، إذا كان اسم الورقة هو “المرتبة 1”، فإن Left(ws.Name, 7) ستعيد “المرتبة”. = “المرتبة”: هذه هي المقارنة التي تتحقق مما إذا كانت أول سبعة أحرف تساوي كلمة “المرتبة”. إذا كانت هذه المقارنة صحيحة، فإن الكود داخل الجملة الشرطية سيتم تنفيذه. هذا يعني أن الكود سيعمل فقط على أوراق العمل التي تبدأ أسماؤها بكلمة “المرتبة”. شرح الكود تعطيل تحديث الشاشة والحساب التلقائي: Application.ScreenUpdating = False Application.Calculation = xlCalculationManual يتم تعطيل تحديث الشاشة والحساب التلقائي لتحسين أداء الكود أثناء التنفيذ. التكرار عبر جميع أوراق العمل: For Each ws In ThisWorkbook.Worksheets If Left(ws.Name, 7) = "المرتبة" Then يتم التكرار عبر جميع أوراق العمل في المصنف، ويتم التحقق من أن اسم الورقة يبدأ بكلمة “المرتبة”. الحصول على آخر صف يحتوي على بيانات في العمود “A”: lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row التكرار عبر الصفوف من الأسفل إلى الأعلى: For i = lastRow To 2 Step -1 rank = ws.Cells(i, 4).Value يتم التكرار عبر الصفوف من الأسفل إلى الأعلى للحصول على قيمة المرتبة من العمود “D”. التحقق من أن المرتبة لا تتطابق مع اسم الورقة: If rank <> Mid(ws.Name, 9) Then تحديد ورقة العمل المستهدفة بناءً على المرتبة: On Error Resume Next Set targetWs = ThisWorkbook.Worksheets("المرتبة " & rank) On Error GoTo 0 نقل الصف إلى ورقة العمل المستهدفة وحذف الصف من الورقة الأصلية: If Not targetWs Is Nothing Then targetLastRow = targetWs.Cells(targetWs.Rows.Count, "A").End(xlUp).Row + 1 targetWs.Rows(targetLastRow).Value = ws.Rows(i).Value ws.Rows(i).Delete End If إعادة تمكين تحديث الشاشة والحساب التلقائي: Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic2 points
-
1 point
-
انظر هنا .. سيساعدك في بناء جداولك وانظر ايضا هنا1 point
-
1 point
-
وعليكم السلام Dim strPasswd Dim stDocName As String Dim stLinkCriteria As String On Error GoTo Err_Command6_Click_Error strPasswd = InputBox("Enter Password", "Restricted Form") If strPasswd = "" Or strPasswd = Empty Then MsgBox "لا لم تدحل كلمة المرور", vbInformation, "Required Data" Exit Sub End If If strPasswd = "12345" Then DoCmd.RunCommand acCmdSelectRecord DoCmd.RunCommand acCmdDeleteRecord Else MsgBox "ليس لك الحق بالوصول", vbOKOnly, _ "Important Information" Exit Sub End If Exit_ErrorHandler: Exit Sub Err_Command6_Click_Error: If Err.Number = 2501 Then MsgBox "Delete action cancelled" Resume Exit_ErrorHandler Else MsgBox "Error " & Err.Number & " (" & Err.Description & _ ") in procedure Command6_Click of VBA Document Form_T2 at Line " & Erl Resume Exit_ErrorHandler End If base_pass.accdb1 point
-
1 point
-
كل الشكر والتقدير اخي الكريم عبدالله ماقصرت ربي يزيدك من فضله ونعيمة هل ممكن تتكرم علي ان امكن بشرح عمل الكود وفي حال زيادة عدد المراتب واضافة صفحات هل اقوم فقط بتفعيل الكود؟ وفي حال تم تغيير اسم الصفحة ؟ تقبل خالص التحية والتقدير1 point
-
فيه عندك حاجة اسمها الإرتساء الأفقي والإرتساء الرأسي .. ممكن تتحكم فيه بموقع العنصر ( يمين - يسار - كلاهما ) والإرتساء الرأسي ( للأعلى - للأسفل - كلاهما ) هذا ينطبق على جميع العناصر في النموذج .. جرب تضبطها بنفسك 🙂 النتيجة : ( ويمكنك نقل الأيقونات أيضا إلى اليسار ) 🙂 Modern Main Page With Main Menu ENGLISH.rar1 point
-
1 point
-
وايضا انا جربت على وندوز 7 وشغال تمام اعتقد ان المشكلة ممكن فى اعدادات اللغه عندك (محتمل)1 point
-
اتفضل هذا الملف الخاص بك بعد التعديل كان لا بد لك ان تراجع الكود واذا لم تفهم الفكره تكت لكى نشرح لك الفكره لان الغرض هنا فى المقام الاول لهذا الصرح العظيم هو التعليم اولا ما قمت بعمله هو كالاتى جعلت جميع نوع البيانات فى الجدول من نوع نص قمت باضافة حقلين جدد وهو Other والمقصود منه Type بصراحة كسلت اعدلها ^_^ (اى نوع الفورم "هل هو نموذج ام تقرير") واضفة ايضا ObjName اسم العنصر (اسم الفورم الذى سوف يفتح من الشجرة) ثم قمت باضافة هذا الكود On Error GoTo HandleError Dim IDListObj, IDPriName As Double Dim strObjName, xOtheR As String 'هنا انا بحدد رقم المعرف للفورم من الشجرة لانه هيكون هو معياري IDListObj = Right(Me.TreeView2.SelectedItem.Key, Len(Me.TreeView2.SelectedItem.Key) - 1) ' IDPriName = Nz(DLookup("[Code]", "[Family]", "[ID] =" & IDListObj & "")) 'انا هنا بحاول اوصل لاسم الفورم او التقرير المسجل فى الجدول الخاص ب الاسم المسجل فى الشجرة strObjName = DLookup("[ObjName]", "[Family]", "[ID]=" & IDListObj & "") 'هنا انا محتاج اعرف نوع العنصر ال هيفتح هل هو فورم ولا تقرير xOtheR = DLookup("[Other]", "[Family]", "[ID]=" & IDListObj & "") ' MsgBox IDPriName & " - " & strObjName & " - " & xOtheR 'هنا الكود الخاص بعملية الفتح للنماذج او التقارير If strObjName = "Close" Then Select Case MsgBox(Buttons:=vbYesNo + vbQuestion, Prompt:="هل تريد غلق البرنامج؟", Title:="تنبيه!") Case vbYes DoCmd.Quit acQuitSaveAll Case vbNo Exit Sub End Select Else If xOtheR = "Report" Then DoCmd.OpenReport strObjName, acViewPreview ElseIf xOtheR = "Form" Then DoCmd.OpenForm strObjName, , , , , acDialog End If End If HandleExit: Exit Sub HandleError: If err.Number = 0 Then Exit Sub ElseIf err.Number = 94 Then ' MsgBox "لم يتم تسجيل اسم النموذج فى القائمه بعد؛؛؛" Exit Sub ElseIf err.Number = 2478 Then Exit Sub Else MsgBox err.Number & vbNewLine & vbNewLine & err.DESCRIPTION End If Resume HandleExit اخير اتفضل الملف بعد التعديل شجرة TREE.rar1 point
-
1 point
-
اولا باعتذر عن التأخر فى الرد لظروف الشغل وبعد اذن استاذي / @ابوخليل اسمح لى بالمداخله هذه وهذا حل اخر يمكنك الاستفاده منه وطبعا افضل لك وانصح لك ان تتبع تعليمات استاذى فى عد ادخال اللغه العربيه فى مسميات الجداول والاكواد قدر المستطاع هناك مواضيع فى المنتدي تقدم دائما افضل النصائح للمبتدئين وانا عن نفسي اتعلمت الكثير منهم سائل المولى عز وجل ان يجعله فى ميزان حسناتهم tree.rar1 point
-
اولا لن تتمكن من رفع من مستواك التعليمي وخبرتك البرمجية ما دمت تستخدم الحروف العربية في البرمجة حينما اكتب كودا محكما يشتمل على حروف عربية .. حينما ارجع اليه بعد فترة لا يمكنني فهمه ولا ماذا يعمل معذرة .. لا اكف عن طبعي في اسداء النصائح ، مع علمي بأنها ثقيلة على المتلقي . على كل حال تم تحقيق طلبك بفتح النموذج المحدد بناء على العقدة tree2.accdb1 point
-
السلام عليكم هذا البرنامج عملته في زمن مضى برنامج لتسجيل الأسر : الأجداد والآباء والأبناء والأحفاد بكل يسر وسهولة باستخدام جداول عدة مترابطة و يتم عرضهها في تقرير خاص ايضا استخدمت شجرة الحسابات كمستكشف لعرض الأصول والفروع بطريقة شيقة ولمسات خاصة وبالألوان ولمسات اخرى تجدونها عند تجربة البرنامج ارجوا ممن يستفيد منه الا ينساني من دعوة في ظهر الغيب . Osrah.rar1 point