الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يتم إظهار شريط أدوات بالكود

مغلق
بدأه محمد طاهر في 21 أكتوبر 2002 · 0 رد · 478 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1

موضوع منقول من المنتدي القديم

الكاتب : الفاروق

كيف يتم إظهار شريط أدوات بالكود

السلام عليكم ورحمة الله وبركاته

لدى سؤال بالأكسس وهو:

لدى نموذج به زر عند النقر عليه يتم فتح أحد الجداول فى وضع التصميم ، ولكنى قد منعت ظهور جميع القوائم والقوائم المختصرة داخل البرنامج من خيارات بدء التشغل مما لا أستطيع معه حذف أى حقل من حقول الجدول أو إضافة حقل جديد ...

والسؤال :

كيف يتم إظهار شريط الأدوات الخاص بتصميم الجدول عند فتح الجدول فى وضع التصميم ( عن طريق كود فى الزر الموجود بالنموذج مثلاً ) ، مع مراعاة أن يختفى هذا الشريط عند الخروج من وضع التصميم !!

وجزيل الشكر لله أولاً

ثم لمنتدى الفريق العربى للبرمجة وكل من فيه

والسلام عليكم ورحمة الله وبركاته

--------------------------------------------------------------------------

الكاتب: اا الفاروق اا بتاريخ: 9/19/2002 1:24:00 PM

-------------------------------------------------------------------

    DoCmd.ShowToolbar "Table Design", acToolbarYes

و للحصول عليه فعلت الآتي :

أنشيئ ماكرو به ShowToolbar و اختار ما تريد ثم Save as Module لتري الكود

----------------------------

الكاتب: محمد طاهر بتاريخ: 9/19/2002 11:58:16 PM

--------------------------------------------------------------------------------

السلام_عليكم

الأخ/محمد طاهر ألف شكر على ردك وسأجرب وإن شاء الله أخبرك بالنتيجة..

والسلام_عليكم

------------------------------------------------------------------

الكاتب: اا الفاروق اا بتاريخ: 9/20/2002 6:02:21 AM

----------------------------------------------------------------------

السلام عليكم

والسلام عليكم ورحمة الله وبركاته

الأخ محمد عند إلغاء جميع الخيارات بنافذة بدء التشغيل ومن بينها السماح بالقوائم الكاملة فإن الكود لا يعمل إلا فى حالة تشغيل قاعدة البيانات والضغط على Shift عند فتحها .. أما فى غير ذلك فلا يعمل .. فكيف يتم تجاوز هذه العقبة !!

" أى أننى أريد إظهار شريط الأدوات بالكود حتى فى حالة إلغاء ظهورها من نافذة بدء التشغيل .. "

جزاكم الله خيرا .. والسلام عليكم

--------------------------------------------------------------------------

أولا : كلمة تصميم في صفحة الجداول ظاهرة بإمكاك النقر عليها وإعادة التصميم كما تحب .

ثانيا : الخاصية المتعلقة بالشريط في مربع حوار بدء التشغيل هي السماح بأشرطة الأدوات المضمنة ، يعني إذا أردت أن تظهر الشريط فغير هذه الخاصية ثم اضغط القاعدة ثم اظهر الشريط المطلوب .

في حدث عند نقر زر أمر ضع :

changeproperty "AllowBuiltintoolbars", DB_Boolean, True
DoCmd.ShowToolbar "تصميم الجدول", acToolbarYes

وفي الوحدة النمطية الخاصة بالنموذج ضع :

Private Function changeproperty(strPropName As String, varPropType As Variant, varPropValue As Variant)
Dim dbs As Database, prp As Property
Const conPropNotFoundError = 3270
Set dbs = CurrentDb
On Error GoTo Change_err
dbs.Properties(strPropName) = varPropValue
changeproperty = True
Change_Bye:
Exit Function
Change_err:
If Err = conPropNotFoundError Then
Set prp = dbs.CreateProperty(strPropName, varPropType, varPropValue)
dbs.Properties.Append prp
Resume Next
Else
changeproperty = False
Resume Change_Bye
End If
End Function

بعد نقر زر الأمر أضغط قاعدة البيانات وستظهر أشرطة الأدوات .

يتبقى عليك أن تعيد إخفاء أشرطة الأدوات المضمنة بعكس True إلى False في الكود الأول .

طبعا الطريقة غير جيدة .

طريقة أخرى :

إضاة حقل بالكود :

 
Dim db As Database
Dim tdf As TableDef


Set db = CurrentDb
    Set tdf = db.TableDefs("اسم الجدول")
       With tdf
            .Fields.Append .CreateField("الاسم", dbText, 10)
            .Fields.Append .CreateField("الجنسية", dbText)
            .Fields.Append .CreateField("هاتف", dbText, 70)
            .Fields.Append .CreateField("ملاحظات", dbMemo)
        End With

db.Close

الأرقام تشير إلى حجم الحقل وdbTEXT حقل نصي وdbmemo حقل مذكرة .

ولحذف الحقول :

Dim db As Database
Dim tdf As TableDef


Set db = CurrentDb
    Set tdf = db.TableDefs("اسم الجدول")
       With tdf
            .Fields.Delete "الاسم"
            .Fields.Delete "الجنسية"
            .Fields.Delete "هاتف"
            .Fields.Delete "ملاحظات"
        End With

db.Close

غير اسم الجدول باسم الجدول لديك وعدله ليضيف حقل واحد فقط ويحذف حقل واحد فقط .

لكن السؤال هنا لماذا يلزم حذف أو إضافة حقول بعد الانتهاء من التصميم ؟

