نجوم المشاركات
Popular Content
Showing content with the highest reputation on 29 ينا, 2023 in all areas
-
أهلا @محمد احمد لطفى الشفرة التالية تفي بالغرض إن شاء الله.. Private Sub أمر0_Click() On Error GoTo ERR_CODES Dim HTML_FILE_NAME As String Dim HTML_TITLE As String Dim TABLE_NAME As String Dim SQL As String '-- ASSIGNING VALUES TO SQL STATMENT VARIABLES Const HTML_SPECIFICATION As String = " [HTML IMPORT;HDR=YES;] " HTML_FILE_NAME = CurrentProject.Path & "\" & "0125.HTML" '.. THE HTML FILE IS THE DATABASE HTML_TITLE = "0125" '.. THE HTML TABLE NAME IS THE HTML TITLE CREATE_TABLE_SQL: '-- ASSIGNING TABLE NAME USING INPUTBOX TABLE_NAME = InputBox(Err.Description & " Plase Enter New Table Name.", _ "New Table Name", , Me.WindowWidth / 2, Me.WindowHeight / 2) If Len(TABLE_NAME) = 0 Then GoTo EXIT_SUB End If '-- CREATE SQL STATMENT SQL = "" SQL = SQL & " SELECT * INTO " & TABLE_NAME SQL = SQL & " FROM " & HTML_TITLE SQL = SQL & " IN'" & HTML_FILE_NAME & "'" SQL = SQL & HTML_SPECIFICATION '-- EXECUTE SQL STATEMENT TO CREATE TABLE CurrentDb.Execute SQL Application.RefreshDatabaseWindow EXIT_SUB: Exit Sub ERR_CODES: If Err.Number = 3010 Then GoTo CREATE_TABLE_SQL Else MsgBox Err.Number & vbNewLine & Err.Description End If End Sub IMPORT_HTML_TABLE.zip4 points
-
السلام عليكم 🙂 كود اخوي ابو بسملة = تفتح قاعدة بيانات خارجية ، وتغير اسم النموذج الذي يفتح البرنامج الخارجي ، بينما كودي انا = تفتح قاعدة بيانات خارجية ، وتفتح النموذج الذي تريد 🙂 قمت بتجربة برنامجي على 3 كمبيوترات: وندوز ، اكسس 2010 32بت ، وندوز 7 ، اكسس 2019 64بت ، وندوز 10 ، اكسس 365 64بت ، واشتغل تمام : . والكود : Option Compare Database Option Explicit Dim appAccess As Object Dim DB_Path As String ' Private Sub cmd_Open_frm_1_Click() On Error GoTo err_cmd_Open_frm_1_Click 'if the Remote Application/Form is open, close it first appAccess.DoCmd.Quit Set appAccess = CreateObject("Access.Application") DB_Path = CurrentProject.Path & "\a.accdb" appAccess.OpenCurrentDatabase (DB_Path) appAccess.DoCmd.OpenForm "frm_1" appAccess.Visible = True appAccess.UserControl = True Set appAccess = Nothing appAccess.DoCmd.Quit Exit_cmd_Open_frm_1_Click: Exit Sub err_cmd_Open_frm_1_Click: If Err.Number = 91 Or Err.Number = 462 Then 'the application is NOT open, ignore the error Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_cmd_Open_frm_1_Click End If End Sub Private Sub cmd_Open_frm_2_Click() On Error GoTo err_cmd_Open_frm_2_Click 'if the Remote Application/Form is open, close it first appAccess.DoCmd.Quit Set appAccess = CreateObject("Access.Application") DB_Path = CurrentProject.Path & "\a.accdb" appAccess.OpenCurrentDatabase (DB_Path) appAccess.DoCmd.OpenForm "frm_2" appAccess.Visible = True appAccess.UserControl = True 'Set appAccess = Nothing Exit_cmd_Open_frm_2_Click: Exit Sub err_cmd_Open_frm_2_Click: If Err.Number = 91 Or Err.Number = 462 Then 'the application is NOT open, ignore the error Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_cmd_Open_frm_2_Click End If End Sub Private Sub cmd_quit_Click() On Error GoTo err_cmd_quit_Click GetObject(DB_Path).Application.Quit Exit_cmd_quit_Click: Exit Sub err_cmd_quit_Click: MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_cmd_quit_Click End Sub جعفر Open Form another DB_jj.zip4 points
-
السلام عليكم هدية بسيطة جدا لكم وهو رد جميل كل من ساعدني القاعده ربما تنيرك بفكرة ما وليس شرط استخدامه نواة القاعدة 64بت تم بناؤها بإصدار اوفيس 2016 اللغة الإداريه (العربية) البرنامج بسيط واكواده بسيطة ويعتبر من اوائل البرامج اللي صممتها وشغاله تمام بإذن الله واعدكم بتطويره في اقرب وقت واعادة رفعه وسأخذ ردودكم واقتراحاتكم بعين الاعتبار البرنامج يستهدف لمن لدية مكتب عقار ويريد تنظيم العقود إلكترونيا يمكنك من خلاله تسجيل عقود إيجار العملاء بكافة تفاصيله وكذلك تسجيل الدفعات برنامج إدارة الأملاك والعقارات برنامج لإدارة العقارات والملاك و عقود التأجير والتقسيط بشكل تفصيلي يمكنك طباعة البيانات الأساسية والدفعات لعرضها للعميل النسخة هي النسخة المختصرة بحيث يتم فيها تسجيل البيانات الأساسية للعقار وبيان الدفعات حيث النسخة التفصيلية نقوم بإنشائها الأن يمكنك البحث بشكل سريع عن أي رقم عقد ليعرض لك بيانات العقد والدفعات البرنامج يقوم بتنبيهك في حال انتهاء الايجار او باقي على انتهاء العقد خلال شهر او اربع شهور او عشر أيام ----- بعض الصور تأجير لمتابعة العقود والايجارات.rar3 points
-
تفضل Dim i As String, x As Integer i = Me.Specialty x = DCount("*", "tblDoctors", "[Specialty]=" & i) + 1 Me.DoctorID = i & "/" & Format(Str(x), "000") ID2.rar3 points
-
3 points
-
السلام عليكم 🙂 اخي الفاضل @Ahmed_J مبروك علينا ترقيتك الى درجة خبير ، تستاهل 🙂 ولازلنا نبحث عن خبراء جدد 🙂 جعفر2 points
-
تفضل ولكن عندي لك نصائح تخص التسميات لا بد ان تنتبه لها مستقبلا - تجنب تسمية الحقول او الكائنات باسماء محجوزة في اكسس مثل Date او اي دالة من دوال الاكسس - تجنب ترك مسافات فارغة عند التسمية في كلمتين مثلا طبعا هذه وجدتها في مثالك وقمت بتعديلها تفضل Dim i As String, x As Integer i = Format(Me.p_Date, "mmyy") x = DCount("*", "tblPatients") + 1 Me.PatientID = i & "/" & Format(Str(x), "000") ID4.rar2 points
-
يعمل ياعم احمد انا جربته بشكل سريع على نفس الاجهزة في مشاركتي السابقة ولم يعمل على جهاز بنظام ويندوز 2003 ستاندر اديشن ولم اجرب مثال اخي جعفر على هذا الجهاز واكتفيت بماتم الاشارة اليه تحياتي2 points
-
اخي العزيز ابو ابراهيم هذا السطر يجلب من الصفحة شرط وجود الجدول مسبقا في قاعدة البيانات DoCmd.TransferText acImportHTML, , "HTML1", CurrentProject.Path & "\0125.html", True, "0125" اذا جعلت اسماء الحقول في الجدول f1 , f2 ,f3 ....... وهكذا ، واستبدلت true بـــــــــ false يجلب البيانات + رأس العمود واذا سميت الحقول مثل ما هي في الصفحة لا يعمل الا مع true ويجلب جسم الجدول ولكن لا يظهر السجل الأول لو القيت نظرة بارك الله فيك IMPORT_HTML2.rar2 points
-
أسأل الله تعالى ان يجعله في ميزان حسناتكم ويجعلكم في الجنة في أعلى مقاماتها ما شاء الله عليك أسأل الله لكم القبول والخير كله ظاهره وباطنه طبعا الحمد لله كله اصبح تمام بفضل الله ثم بفضلكم2 points
-
بالفعل يوجدكود بالملف PDF و ايضاً xlsm لتوضيح تفضل نسخة من بيات توزيع المواد الغذائية (2).xlsm الكود المستخدم Sub PDF() Dim fName As String Application.ScreenUpdating = False ' Application.DisplayAlerts = False '' With Worksheets("mo1") fName = Left(ThisWorkbook.Name, (InStrRev(ThisWorkbook.Name, ".", -1, vbTextCompare) - 1)) End With ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & Cells(3, 6).Text, Quality:=xlQualityMinimum, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False Application.ScreenUpdating = True ' Application.DisplayAlerts = True '' End Sub2 points
-
استخدم هذه الفنكشن لتغيير startupform Private Function ChangeProperty(strPropName As String, varPropType As Variant, varPropValue As Variant) As Boolean Dim db As Database, prp As Property Const conPropNotFoundError = 3270 On Error GoTo Change_Err Set db = CurrentDb db.Properties(strPropName) = varPropValue ChangeProperty = True Exit Function Change_Err: If Err = conPropNotFoundError Then Set prp = db.CreateProperty(strPropName, varPropType, varPropValue) db.Properties.Append prp Resume Next Else ChangeProperty = False Exit Function End If End Function واستدعيه ChangeProperty "StartupForm", dbText, "YourFormName"2 points
-
2 points
-
السلام عليكم ورحمة الله وبركاته حقيقة مررت بهذا الموضوع منذ أكثر من ساعة وعملت علي هذا المرفق - ولم أري رد استاذنا ومعلمنا @ابوخليل جزاه الله خيرا ولا شك ليس بعد رده ردود أخري ولكن هذا بعض جهد المقل ولعله يضيف الي الموضوع ولو يسيرا ID.rar1 point
-
الاكسس : يحفظ بالكود القديم اثناء تجاربك ، وبعدما تنتهي وتضبط الكود ، جزء من الكود القديم قد يكون موجود ويسبب مشكلة ، والضغط والاصلاح لا يُنظف الكود القديم ، وانما تحتاج الى الدالة Decompile ، يحتفظ بالسجلات المحذوفة ، الى ان تعمل ضغط واصلاح ، يعيد عمل الفهرسة للجداول والاستعلامات ، بعد الضغط والاصلاح ، هناك حدود معينة لكل كائن تقريبا ، فمثلا في النموذج/التقرير تستطيع ان تُضيف/تحذف 754 كائن او قسم (في التقرير) ، وبعدها لن يعمل النموذج/التقرير ، والضغط والاصلاح يحل المشكلة ، طريقة عمل الضغط والاصلاح ، بأن يقوم الاكسس بعمل قاعدة بيانات جديدة ، ويستورد فيها جميع كائنات وخصائص قاعدة بياناتك الحالية ، وبما انها قاعدة بيانات جديدة ، فيتم عمل "اعادة تعيين" Reset لجميع الاشياء السابقة ، وطبعا لأشياء اخرى ما اذكرها او اعرفها 🙂 طريقة الاستيراد هي لعمل جزء معين من الرقم # 5 اعلاه ، وبعض الاحيان تحل مشاكل ما يقدر عليها الضغط والاصلاح ، مثل عند تغيير طريقة الصور في النموذج من مضمن/مرتبط/مشارك ، فهو يستطيع ان يُرجع للبرنامج حجمه الجديد 🙂 والبرنامج اللي في الرابط اعلاه ، يقوم بكل ذلك ، مع الاحتفاظ بنسخة من برنامجك ، وللعلم ن اثناء برمجتي ، فانا استعمل البرنامج اعلاه كلما عملت اضافة على البرنامج اللي اشتغل عليه ، يعني يمكن في اليوم اعمل عليه 4-8 مرات لنفس البرنامج ، والميزة الاخرى للنسخ ، امه يمكن تحتاج ان ترجع لها لأي سبب (وصارت معدي عدة مرات ، بعد التعديل ، وبعد يومين او ثلاثة يتضح لي ان الجزئية اليابقة محتاج لها ، فارجع للنسخ القديمة) 🙂 جعفر1 point
-
1 point
-
1 point
-
اخي elkareee ليس انا صاحب افضل اجابة وإنما صاحب افضل اجابة هو الاستاذ محي الدين ابو البشر فيرجي.. اعطاء كل زي حق حقه وفقنا الله واياكم الي ماهو خيراً1 point
-
يمكن الاطلاع على الرابط يمكن يفيدك إن شاء الله https://www.officena.net/ib/topic/20819-ترحيل-الى-صفحة-آخرى-على-حسب-لون-الخلية/ https://www.officena.net/ib/topic/53328-ترحيل-اعمده-معينة-بناء-على-لون-خليه-فى-عمود-معين/ كما يمكنك الاطلاع على الرابط التالي أيضا1 point
-
أهلا @ابوخليل لا أعتقد أن هذه العبارة صحيحة، والسطر التالي يوضح المقصود DoCmd.TransferText acImportHTML ,,InputBox("plase Enter Table Name"),currentproject.Path & "\0125.html",true,"0125" DoCmd.TransferText acImportHTML ما هو إلا نهج مغلف لنفس الإجراء المقدم في إجابتي السابقة! وهي تعليمية أكثر منها إجابة، والنهبج المشار إليه سهل وبسيط! كما لا يفوتني أن أشكرك علي عتب المحب المغلف بهذه الإلماحة..😇1 point
-
لا يوجد اسف بين الاخوان اخى ابوالبشر وانت اخ عزيز علينا وفيك بارك الله اخى هل شاهدت الفيديو ؟ واياكم اخى وشغال معايا تمام معلمنا العزيز جعفر وجزاك الله عنا كل خير اخى ومعلمى 💐 ولكن اصل السؤال لاخى ابوالبشر 👇 فهل قام احد الاخوه بتجربه المثال لان المثال لم يعمل مع اخى ابو البشر ولا اعلم اين المشكله1 point
-
1 point
-
قم بتجربة التالي لعله يفيد عدد مرات تكرار الشهر.xlsx1 point
-
1 point
-
بداية جزاكم الله خيرا على هذا العمل الرائع الذي أسأل الله تعالى ان يجعله في ميزان حسناتكم ويجعلكم في الجنة في أعلى مقاماتها ما شاء الله عليك أسأل الله لكم القبول والخير كله ظاهره وباطنه وشكرا على التوضيح1 point
-
1 point
-
تم التعديل وتصحيح هفوة اكتشفتها بالصدفة. اختر هذه المشاركة كأفضل إجابة بعد إلغاء الاختيار الأسبق. التكرار في اللجان_06.xlsm1 point
-
1 point
-
للأسف لم تنجح محاولاتي .. ولكن كحل سريع لتخرج من مشكلة تعيين الخاصية هذه .. افتح قاعدة البيانات المطلوبة ومن الخصائص ضع أي نموذج بداية للقاعدة يدويا .. وبهذا تستطيع بعدها من تغيير اسم النموذج بالكود بدون مشاكل 🙂1 point
-
1 point
-
تنسيق الخليه عندك معمول text اجعله general وسوف يعمل الكود تفضل invoice ss new (1).xlsm1 point
-
وعلام الاسف اخى ابو البشر ليس هناك ما يستدعى الاسف بارك الله فيك اطلع ع الفيديو لان لا يوجد عندى برامج للصور المتحركه الان بالتوفيق اخى Video_2023-01-28_2.rar1 point
-
السلام عليكم مرفق حل بالمعادلات فقط (شرط ان لا تتكرر اسماء الدول فى السطر رقم 2) قوائم منسدلة ديناميكية.xlsx1 point
-
للفائدة هذي دالة Function وضيفتها تعيين الخواص لقاعدة البيانات .. وفي حال لو لقيها ما موجودة ينشأها 🙂 Public Enum propType PropTypeString = 1 PropTypeInteger = 2 PropTypeDouble = 3 PropTypeBoolean = 4 PropTypeDate = 5 End Enum Function CreateProperty(propName As String, propType As propType, propValue As Variant) ' Chat GPT On Error Resume Next Dim app As dao.Database Set app = CurrentDb app.CreateProperty propName, propType, propValue, True If Err.Number <> 0 Then ' Property already exists, set the value app.Properties(propName) = propValue End If On Error GoTo 0 End Function وتناديها بهذي الطريقة : Call CreateProperty("MyProperty", PropTypeString, "Hello World!")1 point
-
السلام عليكم بالنسبة لعدد البيانات 100 او 1000 موظف لكل شهر ليس بكثير لجمعه في جدول واحد ويوجد طرق أخرى لتجميع الجداول خلاف ما تم شرحه مسبقا وممكن حل اخر باستخدام Power Query كما في الملف التالي Evaluation 1.xlsx ودا مش ها تفرق معاه كمية البيانات وطريقة الحل مشروحة في الفيديو التالي شرح دمج الجداول بواسطة Excel Power Query1 point
-
مشاركة مع اخي ابو احمد .. كنت عملت عملا مشابها ايام الشباب .. يعني يوم انا ولد .. وقد بحث عنه حتى وجدته ، وقمت بالتعديل عليه بما يتوافق وطلب اخونا عمران اولا نصيحة وتوجيه حول تصميم قواعد البيانات عامة : تكرار البيانات في اكثر من جدول غير صحي بل هو مخالف للطرق التي ينصح بها عند تصميم الجداول فمثلا يوجد في القاعدة جدولا لبيانات الطلاب كاملة : المعرف والاسم والصف والعنوان .... الخ ، وعند الاطلاع على جدول الدرجات نرى مجموعة من هذه البيانات مكررة والطريقة الصحيحة ان يكتفى في جدول الدرجات على معرف الطالب فقط ودرجات المواد فإذا اردنا عرض بعض بيانات الطالب مع درجاته فالاستعلام كفيل بعرض كل شيء كتبت هذه المقدمة للفائدة وللتنبيه اني تصرفت في جدول الدرجات كما ينبغي ان يكون . الكود يرتب البيانات داخل جدول جديد مؤقت حسب الطلب آمل ان يحظى باستحسانكم ملحوظة : اخي عمران اذا لم يرق لك تعديلي على الجدول فيمكن للكود العمل على الجدول الأصلي ... فقط نعدل على ارقام داخل الكود Dim Rs, Rst, rsq As Recordset, Dbs As Database Dim r, x, i, q, j, j2 As Integer Set Dbs = CurrentDb Set Rs = Dbs.OpenRecordset("TBL_grades") Set Rst = Dbs.OpenRecordset("tbl_temp") Set rsq = Dbs.OpenRecordset("SELECT DISTINCT TBL_grades.IDStudent FROM TBL_grades") DoCmd.SetWarnings False DoCmd.RunSQL ("DELETE tbl_temp.* FROM tbl_temp") DoCmd.SetWarnings True Rs.MoveFirst rsq.MoveFirst r = Rs.RecordCount q = rsq.RecordCount For i = 0 To q Rst.AddNew Rst.Fields(1) = rsq.Fields(0) x = 2 For j = 1 To 8 j2 = 2 For j2 = 2 To 5 Rst.Fields(x) = Rs.Fields(j2) x = x + 1 Next j2 Rs.MoveNext Next j Rst.Update rsq.MoveNext Next i MsgBox "تم اعداد الجدول" تحويل اعمدة الى صف.rar1 point
-
مرحب فيك شوف المرفق وطبق حسب احتياجك اعتقد النموذج اللي اسمه (ترقيم حسب الاختيار ) هو اللي بيخدمك انا كنت مجهز شرح لموضوع الترقيم لكن ما اسعفني الوقت الترقيم.accdb1 point
-
عليكم السلام ورحمة الله وبركاته تفضل أخي الكريم Sub test() With Sheets("يومية الحضور والإنصراف").Range("B4:C" & Sheets("يومية الحضور والإنصراف").Cells(Rows.Count, 1).End(xlUp).Row) .Formula = "=IFERROR(VLOOKUP($A:$A,Table9,COLUMN(),0),"""")" .Value = .Value End With With Sheets("رصيد الأجازات").Range("B3:D" & Sheets("رصيد الأجازات").Cells(Rows.Count, 2).End(xlUp).Row) .Formula = "=IFERROR(VLOOKUP($A:$A,Table9,COLUMN(),0),"""")" .Offset(, 3).Resize(, 1).Formula = "=IFERROR(IF(DATEDIF([@[تاريخ التعيين]],$D$1,""D"")/30>3.1,""يستحق"",""""),"""")" .Offset(, 5).Resize(, 1).Formula = "=IF([@[معادلة الرصيد]]=""يستحق"",$O$1+[@[معالجة الرصيد]],0)" .Offset(, 6).Resize(, 1).Formula = "=[@[الرصيد المرحل]]+[@[رصيد 2023]]" .Offset(, 7).Resize(, 1).Formula = "=(COUNTIFS('يومية الحضور والإنصراف'!$A:$A,$A3,'يومية الحضور والإنصراف'!$H:$H,""أجازة"")+(COUNTIFS('يومية الحضور والإنصراف'!$A:$A,$A3,'يومية الحضور والإنصراف'!$H:$H,""أجازة مجمعة"")))" .Offset(, 8).Resize(, 1).Formula = "=(COUNTIFS('يومية الحضور والإنصراف'!$A:$A,$A4,'يومية الحضور والإنصراف'!$H:$H,""أجازة عارضة""))" .Offset(, 9).Resize(, 1).Formula = "=IF(E3=""يستحق"",$N$1-[@[ عارضة]],0)" .Offset(, 10).Resize(, 1).Formula = "=(([@[إجمالي الرصيد المستحق]]-([@[ سنوي]]+[@[ عارضة]]+[@[تسوية نقدي]])))-[@[باقي رصيد العارضة]]" .Offset(, 11).Resize(, 1).Formula = "=([@[باقي رصيد السنوي ]]+[@[باقي رصيد العارضة]])" With .Resize(, 12) .Value = .Value End With End With End Sub1 point
-
جرب هذه الفكرة ، هذا اللي في بالي الآن ، قد تكون أفكار أفضل عند الزملاء. أعتقد الاستعلام الوحيد الذي يحتاج تدخل يدويا عند زيادة أو نقص عدد المواد هو استعلام Q_Grades_Result وهذه المشكلة ممكن التغلب عليها بتصميم الاستعلام بالكود عند الرغبة. اترك التجارب عليك ، احذف أو زد مادة وافحص النتائج. Gradedata_03.accdb1 point
-
حياك الله اخوي @طاهر الوليدي نعم في الملف الاخير العملاء4 توجد هذه الخاصية تستطيع البحث في حقل الاسم فقط وذلك بازالة الاختيار من بافي الخانات , لقد ثبتت حقل الاسم في البحث في هذا المثال فقط لانة ممكن ان تتشابة البيانات مثل رقم العمارة او رقم الشقة مثلا لذلك وضعت حقل الاسم ثابت في البحث هذا فقط في هذا المثال. جرب الملف اضغط على إلغاء التحديد ستبقى خانة الاسم فقط هي المتوفرة للبحث حاول ان تبحث عن اي شيء غير الاسم لن تحصل على اي نتيجة لان البحث والتركيز فقط على حقل الاسم . ارجو ان اكون قد وفقت في الاجابة على سؤالك واذا كان لديك اي استفسار اخر فانا بخدمتكم . تحياتي1 point
-
1 point
-
أخى الكريم اتبع الخطوات التاليه لعلها تفيدكم فى حل هذه المشكله انقر فوق زر Microsoft Office، ثم انقر فوق خيارات Excel. انقر فوق متقدمة، ثم امسح خانة الاختيار تجاهل التطبيقات الأخرى التي تستخدم "تبادل البيانات الديناميكي" (DDE) الموجودة في المنطقة العامة. انقر فوق موافق. أو طريقة أخرى اختر Excel Options اختر advanced من على يسار النافذة التى ستظهر لك قم بإلغاء التحديد من على المربع المجاور لـ Ignore other application that use Dynamic Data Exchange (DDE أى تجاهل التطبيقات الأخرى التي تستخدم تبادل البيانات الحيوي وتقبل منى وافر الإحترام والتقدير1 point
-
اشكركم جميعا @محب العقيدة @jjafferr @ابوبسمله @Moosak @مبرمج متقاعد استفد منكم كثير في اثراء معلوماتي بارك الله فيكم ..... لكن اخبركم ان المشكلة قائمة ( يبدو ان المشكلة عندي في الجهاز ) جاري البحث عن المشكلة ::: 1- تنصيب ويندوز من جديد 2- تنصيب اوفيس من جديد وربنا يسهل !!!! شكرا لكم من الأعماق .... تقبلوا تحياتي0 points