استفسارى كيف انشاء حقل ضمن الجدول بالكود يكون قائمة منسدله ويطالبنى بالقيم اللتى سوف تظهر بالقائمه
رابط المشاركه /index.php/topic/144265-تمت-الإجابة-انشاء-الجداول-والفهارس-والعلاقات-و/?p=726691
استفسارى كيف انشاء حقل ضمن الجدول بالكود يكون قائمة منسدله ويطالبنى بالقيم اللتى سوف تظهر بالقائمه
رابط المشاركه /index.php/topic/144265-تمت-الإجابة-انشاء-الجداول-والفهارس-والعلاقات-و/?p=726691
اخي الفاضل : احمد
وعليكم السلام ورحمة الله وبركاته
لإنشاء حقل جديد وبخصائص معينة ضمن جدول موجود مسبقا سوف نحتاج الى شرح العملية لأن ذلك سيتم بالكود البرمجي
1. لنفرض ان لدينا جدول اسمه Table1 ويوجد به حقل وحيد وهو ID
2. نريد الآن اضافة حقل جديد واسمه sName من نوع ListBox ونضع به القيم التي نريدها مثل ( zahrah1 ,zahrah2 , zahrah3 )
3. اذا الخطوة الأولى هي انشاء نموذج لا علاقة له بالجدول ابدا وليس له مصدر سجلات ونضع به زر أمر
نضع تحت زر الأمر كود إنشاء الحقل sName مع تغيير خصائصه وعند الضغط على زر الأمر سوف يقوم الكود البرمجي بعمل اللازم
ولهذا يجب ان نتأكد من الجدول هل تم اصافة الحقل sNAME وتم تحويله الى مربع قائمة وبه القيم المطلوبه أم لا ( دعنا نتأكد من ذلك )
ولو نظرنا الى خصائص الحقل sName في الجدول سنجدها مطابقة لما تم عمله بالكود البرمجي
بالتوفيق
جزاك الله كل خير يا ام عهود
هذا اذا كان الجدول موجود
طيب واذا لم يكن موجود وسيتم انشائه بكود برمجى مثل المثال اللذى قمتى بعمله من قبل على الرابط المرفق فكيف يكون يا ام عهود
وهل من الممكن عند انشاء الجدول بالكود وبه القائمة المنسدله يظهر شاشة لاضافة القيم المراد اظهارها بالقائمه مثل معالج البحث المضمن بالاكسيس
تفضل اخي الكريم
سيكون انشاء الجدول مع الحقول الخاصة به بالكود البرمجي بهذه الطريقة
Private Sub CmdCreatNewTable_Click()
Dim dbs As DAO.Database
Dim strFieldName As String
Dim strSQL As String
strSQL = "CREATE TABLE [Table1] ([ID] AUTOINCREMENT,[sName] TEXT(25) NOT NULL,CONSTRAINT [PrimaryKey] PRIMARY KEY ([ID]));"
DoCmd.RunSQL strSQL
Set dbs = CurrentDb
With dbs.TableDefs("Table1").Fields("sName")
.Properties.Append .CreateProperty("DisplayControl", dbInteger, AcControlType.acListBox)
.Properties.Append .CreateProperty("RowSourceType", dbText, "Value List")
.Properties.Append .CreateProperty("RowSource", dbText, "'zahrah1';'zahrah2';'zahrah3';" & _
"'zahrah4';'zahrah5';'zahrah6'")
.Properties.Append .CreateProperty("ColumnCount", dbInteger, 1)
.Properties.Append .CreateProperty("ColumnHeads", dbBoolean, False)
.Properties.Append .CreateProperty("ListRows", dbInteger, 10)
.Properties.Append .CreateProperty("ListWidth", dbText, -1)
.Properties.Append .CreateProperty("LimitToList", dbBoolean, False)
.Properties.Refresh
End With
MsgBox " مبروك تم انشاء الجدول بنجاح ", vbInformation, " مبروك "
dbs.Close
Set dbs = Nothing
End Subتم تعديل هذه المشاركة بواسطة zahrah في 27 ديسمبر 2013 في 07:44
ما شاءالله اخت زهرة عمل رائع
طيب انا عندي استفسار نموذج الذي تم انشاءه يقوم بانشاء حقل محدد اسمه (sname) و يقوم بادخال بيانات محدده فيه داخل الكود
هل من الممكن ان نعطي للمستخدم القدرة على تحديد خصائص الحقل دون الدخول الى الكود يعني فقط عن طريق النموذج ,,, يعني مثلا ان يقوم المستخدم مره بانشاء حقل اسمه (الهاتف) فيقوم بتحديد اسم الحقل ويضيف البيانات داخله ... ومرة اخرى قد يرغب بتكوين حقل جديد باسم اخر و بيانات اخرى ليكن اسم الحقل(الشركة)فهل هذا ممكن.؟؟
zahrah كتب:
تفضل اخي الكريم
سيكون انشاء الجدول مع الحقول الخاصة به بالكود البرمجي بهذه الطريقة
Private Sub CmdCreatNewTable_Click() Dim dbs As DAO.Database Dim strFieldName As String Dim strSQL As String strSQL = "CREATE TABLE [Table1] ([ID] AUTOINCREMENT,[sName] TEXT(25) NOT NULL,CONSTRAINT [PrimaryKey] PRIMARY KEY ([ID]));" DoCmd.RunSQL strSQL Set dbs = CurrentDb With dbs.TableDefs("Table1").Fields("sName") .Properties.Append .CreateProperty("DisplayControl", dbInteger, AcControlType.acListBox) .Properties.Append .CreateProperty("RowSourceType", dbText, "Value List") .Properties.Append .CreateProperty("RowSource", dbText, "'zahrah1';'zahrah2';'zahrah3';" & _ "'zahrah4';'zahrah5';'zahrah6'") .Properties.Append .CreateProperty("ColumnCount", dbInteger, 1) .Properties.Append .CreateProperty("ColumnHeads", dbBoolean, False) .Properties.Append .CreateProperty("ListRows", dbInteger, 10) .Properties.Append .CreateProperty("ListWidth", dbText, -1) .Properties.Append .CreateProperty("LimitToList", dbBoolean, False) .Properties.Refresh End With MsgBox " مبروك تم انشاء الجدول بنجاح ", vbInformation, " مبروك " dbs.Close Set dbs = Nothing End Sub
جزاك الله خير يا ام عهود
وقمت بحذف صغير بالكود ناتج عن السرعه قد حذفت End If قبل المسج وحذفت 1 من strSQL اللتى فى امر انشاء الجدول
وقمت بالتجربه ونجت تمام وقمت بحذف الوحده النمطيه اللتى بالمشاركة 2 وقمت بالتجربه ونجحت ايضا
ويتبقى جزء صغير هل من الممكن عدم اضافة القيم بالكود ويظهر نموذج لاضافة القيم المراد اظهارها بالقائمه مثل معالج البحث المضمن بالاكسيس
طالب علم مبتدىء كتب:
ويتبقى جزء صغير هل من الممكن عدم اضافة القيم بالكود ويظهر نموذج لاضافة القيم المراد اظهارها بالقائمه مثل معالج البحث المضمن بالاكسيس
نعم اخي الكريم يمكن عمل ذلك بالكود البرمجي بهذه الطريقة
1. اولا سيتم إنشاء الجدول وإنشاء الحقول بداخله بواسطة الكود
2. سيتم فتح نموذج لإدخال القيم المطلوب اظهارها في القائمة
3. بإمكانك حذف القيم السابقة جميعها واستبدالها بقيم جديده او إضافة قيم الى القيم السابقة وبعد ذلك قم بإغلاق نموذج الإضافة
4. سيقوم الكود البرمجي بعد ذلك بإكمال معالج اضافة القيم الى الحقل في الجدول Table1 الذي تم إنشاؤه وسيكون بهذا الشكل
بالتوفيق
يعجز اللسان عن شكرك يا ام عهود
فاسال الله انا يجازيكى عنا خير الجزاء ويبارك لكى فى عهود وشهد
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…