ولك تحياتي

-------------------------------------------------------------------

الكاتب: ابوحمود بتاريخ: 9/21/2002 11:34:51 PM

---------------------------------------------------------------------

السلام عليكم

بسم الله الرحمن الرحيم

أشكركم جميعاً على الرد بتلك المعلومات الوفيرة ..

وسبب السؤال عن ذلك هو :

أن لدى قاعدة بيانات يتم إدخال بياناتها على أكثر من نسخة للرنامج .. وقد جعلت أحد الحقول ترقيم تلقائى .. وبعد الإنتهاء من الإدخال يلزم تجميع تلك السجلات على برنامج واحد .. وفى هذه الحالة ستواجهنى مشكلة وهى وجود ترقيم غير مضبوط أو أحياناُ وجود أرقام ناقصة بالترقيم التلقائى ..

فاعتقد أن الحل الأسهل هو إظهار تصميم الجدول وحذف حقل الترقيم التلقائى ( المفتاح الرئيسى ) ثم إدراجه مرة أخرى !!

ولكن هل من حل أسهل من هذا الحل ..؟؟!!

وجزاكم الله خيراً

الفاروق

الكاتب: اا الفاروق اا بتاريخ: 9/22/2002 8:12:39 AM

-------------------------------------------------------------------------

السلام عليكم

عند التنفيذ لإضافة حقل جديد يحدث خطأ فى السطر التالى من الكود :

db As database

ويتوقف التنفيذ

الكاتب: اا الفاروق اا بتاريخ: 9/22/2002 3:41:05 PM

-----------------------------------------------------------------

نسيت أن أقول أضف مرجع للـ DAO

DAO1.PNG

DAO2.PNG

DAO3.PNG

DAO4.PNG

DAO5.PNG

DAO6.PNG

الكاتب: ابوحمود بتاريخ: 9/22/2002 8:13:17 PM

--------------------------------------------------------------

السلام عليكم ورحمة الله وبركاته

بسم الله الرحمن الرحيم

شكرا جزيلا يا أخ/ أبوحمود .. حيث أن الكود اشتغل بشكل جيد ..

ولكن كيف يمكن تعريف احقل على أن نوعه ترقيم تلقائى ؟؟

وهل توجد طريقه أحسن من هذه الطريقة لحل المشكلة ، والمشكلة مذكورة فى المشاركة قبل السابقة ..؟ وشكرا مرة أخرى

------------------------------------------------------------------

الكاتب: اا الفاروق اا بتاريخ: 9/24/2002 4:30:43 PM

------------------------------------------------------------------

الحمد لله

بالنسبة لطريقة أحسن فإما أن تعمل شبكة بين الأجهزة وتربط القاعدة بالأجهزة كلها .

أو عند إلحاق السجلات بالجدول الأخير لاتلحق معه حقل الترقيم التلقائي للتوضيح اكثر جدول1 في القاعدة نسخة2 تريد أن تلحق سجلاته بالقاعدة الأصلية في الجدول الأصلي ، عند عمل استعلام إلحاق لاتختار الترقيم التلقائي من جدول1 فقط بقية الحقول .

بالنسبة لحقل الترقيم التلقائي ، فقد جربت طريقة قد نقلتها قديما لا ادري من أين ولكن لم تنفع وقد بحث في الإنترنت فوجدت نفس الطريقة ولكن ايضا لم تشتغل ولا ادري ما سبب المشكلة .

هذا الكود لمن أراد التجريب :

Dim db As Database
Dim tdf As TableDef
Dim prpLoop As Property

Set db = CurrentDb
    Set tdf = db.TableDefs("اسم الجدول")
        With tdf
            .Fields.Append .CreateField("تسلسل", dbLong)
            .Fields("الاسم").Attributes = dbAutoIncrField
             .Fields.Append .CreateField("الجنسية", dbText) ' 10
            .Fields.Append .CreateField("هاتف", dbText, 70)
            .Fields.Append .CreateField("ملاحظات", dbMemo) ' 12
        End With
db.Close

وقد عثرت أثناء بحثي على طريقة قد تكون أفضل :

لإنشاء الحقل :

Dim strSQL As String
Dim db As DAO.Database
Set db = CurrentDb()
strSQL = "ALTER TABLE [اسم الجدول] ADD COLUMN ترقيم COUNTER"
db.Execute strSQL, dbFailOnError
Set db = Nothing

ولحذف الحقل :

Dim strSQL As String
Dim db As DAO.Database
Set db = CurrentDb()
strSQL = "ALTER TABLE [اسم الجدول] Drop COLUMN ترقيم COUNTER"
db.Execute strSQL, dbFailOnError
Set db = Nothing

وهي معمولة بلغة SQL .

اعانك الله

الكاتب: ابوحمود بتاريخ: 9/25/2002 1:58:00 AM

---------------------------------------------------------------

السلام عليكم

جزاكم الله خيراً إن شاء الله بجرب طريقة استعلام إلحاق ورد عليكم ..

الكاتب: اا الفاروق اا بتاريخ: 9/25/2002 3:08:22 PM

--------------------------------------------------------------

رسالة شكر

الأخ/ محمد طاهر

و الأخ/ أبو حمود

شكرا لكما أنا أيضاً أستفدت من الموضوع.

بارك الله فيكما وزادكما علماً .

--------------------------------------------------------------------------------

مع خالص تحياتي ابن مسقط assq@gawab.com

الكاتب: ابن مسقط

هذا الموضوع مغلق.

مواضيع مشابهة