منتصر الانسي قام بنشر منذ 23 ساعات قام بنشر منذ 23 ساعات أثناء بحثي ضمن مخزون تطبيقات الاكسس عندي للبحث عن أفكار جديدة أستخدمها كموضوع لأداة جديدة أضيفها لسلسلة الأدوات المساعدة المخصصة وقع بيدي ملف كنت قد حملته منذ سنوات من أحد المنتديات الأجنبية وقد كان عبارة عن تحدي أو لغز غريب وهو عن مربع تحرير وسرد يحتوي على قائمة عناصر ولكن عند فتحه في وضع التصميم لا نجد أي عناصر في مصدر الصف الخاص بالقائمة والحقيقة أني وأثناء محاولاتي لحل اللغز وجدت أنه في مضمونة يتكون من أكثر من سؤال 1- كيف تم إضافة عناصر القائمة؟ 2- كيف يمكن حذف تلك العناصر؟ 3- أين يتم حفظ القائمة؟ وحتى أكون صادقاً في كلامي فقد إستطعت حل السؤالين 1 و 2 أما 3 فلم أعرف إجابته إلا بالبحث في الإنترنت وبصراحة أني عند إسترجاع ذكريات محاولاتي لحل اللغز إسترجعت المتعة التي وجدتها في المحاولة بحد ذاتها ناهيك عن متعة إيجادي للحل فأتمنى أن تجدوا تلك المتعة أثناء محاولتكم (طبعاً لمن لم يمر عليهم هذا اللغز من قبل) في الأخير إذا أردتم مني إجابة أي سؤال فأنا مستعد ولكني سأؤجل الإجابة حتى لا تفسد المتعة لمحبي الألغاز لغز.rar 1 1
Debug Ace قام بنشر منذ 20 ساعات قام بنشر منذ 20 ساعات ههههههههههههههههههههه طيب نتناقش بعد ما تشوفوا ده C:\Users\000000\Desktop\لغز.accdb Thursday, March 12, 2026 Table: Table1 Page: 1 Properties AlternateBackShade: 95 AlternateBackThemeC 1 AlternateBackTint: 100 BackShade: 100 BackTint: 100 DatasheetForeTheme 0 DatasheetGridlinesThe 3 DateCreated: 3/12/2026 2:41:20 AM DefaultView: 2 DisplayViewsOnShare 1 FilterOnLoad: False GUID: {انا حذفته HideNewField: False LastUpdated: 3/12/2026 2:43:11 AM NameMap: Long binary data OrderByOn: False OrderByOnLoad: True Orientation: Left-to-Right PublishToWeb: 1 ReadOnlyWhenDiscon False RecordCount: 1 ThemeFontIndex: 1 TotalsRow: False Updatable: True Columns Name Type Size ID Long Integer 4 AggregateType: -1 AllowZeroLength: False AppendOnly: False Attributes: Fixed Size, Auto-Increment CollatingOrder: General ColumnHidden: False ColumnOrder: Default ColumnWidth: Default CurrencyLCID: 0 DataUpdatable: False GUID: {انا حذفته} OrdinalPosition: 0 Precision: 1033 Required: False ResultType: 0 Scale: 0 SourceField: ID SourceTable: Table1 TextAlign: General Field1 Short Text 255 AggregateType: -1 AllowZeroLength: True AppendOnly: False Attributes: Variable Length CollatingOrder: General ColumnHidden: False ColumnOrder: Default ColumnWidth: Default CurrencyLCID: 0 DataUpdatable: False DisplayControl: Text Box GUID: {انا حذفته} C:\Users\00000\Desktop\لغز.accdb Thursday, March 12, 2026 Table: Table1 Page: 2 IMEMode: 0 IMESentenceMode: 3 OrdinalPosition: 1 Precision: 1033 Required: False ResultType: 0 RowSource: "آسيا";"أفريقيا";"أوروبا";"أمريكا الشمالية";"أمريكا الجنوبية";" Scale: 0 SourceField: Field1 SourceTable: Table1 TextAlign: General UnicodeCompression: True Table Indexes Name Number of Fields PrimaryKey 1 Clustered: False DistinctCount: 1 Foreign: False IgnoreNulls: False Name: PrimaryKey Primary: True Required: True Unique: True Fields: ID Ascending User Permissions admin Delete, Read Permissions, Set Permissions, Change Owner, Read Definition, Write Definition, Read Data, Insert Data, Update Group Permissions Admins Delete, Read Permissions, Set Permissions, Change Owner, Read Definition, Write Definition, Read Data, Insert Data, Update Users Delete, Read Permissions, Set Permissions, Change Owner, Read Definition, Write Definition, Read Data, Insert Data, Update 1
Debug Ace قام بنشر منذ 17 ساعات قام بنشر منذ 17 ساعات (معدل) 1. كيف تم إضافة عناصر القائمة؟ بنفس الطريقة اللى انا عملت بيها قاعدة وجدول وحقل و نموذج ومربع سرد و كله جديد X جديد واضفت البيانات 2- كيف يمكن حذف تلك العناصر؟ زى ما اضفنا البيانات نخذفها 3- أين يتم حفظ القائمة؟ فى الجدول تم تعديل منذ 17 ساعات بواسطه Debug Ace 1
Debug Ace قام بنشر منذ 9 ساعات قام بنشر منذ 9 ساعات 9 ساعات مضت, Foksh said: هل تقصد هذه الفكرة ؟؟ وفين اجابة ال 3 اسئلة استاذ ؟
منتصر الانسي قام بنشر منذ 2 ساعات الكاتب قام بنشر منذ 2 ساعات (معدل) الحقيقة أن جميع إجابات الأساتذة صحيحة ولكنها لا تبين لمن هم زي حالاتي على باب الله 😅 طريقة التنفيذ عموما وببساطة وإجابة على سؤال الأخ @Debug Ace 7 ساعات مضت, Debug Ace said: وفين اجابة ال 3 اسئلة استاذ ؟ رغم أنك كنت قد أجبتها بهذه الإجابة 14 ساعات مضت, Debug Ace said: 1. كيف تم إضافة عناصر القائمة؟ بنفس الطريقة اللى انا عملت بيها قاعدة وجدول وحقل و نموذج ومربع سرد و كله جديد X جديد واضفت البيانات 2- كيف يمكن حذف تلك العناصر؟ زى ما اضفنا البيانات نخذفها 3- أين يتم حفظ القائمة؟ فى الجدول ولكني سأوضح الطريقة ليستوعبها بقية الأعضاء السؤال الأول كيفية إضافة العناصر؟ التلميح هنا هو بتغيير الخاصية (Allow Value List Edits أو السماح بتحرير قائمة القيم) الخاصة بمربع التحرير والسرد إلى (Yes أو نعم) لتظهر بهذا الشكل لتظهر لنا القائمة الواردة في مشاركة الأخ @kanory 18 ساعات مضت, kanory said: ومن خلال هذه القائمة يمكننا إضافة أو حذف العناصر السؤال الثاني طريقة حذف العناصر؟ كما ذكرت في الجملة الأخيرة وذكر الأخ @Debug Ace في إجابته فيمكننا حذف العناصر من خلال النافذة الأخيرة السؤال الثالث أين يتم الإحتفاظ بالبيانات؟ كما ذكر الأخ @Debug Ace هي بالفعل في الجدول ولكن أين بالضبط وهذا ما سأوضحه هنا إن شاء الله يجب أن نضع في إعتبارنا أن عدم ظهور خاصية ضمن نافذة الخصائص لا يعني أنها غير موجودة فمثلاً لو قارنا بين نافذتي الخصائص لحقل Field1 عندما يكون مربع نص أو عندما يكون مربع تحرير وسرد هذا معناه أن خاصية (Row Source أو مصدر الصف) هي خاصية من خواص الحقل سواء ظهرت أم لم تظهر في نافذة الخصائص وحتى نتأكد قم بنسخ السطر التالي ولصقه في النافذة الفورية ثم اضغط زر Enter ?CurrentDb.TableDefs("Table1").Fields("Field1").Properties("RowSource").Value لتظهر لنا النتيجة التالية وهذا معناه أنه يتم الإحتفاظ بعناصر القائمة في خاصية (Row Source أو مصدر الصف) الخاصة بالحقل إن شاء الله أكون قد وفقت بالشرح تحياتي تم تعديل منذ 2 ساعات بواسطه منتصر الانسي 1
Debug Ace قام بنشر منذ 1 ساعه قام بنشر منذ 1 ساعه (معدل) 52 دقائق مضت, منتصر الانسي said: إن شاء الله أكون قد وفقت بالشرح تمام وفقت ووفيت وكفيت وبعد اذنك انا حبيت ان اضع الشرح بالتفصيل الممل بعدكم واللى كنت عارفه بس ما حبيت اسبقكم اولا لازم نفهم ايه السحر اللى هنا ونفك الطلاسم دى ازاى علشان نفهم اللى بيحصل اولا انا عملت : Documenter للجدول ده وهو اللى كان فى اول مشاركة علشان بس اعرف هل فى اى حيل مخفية يعنى اختصارا للوقت والجهد وده اللى وضح كل شئ وهو كالاتى : تم تعريف الـ RowSource في الحقل على مستوى الـ ACE/Jet Engine مباشرة تم تغيير DisplayControl إلى Text Box تغيير DisplayControl أخفى القيم من واجهة Lookup Tab أى ان القيم لن تظهر فى وضع التصميم ولكنها ظلت محفوظة في مخطط الجدول ( schema ) طيب عرفنا البيانات وعرفنا فين محفوظة والحمد لله نوضح نقطة مهمة الاول قبل ما ننتقل للاضافة والحذف خاصية الإرث (inheritance) فى خصائص مربع التحرير والسرد يجب ان تكون مفعلة والا لن تظهر القائمة فى وقت العرض Runtime طيب الاضافة بطريقة الاستاذ منتصر او الافضل من خلال كود زى ده اولا الدوال الرئيسية لاضافة او تحديث او ازالة الخصائص Private Sub AddOrUpdateProperty(fld As DAO.Field, _ propName As String, _ propType As Integer, _ propValue As Variant) On Error GoTo ErrHandler fld.Properties(propName) = propValue GoTo ExitProc ErrHandler: If Err.Number = 3270 Then Err.Clear On Error GoTo ErrCreate Dim prp As DAO.Property Set prp = fld.CreateProperty(propName, propType, propValue) fld.Properties.Append prp GoTo ExitProc End If MsgBox "خطأ في AddOrUpdateProperty:" & vbCrLf & Err.Description, vbCritical ErrCreate: MsgBox "فشل إنشاء الخاصية " & propName & ":" & vbCrLf & Err.Description, vbCritical ExitProc: Set prp = Nothing End Sub Private Sub DeletePropIfExists(fld As DAO.Field, propName As String) On Error GoTo ErrHandler Dim prp As DAO.Property For Each prp In fld.Properties If prp.Name = propName Then fld.Properties.Delete propName GoTo ExitProc End If Next prp GoTo ExitProc ErrHandler: MsgBox "فشل حذف " & propName & ":" & vbCrLf & Err.Description, vbCritical ExitProc: Set prp = Nothing End Sub ثانيا : دوال الاضافة والحذف Public Sub AddHiddenFieldProperties() On Error GoTo ErrHandler Dim db As DAO.Database Dim tdf As DAO.TableDef Dim fld As DAO.Field Set db = CurrentDb Set tdf = db.TableDefs("TableName") Set fld = tdf.Fields("FieldName") ' DisplayControl = 109 (Combo مخفي) / 110 (Combo ظاهر) fld.Properties("DisplayControl") = 109 AddOrUpdateProperty fld, "RowSourceType", dbText, "Value List" AddOrUpdateProperty fld, "RowSource", dbText, _ """آسيا"";""أفريقيا"";""أوروبا"";""أمريكا الشمالية"";""أمريكا الجنوبية""" db.TableDefs.Refresh MsgBox "تم إضافة قائمة القيم المخفية بنجاح!", vbInformation GoTo ExitProc ErrHandler: MsgBox "فشلت العملية: " & Err.Description, vbCritical ExitProc: Set fld = Nothing Set tdf = Nothing Set db = Nothing End Sub Public Sub DeleteFieldProperties() On Error GoTo ErrHandler Dim db As DAO.Database Dim tdf As DAO.TableDef Dim fld As DAO.Field Set db = CurrentDb Set tdf = db.TableDefs("TableName") Set fld = tdf.Fields("FieldName") DeletePropIfExists fld, "RowSource" DeletePropIfExists fld, "RowSourceType" db.TableDefs.Refresh MsgBox "تم الحذف بنجاح!", vbInformation GoTo ExitProc ErrHandler: MsgBox "فشل الحذف: " & Err.Description, vbCritical ExitProc: Set fld = Nothing Set tdf = Nothing Set db = Nothing End Sub وبكده نقدر نقول التالى فى الاجابة ببساطة 1. كيف تم إضافة عناصر القائمة؟ من احد الطرق السابقة اما بطريقة الاستاذ : منتصر الانسي أو من خلال الاكواد السابقة 2- كيف يمكن حذف تلك العناصر؟ اما بطريقة الاستاذ : منتصر الانسي أو من خلال الاكواد السابقة 3- أين يتم حفظ القائمة؟ فى الجدول في خصائص الحقل على مستوى الـ ACE/Jet Engine مباشرة و تم تغيير DisplayControl إلى Text Box لتظل محفوظة في مخطط الجدول ( schema ) تم تعديل منذ 1 ساعه بواسطه Debug Ace 1
منتصر الانسي قام بنشر منذ 1 ساعه الكاتب قام بنشر منذ 1 ساعه بارك الله فيك اخي @Debug Ace نقدر نقول الان إن الإجابة أصبحت بإصدارين إصدار بسيط موجه للأعضاء العاديين وإصدار إحترافي للمحترفين 😅 1
Debug Ace قام بنشر منذ 1 ساعه قام بنشر منذ 1 ساعه الان, منتصر الانسي said: نقدر نقول الان إن الإجابة أصبحت بإصدارين إصدار بسيط موجه للأعضاء العاديين وإصدار إحترافي للمحترفين 😅 تحياتى استاذ انا بس حبيت اوضح كل النقاط نظريا وبالاكواد لتعم الفائدة
الردود الموصى بها
انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد
يجب ان تكون عضوا لدينا لتتمكن من التعليق
انشئ حساب جديد
سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .
سجل حساب جديدتسجيل دخول
هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.
سجل دخولك الان