بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
-
Posts
10020 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
408
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
عدم تسجيل قرض للعضوا اذا كان مسجلا له قرض من قبل
jjafferr replied to محمد قاسم 12's topic in قسم الأكسيس Access
تفضل ، هذا الرابط به الطريقة الصحيحة 🙂 . جعفر -
تسجيل بدلات ومرتبات العاملين بشركة بدون تكرار (عنوان معدل)
jjafferr replied to اوفيسنا احمد's topic in قسم الأكسيس Access
تفضل ، هذا الرابط به الطريقة المطلوبة 🙂 . جعفر -
تسجيل بدلات ومرتبات العاملين بشركة بدون تكرار (عنوان معدل)
jjafferr replied to اوفيسنا احمد's topic in قسم الأكسيس Access
وعليكم السلام اخي احمد 🙂 اهلا وسهلا بك في المنتدى 🙂 رجاء مراعاة شروط المنتدى قبل عمل موضوع جديد: قواعد المشاركة فى الموقع 1- يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية و يرجى الابلاغ عن المشاركات المخالفة من خلال زر تقرير اسفل المشاركة 2-يجب استخدام خاصيةالبحث قبل طرح السؤال توفيرا للوقت و الجهد. 3-ضرورة كتابة عنوان واضح للموضوع يدل على محتواه ويعطي وصفاً مختصرا للسؤال. 4-ممنوع منعا باتاً كتابة عناوين سينمائية مثل عاجل ، نداء الي فلان ، الي الخبراء ، طلب مساعدة ، أريد حلا..... 5-يمكن استعجال الرد باستخدام تعبير -للرفع- و غير مسموح بالالحاح او اللوم فجميع الاعضاء يشاركون تطوعا طبقا لسعة وقتهم. ومخالفة ذلك تعرض الموضوع للحذف تم تعديل العنوان 🙂 جعفر -
السلام عليكم اخي ريباز 🙂 في الواقع ما كنت اعتقد بأن الموضوع يأخذ كل هذا الوقت ، ولكن ما شاء الله فعل ، والحمدلله 🙂 1. الجداول . tbl_Teachers : وهنا نُدخل لكل مدرس/ملاحظ رقمه Teacher_ID ، ورقم المدرسة SID ، ونوع الجنس regaz (ويمكنك حذف الحقل Distributed) ، tbl_Allowed : وهنا نُدخل رقم المدرسة SID ، والقاعات التي يُسمح لمدرسيها ان يراقبوها Allowed_Hall ، tbl_Distributed : وهنا نرى نتائج التوزيع. الاستعلامات: هذه هي الاستعلامات التي تقوم بالعمل ، ورجاء عدم التعديل عليها qry_D_Allowed_Teachers_Halls : من هنا نعرف اي مدرس مسموح له مراقبة اي مدرسة qry_D_Selection : ويقوم الكود بالاعتماد على هذا الاستعلام لإختيار المدرسين ، عشوائيا qry_D_Halls : ومنه نعرف القاعات المطلوب لها ملاحظين (رجاء حذف المعيار الموجود حاليا) qry_D_SID : ومن هنا نختار المدرسة ، عشوائيا . طريقة العمل: افتح النموذج frm_Distribute ، ثم انقر على الزر Distribute (الحقول باللون البرتقالي يمكنك ان تخفيها) ، ويجب ان تحذف بيانات الجدول tbl_Distributed قبل ان تبدأ بإختيار جديد (البرنامج سيسألك) . اذا تم التوزيع بدون اخطاء ، ستحصل على هذه الرسالة . وافتح جدول tbl_Distributed لرؤية الاختيارات العشوائية . اما اذا حصلت على رسالة خطأ مثل هذه . فهذا معناه انه وحسب البيانات اللي في الرسالة (وهي نفسها اللي في النموذج باللون البرتقالي) ، فالاستعلام (شوف اسم الاستعلام) لم يلقى اي سجلات لهذا الاختيار ، وقد تم وقف عمل البرنامج!! وعليه ، يجب ان تعدل في البيانات . يعني مثلا ، لو تحذف بيانات الجدول tbl_Distributed ، ثم تعمل الاختيار عن طريق النموذج ، سترى هذا الخطا (وهذا اللي حصل لي) ، ومن بيانات الرساله عرفت ان المدرسة 5 ، مدرسات إناث ، للقاعة 113 ، لا يوجد احد!! عليه، اذهب الى tbl_Teachers وتأكد من هذا ، ثم اذهب الى الاسم الاخير jjjj ، وغيره من ذكر الى انثى ، ثم ابدأ من الاختيار جديد ، ولن ترى الرسالة 🙂 وهذا هو الكود الذي يقوم بالعمل ، وقد وضعت فيه الملاحظات : Private Sub cmd_Distribute_Click() On Error GoTo err_cmd_Distribute_Click ' If Len(Me.Distribution_ID & "") = 0 Then ' ' MsgBox "رجاء ادخال رقم التوزيع" ' Me.Distribution_ID.SetFocus ' Exit Sub ' ElseIf Len(Me.Distribution_ID & "") = 0 Then ' ' MsgBox "رجاء ادخال تاريخ التوزيع" ' Me.Distribution_Date.SetFocus ' Exit Sub ' End If If DCount("*", "tbl_Distributed") > 0 Then Dim Msg, Style, Title, Response Msg = "هناك بيانات في الجدول، هل تريد حذفها" & vbCrLf & _ "لا يمكن اضافة بيانات جديدة على بيانات سابقة" Style = vbYesNo + vbCritical + vbDefaultButton2 Title = "الجدول tbl_Distributed به بيانات" Response = MsgBox(Msg, Style, Title) If Response = vbYes Then DoCmd.SetWarnings False DoCmd.RunSQL ("Delete * From tbl_Distributed") DoCmd.SetWarnings True Else MsgBox "لم يتم حذف البيانات، ولا عمل اختيارات جديدة" Exit Sub End If End If Dim i As Integer Dim j As Integer Dim How_Many_Instructors As Integer Dim RND_SID As Integer Dim RND_Selection As Integer Dim rs As Integer Dim Which_Regaz As Integer Dim rstD As DAO.Recordset Dim rstH As DAO.Recordset Dim rstSID As DAO.Recordset Dim rstSelection As DAO.Recordset Dim RC_rstH As Integer Dim RC_rstSID As Integer Dim RC_rstSelection As Integer Dim arrSID As Variant Dim arrrstSelection As Variant Dim strSQL As String 'rstD = tbl_Distributed 'rstH = qry_D_Halls 'rstSID = qry_D_SID 'rstSelection = qry_D_Selection rs = 1 strSQL = "Select * From tbl_Distributed" Set rstD = CurrentDb.OpenRecordset(strSQL) rs = 2 strSQL = "Select * From qry_D_Halls" Set rstH = CurrentDb.OpenRecordset(strSQL) 'load the Recordset into memory, and get its number of Records rstH.MoveLast: rstH.MoveFirst: RC_rstH = rstH.RecordCount 'number of schools How_Many_Instructors = 6 / 2 Me.srch_Regaz = 1 'Hall Name For i = 1 To RC_rstH Me.srch_Distribution_Hall = rstH!Allowed_Hall 'Loop through the schools, 3 schools For j = 1 To How_Many_Instructors rs = 3 'info for error 3061 strSQL = "Select * From qry_D_SID Order By SID" 'Recordset SQL Set rstSID = CurrentDb.OpenRecordset(strSQL) 'Get the Remaining SIDs rstSID.MoveLast: rstSID.MoveFirst: RC_rstSID = rstSID.RecordCount 'Load into memory, and Count Records arrSID = rstSID.GetRows(RC_rstSID) 'convert Recordset to array, Min value = arrSID(0, 0) , Max = (arrSID(0, RC_rstSID - 1) Select_SID: 'we give the lowest and highest numbers to get Random Randomize RND_SID = Int((arrSID(0, RC_rstSID - 1) - arrSID(0, 0) + 1) * Rnd + arrSID(0, 0)) 'get a random number between Min & Max Me.srch_SID = RND_SID rstSID.FindFirst "[SID]=" & RND_SID 'but sometimes this number dose not exist, so get another Random If rstSID.NoMatch Then GoTo Select_SID 'SID is good, move on Which_Regaz = 0 Next_Regaz: 'male / female swithing If Me.srch_Regaz = 1 Then Me.srch_Regaz = 2 Else Me.srch_Regaz = 1 End If Which_Regaz = Which_Regaz + 1 'now we have all the data required to pick a teacher rs = 4 strSQL = "Select * From qry_D_Selection Order By Teacher_ID" Set rstSelection = CurrentDb.OpenRecordset(strSQL) rstSelection.MoveLast: rstSelection.MoveFirst: RC_rstSelection = rstSelection.RecordCount arrrstSelection = rstSelection.GetRows(RC_rstSelection) Select_Teacher: Randomize RND_Selection = Int((arrrstSelection(0, RC_rstSelection - 1) - arrrstSelection(0, 0) + 1) * Rnd + arrrstSelection(0, 0)) 'get a random number between Min & Max rstSelection.FindFirst "[Teacher_ID]=" & RND_Selection 'but sometimes this number dose not exist, so get another Random If rstSelection.NoMatch Then GoTo Select_SID 'Teacher_ID is good, make a new Record in tbl_Distributed and save info rstD.AddNew 'rstD!Distribution_ID = Me.Distribution_ID 'rstD!Distribution_Date = Me.Distribution_Date rstD!Teacher_ID = RND_Selection rstD!SID = RND_SID rstD!Distributed_Hall = rstH!Allowed_Hall rstD.Update If Which_Regaz = 1 Then GoTo Next_Regaz Next j rstH.MoveNext Next i MsgBox "Done" Exit_cmd_Distribute_Click: rstD.Close: Set rstD = Nothing rstH.Close: Set rstH = Nothing rstSID.Close: Set rstSID = Nothing rstSelection.Close: Set rstSelection = Nothing Exit Sub err_cmd_Distribute_Click: If Err.Number = 3061 Then 'too few parameters, expected xx 'this error occurs when trying to run a query which needs its parameters from a Form, 'the Form should be open with the parameter, then this code take the values properly Dim qdf As QueryDef Dim prm As Parameter Set qdf = CurrentDb.CreateQueryDef("NewQueryDef", strSQL) For Each prm In qdf.Parameters prm.Value = Eval(prm.Name) Next prm If rs = 1 Then Set rstD = qdf.OpenRecordset(dbOpenDynaset) ElseIf rs = 2 Then Set rstH = qdf.OpenRecordset(dbOpenDynaset) ElseIf rs = 3 Then Set rstSID = qdf.OpenRecordset(dbOpenDynaset) ElseIf rs = 4 Then Set rstSelection = qdf.OpenRecordset(dbOpenDynaset) End If DoCmd.DeleteObject acQuery, "NewQueryDef" Resume Next ElseIf Err.Number = 3021 Then 'No current Record If rs = 1 Then MsgBox "No Records in tbl_Distributed" ElseIf rs = 2 Then MsgBox "No Records in qry_D_Halls" ElseIf rs = 3 Then MsgBox "Hall Number=" & Me.srch_Distribution_Hall & vbCrLf & _ "No Records in qry_D_SID" ElseIf rs = 4 Then MsgBox "Hall Number=" & Me.srch_Distribution_Hall & vbCrLf & _ "SID=" & Me.srch_SID & vbCrLf & _ "Regaz=" & Me.srch_Regaz & vbCrLf & _ "No Records in qry_D_Selection" End If Resume Exit_cmd_Distribute_Click Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub جعفر 1008.2021.zip
-
لا وانت الصادق ، اخونا العود ابو خليل يستعمل هذا الكود 🙂 بينما انا استخدم الكود اللي في هذا الملف 🙂 https://www.jstreettech.com/files/JStreetAccessRelinker2.zip جعفر
-
متطلبات تشغيل البرامج التي قمت بتنزيلها
jjafferr replied to عبد اللطيف سلوم's topic in قسم الأكسيس Access
السلام عليكم اخي عبد اللطيف 🙂 شكرا لك على مجهودك 🙂 ملاحظة حول هذا الموضوع ، فالمطلوب اختيار اللغة العربية ، بغض النظر عن الدولة ، لأن اللغة العربية هي المطلوبة لعمل Unicode في الرقم 2 من صورتك الثانية 🙂 جعفر -
وعليكم السلام 🙂 واهلا وسهلا بك في المنتدى 🙂 عملت بعض التعديلات على الجداول ، وحولت الحقول الى ارقام بدل النص، تفضل: Private Sub student_Class_AfterUpdate() 'check if the Student number field exists, if it dose, exit If Len(Me.student_Number & "") > 0 Then Exit Sub Me.student_Number = Nz(DMax("[Student_Number]", "students", "[student_Class]= " & Me.student_Class), Me.student_Class * 10000) + 1 End Sub جعفر 1012.autoNumber.accdb.zip
-
-
السلام عليكم 🙂 رجاء مراعاة كتابة عنوان صحيح للموضوع ، في المرة القادمة 🙂 قواعد المشاركة فى الموقع 1- يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية و يرجى الابلاغ عن المشاركات المخالفة من خلال زر تقرير اسفل المشاركة 2-يجب استخدام خاصيةالبحث قبل طرح السؤال توفيرا للوقت و الجهد. 3-ضرورة كتابة عنوان واضح للموضوع يدل على محتواه ويعطي وصفاً مختصرا للسؤال. 4-ممنوع منعا باتاً كتابة عناوين سينمائية مثل عاجل ، نداء الي فلان ، الي الخبراء ، طلب مساعدة ، أريد حلا..... 5-يمكن استعجال الرد باستخدام تعبير -للرفع- و غير مسموح بالالحاح او اللوم فجميع الاعضاء يشاركون تطوعا طبقا لسعة وقتهم. ومخالفة ذلك تعرض الموضوع للحذف جعفر
-
طريقة فتح ملف (.accdb) علية باسورد ويوزر نيم
jjafferr replied to sayed sergo's topic in قسم الأكسيس Access
وعليكم السلام اخي sayed sergo قوانين المنتدى لا تسمح بهكذا موضوع 🙂 يُقفل الموضوع. جعفر -
يا رجال ، ولا يهمك 🙂 واعطني بعض الوقت علشان افهم مرفقك، واذا في اي اسئلة ، ان شاء الله اطرحها عليك 🙂 جعفر
-
تصدير استعلام أو جدول بصيغة إكسل مضمنة أكواد VBA
jjafferr replied to Hamdi Edlbi-khalf's topic in قسم الأكسيس Access
وعليكم السلام 🙂 انزل المرفق من هنا: . وشوف المادة رقم 9 ، بأن لا تحذف الملف ، بل تضيف اليه ، والمادة 10 لإحتواء الاعمدة (اي كل عمود يكون له عرض البيانات اللي فيه) 🙂 والآن الى سؤالك: يمكنك عمل قالب وتخلي فيه الكود اللي تريده ، وتحفظ هذا الملف في نفس قاعدة بياناتك ، وتعمل منها نسخة ، وتصدر بياناتك الى هذه النسخة ، والمثال اعلاه بيفيدك 🙂 جعفر -
ممتاز 🙂 هنا خطأ في اخذ القيم لسبب ما ، لذلك يجب ان نعرف اي من الحقول لم تأتي بالقيمة الصحيحة ، وانا اشك في تنسيق التاريخ الذي يظهر في النموذج، لهذا السبب محتاجين معلومات اضافية لإصطياد الخطأ 🙂 الآن رجاء عمل هذا الكود : Debug.Print "Off " & ctrl.Name & vbTab & "D:" & D & vbTab & "Full:" & Full_Date & vbTab & "A:" & A Debug.Print "ON " & ctrl.Name & vbTab & "D:" & D & vbTab & "Full:" & Full_Date & vbTab & "A:" & A حسب مكان الصور: . وارفق نتيجتك لوسمحت ، والتي ستكون غير عن نتيجتي، . جعفر
-
السلام عليكم اخي ريباز 🙂 مادام عملت هذه البيانات في قاعدة البيانات ، فرجاء ارفاقها ، بدل ان اُدخل البيانات 🙂 الذي كنت اريده منك في ملف اكسل كالتالي: 1. صحيح انا كتبت : ولكني في الواقع لا افهمها !! 2. لذلك ، ومن البيانات اللي بترفقها ، رجاء اعمل توزيع للملاحظين يدوي لقاعتين فقط ، حتى اعرف الطريقة الصحيحة ، وهو سيكون مثال احتذي به 🙂 جعفر
-
السلام عليكم اخي غسان 🙂 قواعد المشاركة فى الموقع و بصفة خاصة نؤكدعلى ما يلي 1- يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية و يرجى الابلاغ عن المشاركات المخالفة من خلال زر تقرير اسفل المشاركة 2-يجب استخدام خاصيةالبحث قبل طرح السؤال توفيرا للوقت و الجهد. 3-ضرورة كتابة عنوان واضح للموضوع يدل على محتواه ويعطي وصفاً مختصرا للسؤال. 4-ممنوع منعا باتاً كتابة عناوين سينمائية مثل عاجل ، نداء الي فلان ، الي الخبراء ، طلب مساعدة ، أريد حلا..... 5-يمكن استعجال الرد باستخدام تعبير -للرفع- و غير مسموح بالالحاح او اللوم فجميع الاعضاء يشاركون تطوعا طبقا لسعة وقتهم. ومخالفة ذلك تعرض الموضوع للحذف رجاء عمل موضوع جديد بعنوان مناسب، شكرا 🙂 جعفر
-
نبدأ بالاهم ، رقم 5 ، شكرا لك 🙂 1. اذا ظل الاستعلام الجدولي كما هو ، وفقط نتائجه تتغير حسب المعايير ، اذن ممكن عمل التقرير المتغير ، 2. انت تتعامل مع تقرير (انسى مؤقتا انه يتغير) ، والتقرير تقدر ان تعمل له مجموعات ، وتقطيعه الى صفحات ، 3. هذه النقطة يجب الانتباه لها ، فعرض التقرير هو حسب اختيارك لعرض الصفحة والطابعة ، 4. همم ، لا يوجد في الاكسس شيء اسمه عرض مرن ، ولكننا يجب ان نضع حجم معين لكل حقل ، وبرمجيا ممكن القيام بهذا العمل ، واريدك تلقي نظرة على هذا الموضوع: وبالخصوص هنا ، ولكن مع استكانة شاي على مزاجك 🙂 جعفر
-
استعمل الملف في هذا الرابط ، لإصلاح برنامجك ، بعد تعديل المسارات: جعفر
-
تصدير استعلام أو جدول بصيغة إكسل مضمنة أكواد VBA
jjafferr replied to Hamdi Edlbi-khalf's topic in قسم الأكسيس Access
السلام عليكم اخي خلف 🙂 ارفق مثالك ، وفيه الاستعلام الجدولي والتقرير ، وان شاء الله نساعدك في انهائه ، اذا اردت اخذ هذا الطريق !! وإلا ، وضح سؤالك اكثر ، وبمثال لوسمجت 🙂 جعفر -
وعليكم السلام اخي @محمد التميمي 🙂 الاجابة هي مثل ما تفضل بها اخي @midomashakel : Private Sub First_Name_BeforeUpdate(Cancel As Integer) ' If DCount("*", "Table1", "[First_Name]='" & Me.First_Name & "'") > 0 Then ' ' MsgBox "هذا الاسم موجود بالفعل", vbCritical, "التكرار ممنوع" ' Me.Undo ' Cancel = True ' ' End If Dim ID As Integer Dim Msg, Style, Title, Response ID = Nz(DLookup("[key]", "Table1", "[First_Name]='" & Me.First_Name & "'"), 0) If ID <> 0 Then Me.Undo Cancel = True Msg = "هذا الاسم موجود بالفعل" & vbCrLf & _ "رقم التسلسل" & ID & vbCrLf & vbCrLf & _ "Yes : نعم اذهب الى ذلك السجل" & vbCrLf & _ "No : فقط الغي هذا السجل" Style = vbYesNo + vbCritical + vbDefaultButton2 Title = "التكرار ممنوع" Response = MsgBox(Msg, Style, Title) If Response = vbYes Then DoCmd.FindRecord ID, , , , , acAll, True End If End If End Sub جعفر
-
هكذا: اذا كانت الجملة : تفسير ابن كثير - القرآن الكريم . واذا كانت الجملة : تفسير ابن كثير تف*اب*نث واذا كانت الجملة : القرآن الكريم - تفسير ابن كثير - سورة الحمد *تف*اب*نث* بمعنى: اذا اردنا: كل شيء قبل الحروف تف ، فنضع علامة * قبلها . اذن كل شيء ثم الحروف تف : *تف واذا اردنا: *تف ثم كل شيء بعدها ، فتصبح: *تف* ، وبعدها نريد البحث عن كث ، فتصبح: *تف*كث وهكذا 🙂 جعفر
-
وعليكم السلام ورحمة الله وبركاته 🙂 نعم ، عن طريق استعلام تجميعي ، واستعملي count لمعرفة العدد 🙂 جعفر
-
اخي خلف 🙂 هذا التقرير تم عمله خصيصا لنتائج الاستعلام الجدولي الخاص بالاخ Monm ، وكما ترى ، انه بتغير متغيرات الاستعلام ، فالتقرير يتوسع وينقبض حسب حقول وبيانات الاستعلام ، ولا يحتاج الى عمل استعلام/تقرير جديد كلما تغيرت المتغيرات/المعايير ، وانما الكود في التقرير مرن ويقوم بالتعديل. هذا مجرد مثال على طريقة عمل تقرير لإستعلام جدولي ، واذ احببت ، افتح موضوع جديد ، وارفق فيه برنامجك علشان نضبطه مثل هذا التقرير 🙂 جعفر
-
وعليكم السلام 🙂 ولا يهمك ، ان شاء الله معاك الى ان نتمم الموضوع 🙂 خلينا نمشي بالخطوات التالية لوسمحت: 1. انزل المرفق (هو نفسه المرفق السابق ، ولكن بتعديل بسيط على واجهة النموذج فقط) ، وافتح البرنامج ، 2. ادخل في VBE عن طريق الكيبورد Ctrl+G او Alt+F11 او تفتح اي حدث ، 3. اكتب السطرين التاليين (انتبه لمكانهم) في حدث التقرير: . 4. تأكد ان نافذة النتائج المباشرة مفتوحة في الاسفل (الرقم 3 في الصورة ادناه) : . 5. افتح النموذج tqrer واختار الشهر والادارة مثل ما هو في الصورة ، ثم انقر على زر "فتح" ليفتح التقرير . 6. انا عندي احصل على هذه النتائج في التقرير: . 7. اذهب الى VBE ، وفي نافذة النتائج المباشرة اللي عملناها ، انا احصل على: . اذا رقم 6 و 7 اعلاه عندك غير عن اللي عندي ، رجاء ترفق لي صورة الرقم 6 و بيانات الرقم 7 🙂 جعفر rpt_Monthly_Crosstab.zip
-
السلام عليكم 🙂 اشكرك على المثال الذي ارفقته ، فقد ساعدني للوصول الى التالي: البرنامج كان يحتاج الى تعديلات اساسية ، فقمت بعمل بعض الاضافات والتعديلات عليه: 1. عمل جدول خاص للمدرسين ، ولكل واحد رقمه الخاص Teacher_ID (حتى لا تتشابه الاسماء) ، ورقم المدرسة التي هو بها SID : . 2. عملت جدول ، ذكرت فيه رقم المدرسة SID ، والقاعات المسموح ان يقوم المدرسين بمراقبتها : . 3. على هذا الاساس ، عملت استعلام ، حتى نعرف القاعات التي نسمح للمدرسين ان يراقبوها : . والنتيجة: . وسنقوم بعمل القرعة من جديد ، بناء على اعلاه ، فسؤالي: هل نتائج الاستعلام صحيحة؟ انت قلت في مشاركاتك الخاصة بالموضوع: 1- وضع كل ستة مدرسين في كل قاعة 2- يجب اختيار هؤلاء المعلمين الستة في ثلاث مدارس مختلفة ولكن نصفهم من الذكور وآخرون الإناث 3- كل المعلم في قاعات مدينتهم 4- تكرار اسم المعلم غير مسموح في قاعات المختلفه. ممكن تساعدني مرة ثانية وتعمل لي مثال في صفحة اكسل (ولكن رجاء استعمل الاسماء Teacher_ID الموجودة في قاعدة البيانات المرفقة) ، وحسب شروطك اعلاه ، للقاعات 111 و 113 . يعني شغلنا سيكون على الاستعلام فقط ان شاء الله 🙂 شكرا 2020.zip