ابو عبد الله العراقي قام بنشر مارس 6 قام بنشر مارس 6 السلام عليكم ورحمة الله وبركاته الاستاذة الافاضل في منتدى اوفيسنا يوجد عندي في قاعدة بيانات جدول رئيسي ويتضمن حقول كثيرة وهو متربط بجدول التفاصيل عن طريق المعرف الاي دي وهو ايضا مرتبط بجداول كثيرة عن طريقة المفتاح الاساس لتلك الجداول وبعلاقات رأس بإطراف ، الان احتجت إلى ان اضيف معلومة اي حقل من جدول اخر عن طريق اضافت هذا الحقل في الجدول الرئيسي وهذا الحقل هو مفتاح اساس ومفهرس وغير قابل للتكرار وعند جلب هذا الحقل إلى الجدول الرئيسي وتغيير حالة الفهرسة من غير قابل للتكرار إلى قابل للتكرار وذلك لعمل علاقة راس بأطراف تفشل العملية وتظهر رسالة تقول بأنه يوجد حقول كثيرة مفهرسة في هذا الجدول . اعذورني لعدم رفع قاعدة البيانات كون تحوي على بيانات ولم استطع ان اعمل مثال لكن اذا وصلت الفكرة ارجو الافادة مع الشكر والتقدير للجميع
ابوخليل قام بنشر مارس 6 قام بنشر مارس 6 46 دقائق مضت, ابو عبد الله العراقي said: وعند جلب هذا الحقل إلى الجدول الرئيسي وتغيير حالة الفهرسة من غير قابل للتكرار إلى قابل للتكرار وذلك لعمل علاقة راس بأطراف تفشل العملية وتظهر رسالة تقول بأنه يوجد حقول كثيرة مفهرسة في هذا الجدول . ما خط بالاحمر غير مفهوم هل جربت انشاء حقل جديد في الجدول الرئيسي وتعطيه الاسم المناسب .. ثم تربطه بالجدول الجديد ؟
ابو عبد الله العراقي قام بنشر مارس 7 الكاتب قام بنشر مارس 7 نعم استاذ حاولت اضع حقل جديد في نفس الجدول الرئيسي وبمجرد ان اجعل هذا الحقل مفهرس ( سواء قابل للتكرار او غير قابل ) تظهر نفس الرسالة فشل هل هناك تحديد بعدد الحقول المفهرسة في الجداول ؟ وماهو الحل برأيك استاذ ؟
ابوخليل قام بنشر مارس 7 قام بنشر مارس 7 2 ساعات مضت, ابو عبد الله العراقي said: هل هناك تحديد بعدد الحقول المفهرسة في الجداول ؟ وماهو الحل برأيك استاذ ؟ اعتقد الحد الاقصى 32 للعلم يوجد حقول فهرسها مخفي بحثت لك فوجدت صفحتين تتحدثان عن المشكلة .. وفي احداها رابط لكود يستخرج جميع الفهارس اذا لا تجيد الانجليزية استعن بقوقل للترجمة هنا وهنا
ابو عبد الله العراقي قام بنشر مارس 7 الكاتب قام بنشر مارس 7 (معدل) شكراً جزيلاً استاذ على تواصلك معي في ايجاد حل لهذه المشكلة استاذ حاولت اعرف عدد الفهارس في قاعدة البيانات عن طريق الكود Currentdb.Tabledefs("YourTableNameGoesHere").Indexes.Count لكن استاذ في اي وحدة نمطية اضع هذا الكود وكيف اشغله ؟؟ وهل عدد الفهارس ال32 المذكور هي لقاعدة البيانات الكلية ام للجدول الواحد ؟؟؟ تم تعديل مارس 7 بواسطه ابو عبد الله العراقي
ابوخليل قام بنشر مارس 7 قام بنشر مارس 7 اعتقد العدد للجدول الواحد اعمل زر وفي حدث النقر ضع الكود ادناه .. ولا تنسى تضع اسم جدولك بدل الظاهر هنا MsgBox CurrentDb.TableDefs("your table").Indexes.Count
ابوخليل قام بنشر مارس 7 قام بنشر مارس 7 هذه وحدة نمطية تقوم بعمل جدول لاظهار الفهارس في جميع الجداول مع شرح دلالة الحقول في الجدول وارفقت لك مثالا بذلك .... ويمكنك نقلها الى برنامجك انتبه !! المثال لا يشتمل على جداول .. لرؤية النتيجة يجب جلب جداول اليه 'This code creates a table called tbl_IndexTable and populates it with records stating which fields in your database are indexed. 'The table has the following fields. 'tbl_IndexTable 'IndexId......... The primary key for the table 'FieldName........ The name of the field that is indexed 'IndexName....... The Name of the INDEX 'TableName ....... The name of the table 'IsPrimaryKey........ Is the field a primary key 'Clustered........ Is it s clustered or Non-Clustered index 'Required........ Is the field Required or Not Required 'Foreign........ Is it the field a foreign key field Function ListIndexes() ' Procedure: ListIndexes ' DateTime : 1/04/2010 08:05 ' Author : Dane Miller ' Purpose : Creates a table and Lists ALL Indexes for ' every user created table in your database ' Arguments : N/A ' References: Microsoft ActiveX Data Objects x.x Library ' : Microsoft DAO x.x Library ' Returns : N/A '--------------------------------------------------------------------------------------- Dim db As DAO.Database Dim rst As DAO.Recordset Dim idx As DAO.Index Dim tbls As DAO.TableDefs Dim fld As DAO.Field Dim idx_Fields As String Dim tbl As DAO.TableDef Dim StrCreateTbl As String, StrInsertIndex As String On Error GoTo Errhandler Set db = CurrentDb() Set tbls = db.TableDefs() 'create the table to hold the indexes. StrCreateTbl = "CREATE TABLE Tbl_IndexTable (" & _ "[IndexId] INTEGER not null identity(1,1)," & _ "[FieldName] VARCHAR(100) , " & _ "[IndexName] VARCHAR(100), [TableName] VARCHAR(100), " & _ "[IsPrimaryKey] VARCHAR(5), " & _ " [Clustered] VARCHAR(5) , [Required] VARCHAR(5), " & _ "[Foreign] VARCHAR(5))" CurrentProject.Connection.Execute StrCreateTbl Set rst = db.OpenRecordset("tbl_IndexTable") For Each tbl In tbls ' loop though all the indexes ' do not consider system tables If Left(tbl.Name, 4) <> "MSys" And Left(tbl.Name, 1) <> "~" Then ' Enumerate Indexes collection table. For Each idx In tbl.Indexes With rst .AddNew ' Remove the Plus (+) sign from fields idx_Fields = Replace(idx.Fields, "+", " ") ' remove the semi colon from fields and replace with a comma idx_Fields = Replace(idx_Fields, ";", ",") .Fields("TableName") = tbl.Name .Fields("FieldName") = idx_Fields .Fields("IndexName") = idx.Name .Fields("IsPrimaryKey") = IIf(idx.Primary = True, "Yes", "No") .Fields("Clustered") = IIf(idx.Clustered = True, "Yes", "No") .Fields("Foreign") = IIf(idx.Foreign = True, "Yes", "No") .Fields("Required") = IIf(idx.Required = True, "Yes", "No") .Update End With Next idx End If Next tbl If MsgBox("Index Table Created. Do you want to open it now?", vbYesNo) = vbYes Then 'open the table to show all the results. DoCmd.OpenTable "tbl_IndexTable", acViewNormal, acReadOnly End If exithandler: Exit Function Errhandler: If Err.Number = -2147217900 Then 'if the table already exist Then delete records CurrentProject.Connection.Execute " DELETE * FROM TBL_IndexTable" Resume Next Else: MsgBox Err.Number & " " & Err.Description Resume exithandler End If 'clean up rst.Close Set rst = Nothing db.Close Set db = Nothing End Function المصدر Database99.accdb 33 دقائق مضت, ابو عبد الله العراقي said: ماذا اعمل استاذ ؟؟؟؟ 😟 اعتقد عليك انقاص الفهرس الذي لا تحتاجه فعلا من خصائص الحقل مفهرس =لا
ابو عبد الله العراقي قام بنشر مارس 8 الكاتب قام بنشر مارس 8 شكراً جزيلاً استاذ على تعبك معاي وعلى الجهد الذي تقوم به استاذ استفدت من الوحدة النمطية في انشاء جدول يبين عدد الحقول التي لها فهرس والتي لا تملك فهرس وكذلك اعداد الفهارس في الجدول لكن المشكلة مازالت وايضا لايمكنني حذف اي فهرس من الجدول للحاجة إليها ؟ لذلك انا بأنتظار نصائحكم في هذا الموضوع وايضا عندي استفسار هل عدد الفهارس في الجدول له علاقة كون الاوفيس مفعل او غير مفعل
kkhalifa1960 قام بنشر مارس 8 قام بنشر مارس 8 (معدل) في 6/3/2024 at 18:12, ابو عبد الله العراقي said: يوجد عندي في قاعدة بيانات جدول رئيسي ويتضمن حقول كثيرة وهو متربط بجدول التفاصيل عن طريق المعرف الاي دي وهو ايضا مرتبط بجداول كثيرة عن طريقة المفتاح الاساس لتلك الجداول وبعلاقات رأس بإطراف ، الان احتجت إلى ان اضيف معلومة اي حقل من جدول اخر عن طريق اضافت هذا الحقل في الجدول الرئيسي وهذا الحقل هو مفتاح اساس ومفهرس وغير قابل للتكرار وعند جلب هذا الحقل إلى الجدول الرئيسي وتغيير حالة الفهرسة من غير قابل للتكرار إلى قابل للتكرار وذلك لعمل علاقة راس بأطراف تفشل العملية وتظهر رسالة تقول بأنه يوجد حقول كثيرة مفهرسة في هذا الجدول . اعذورني لعدم رفع قاعدة البيانات كون تحوي على بيانات ولم استطع ان اعمل مثال لكن اذا وصلت الفكرة ارجو الافادة مع الشكر والتقدير للجميع مشاركة مع استاذي @ابوخليل هاك محاولتي حسب مافهمت ....أضف الحقل الذي تريده (من جدول آخر) الى الجدول الرئيسي ثم عدل الحقل الجديد بالجدول الرئيسي ليطلب البيانات من الجدول الأخر كما بالشرح والمرفق . بالرغم أن العلاقات مفيده إلا أنها لو لم تستخدم صح تربك النظام ....... في معظم اعمالي استجلب معلومات الجدول الرئيسي بهذه الطريقة كما علمونا الاساتذة بدون ذكر اسماء الذين منهم استاذنا @ابو خليل . DD504.rar تم تعديل مارس 8 بواسطه kkhalifa1960 1 1
ابو عبد الله العراقي قام بنشر مارس 8 الكاتب قام بنشر مارس 8 (معدل) kkhalifa1960 الاخ الفاضل شكراً جزيلاً على المشاركة في هذا الموضوع لكن حسب مافهمت لذلك هذا الحقل يقبل التكرار وهو امر غير مطلوب tbl_Items هو حقل غير مفهرس في جدول الـــــItemName من الفيديو التوضيحي وقاعدة البيانات المرفقة أنه حقل الـــــــ من ناحية اخرى بصراحة انه حاولت وعملت نفس الطريقة ولكن الحقل مفهرس في الجدول الجديد وغير مفهرس في الجدول الرئيسي وتم اضافته لكن خسرت التكامل المرجعي في العلاقة اي انه عند التعديل او حذف بيانات في هذا الحقل سوف لن يتم تحديث البيانات بصراحة هذا الموضوع ان الجدول يقبل فقط 32 حقل مفهرس تفأجئت به 😟 كيف السبيل ؟ تم تعديل مارس 8 بواسطه ابو عبد الله العراقي
kkhalifa1960 قام بنشر مارس 8 قام بنشر مارس 8 الخلاصة ارسل المرفق .اذا اردت الحل أما غير ذلك فهي اجتهادات غير مجديه لك لأنك مصمم على شيء في رأسك فقط . لك تحياتي . والسلام ختام . ورمضان كريم وكل عام وأنتم بخير
ابو عبد الله العراقي قام بنشر مارس 16 الكاتب قام بنشر مارس 16 السلام عليكم رمضان مبارك على الجميع kkhalifa1960تفضل اخي الكريم هذا مثال عدم القدرة على عمل علاقة راس باطراف بخصائص التكامل المرجعي في جدول الكتب مع جدول المبيعات بسبب كثرة الفهرسة في جدول الكتب ؟؟؟ ارجو الافادة من هذا الموضوع ؟ BooksD.rar
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.