السلام عليكــم ورحمـة الله وبركاتــه ،،
هل هناك طريقة عند إنشاء جدول باستخدام أوامر Sql تجبر برنامج Access على عرض الحقل BIT على شكل CheckBox ؟
السلام عليكــم ورحمـة الله وبركاتــه ،،
هل هناك طريقة عند إنشاء جدول باستخدام أوامر Sql تجبر برنامج Access على عرض الحقل BIT على شكل CheckBox ؟
للرفع للأهمية ايها الاخوة
اخي الفاضل
السلام عليكم ورحمة الله وبركاته
من المعروف انه عند انشاء جدول او اضافة حقول بواسطة استعلام تعريف البيانات ان الحقل BIT او YESNO لا يتحول في الجدول الى CheckBox ولكنه سيبقى على شكل نصي سواء ( نعم / لا ) او ( 0 -1 )
ولكن لا يوجد مشكله في ذلك لأننا سوف نقوم بتغيير خاصية الحقل الى CheckBox فتابع معي بارك الله بك
اولا انشاء جدول بواسطة استعلام تعريف بيانات بهذه الطريقة :
CREATE TABLE Company ([C_ID] AUTOINCREMENT, [C_NAME] text (30), [C_DATE] date, [C_PHONE] text (20), [CheckBox] BIT , [NOTES] memo, CONSTRAINT [Index1] PRIMARY KEY ([C_ID]));
انتهينا الأن من انشاء استعلام تعريف البيانات ولو تلاحظ معي ان اسم الجدول الذي سينتج لنا هو Company والحقل CheckBox اخذ نوع BIT
اذا لنعطي اسم لهذا الإستعلام وليكن qryCrTblCompany
نريد الآن تغيير خاصية الحقل CheckBox الى ( نعم / لا ) ولكن بواسطة الإختيار لهذا سوف نستخدم الكود التالي والذي نضعه على زر أمر في النموذج لعمل التغيير
Private Sub CmdGO_Click()
On Error GoTo Err_CmdGO_Click
DoCmd.SetWarnings False
DoCmd.OpenQuery "qryCrTblCompany"
Dim tdf As DAO.TableDef
Dim fld As DAO.Field
Dim db As Database
Set db = CurrentDb
Set tdf = db.TableDefs("Company")
Set fld = tdf.Fields("CheckBox")
fld.Properties.Append fld.CreateProperty("DisplayControl", 3, 106)
fld.Properties.Append fld.CreateProperty("Format", 10, "Yes/No")
Set db = Nothing
Set tdf = Nothing
Set fld = Nothing
MsgBox "تم إنشاء الجدول بنجاح", vbInformation, "مبروك"
Exit_Err_CmdGO_Click:
Exit Sub
Err_CmdGO_Click:
MsgBox "الجدول موجود مسبقا"
Resume Exit_Err_CmdGO_Click
End Subوهذا مثال عملي للتطبيق
بالتوفيق
تم تعديل هذه المشاركة بواسطة zahrah في 28 سبتمبر 2009 في 12:36
أشكرك أختي و أستاذتي الفاضلة zahrah
تأخرت في الرد للمحاولة مرة بعد مرة لتحويل هذا الكود ولكن لم أفلح في ذلك :S
أنا يا أختي الكريمة أقوم بتطوير برنامج باستخدام لغة C#
لا يوجد أي مشكلة لو كان البرنامج فقط هو من يتعامل مع قاعدة البيانات ولكن فكرة البرنامج أن يقوم بإنشاء جداول حسب الحاجة لتوزيعها على الموظفين ليقوموا بتعبئتها بالأكسس نفسه لأوفر عليهم تثبيت مكتبة مايكروسوفت الخاصة بالبرمجة ثم يقوموا بإعادتها للبرنامج الأصلي الذي يحوي على القاعدة الأصلية ويتم استيراد البيانات التي أضافوها للقاعدة الأساسية .
لا أملك أي خبرة ببرمجة أكسس وهذا الكود الذي أراه حسب علمي هو كود بتقنية DAO
حاولت استيراد المكتبة الخاصة بهذه التقنية وقد نجحت ولكن ظهر لي بعض المشاكل تجاوزتها حتى وصلت للدالة CreateProperty لأتفاجأ بأنها تنتظر مني أربعة بارامترات :S
بحثت كثيرا بدون جدوى
وفي الأخير لاحت لي فكرة ولا أعلم هل من الممكن تطبيقها أم لا .
الفكرة باختصار أن يتم انشاء الجداول المطلوبة من الـ C# ويكون الفورم ( الموجود داخل أكسس والذي يحمل الكود الذي تفضلتي به ) جاهز لتعديل الجداول عندما يقوم الموظفون بفتحه لأول مره
لكن هل من الممكن أن يتم تشغيل الفورم مرة واحده عند أول تشغيل ثم يحذف نفسه أو يعطل نفسه من بداية التشغيل لانتهاء مهمته ؟
ولكي ولجميع من حاول جزيل الشكر
اخي الفاضل hfsh80
السلام عليكم ورحمة الله وبركاته
نعم يمكن حذف النموذج بعد انتهاء مهمته ( انشاء جدول ) مباشرة ولن تستطيع اعادته
اليك البرنامج بعد التعديل
كل ما عليك هو فتح النموذج FORM ثم الضغط على زر الأمر الخاص بإنشاء الجدول وتعديل خصائص الحقل ثم الضغط على زر موافق في الرسالة بعد انشاء الجدول
وسيتم اغلاق النموذج مباشرة وحذفه من قاعدة البيانات قم بالتجربه وسترى ما يسرك إن شاء الله
بالتوفيق
جزا الله معلم الناس الخير
خير الناس أنفعهم للناس
الأخت المبدعة زهرة المنتدى
موضوع نافع وفائدته عظيمة
فجزاك الله خيرا
أبومحمد
جزاك الله خيرا أخي الكريمة على تفضلك بالرد
فعلا كما طلبت :)
شكرا مرة اخرى وأتمنى لك التوفيق
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…