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

Activix ومشاكله

مغلق
بدأه حديث الزمان في 21 مايو 2005 · 27 رد · 3,665 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أدوات أكتيفكس ممتعة وتضفي على برمجة أكسس تأثيرات جميلة وقدرات إضافية جيدة

ولكن ..........

هذه الأدوات لا تعمل إلا إذا تم تسجيلها من قائمة:

أدوات > عناصر تحكم Activex

فهل هناك كود معين يعمل عند تحميل البرنامج يقوم بتسجيل الأداة أو فتح نافذة تسجيل الأداة - إن لم تكن مسجلة - ؟؟؟

أرجو المساعدة

تم تعديل هذه المشاركة بواسطة حديث الزمان في 21 مايو 2005 في 12:17

#2

قمت بعمل كود .. وأعتمد عليه في برامجي ..

مهمة هذا الكود يقوم بإضافة المراجع تلقائياً عند تشغيل البرنامج ..

سأضعه لك إن شاء الله تعالى

#3

وانا ايضا في انتظار هذا الكود الرائع اخي احمد

#4

للرفع

#5

نيابة عن اخي احمد الحربي وفقه الله تعالى لما يحبه ويرضاه اضع كود نسخ واضافة المراجع مع مثال مرفق ولاخي احمد الحربي الفضل بعد الله في هذه الطريقة .

اولا : اضافة المراجع عن طريق زر أمر يوضع في النموذج

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

' اضافة المراجع
On Error Resume Next
Dim ref As Reference
Dim strFileDBPath As String
Dim RefName As String
Dim conRef As Integer
Dim sqlUpdate  As String
Dim pathAndNamefile As String
Dim i As Byte
strFileDBPath = CurrentProject.Path
conRef = DCount("[referenceName]", "tblReferenceNameOnThisDB")
For i = 1 To conRef
    RefName = DLookup("[referenceName]", "tblReferenceNameOnThisDB", "InsertOkOrNO =" & False)
    
    sqlUpdate = "Update tblReferenceNameOnThisDB set InsertOkOrNO=" & True
    sqlUpdate = sqlUpdate & " where referenceName='" & RefName & "'"
    
    DoCmd.RunSQL sqlUpdate
    pathAndNamefile = strFileDBPath & RefName
Set ref = References.AddFromFile(pathAndNamefile)
Next i
    sqlUpdate = "Update tblReferenceNameOnThisDB set InsertOkOrNO=" & False
    DoCmd.RunSQL sqlUpdate
MsgBox " مبروك... تم اضافة المراجع للقاعدة بنجاح"
End Sub

الطريقة الثانية

اضافة المراجع المطلوبه تلقائيا بدون تدخل المستخدم

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

Private Sub Form_Current()
' اضافة المراجع تلقائيا بدون تدخل المستخدم
On Error Resume Next
Dim ref As Reference
Dim strFileDBPath As String
Dim RefName As String
Dim conRef As Integer
Dim sqlUpdate  As String
Dim pathAndNamefile As String
Dim i As Byte
strFileDBPath = CurrentProject.Path
conRef = DCount("[referenceName]", "tblReferenceNameOnThisDB")
For i = 1 To conRef
    RefName = DLookup("[referenceName]", "tblReferenceNameOnThisDB", "InsertOkOrNO =" & False)
    
    sqlUpdate = "Update tblReferenceNameOnThisDB set InsertOkOrNO=" & True
    sqlUpdate = sqlUpdate & " where referenceName='" & RefName & "'"
    
    DoCmd.RunSQL sqlUpdate
    pathAndNamefile = strFileDBPath & RefName
Set ref = References.AddFromFile(pathAndNamefile)
Next i
    sqlUpdate = "Update tblReferenceNameOnThisDB set InsertOkOrNO=" & False
    DoCmd.RunSQL sqlUpdate

End Sub

اختكم

زهره

emp.rar

تم تعديل هذه المشاركة بواسطة zahrah في 27 فبراير 2006 في 12:46

#6

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

احس عند قراءة اجابات الاخت زهرة بارك الله فيها انها هي من صممت برنامج الاكسس

بارك الله فيك اختي الكريمة زهرة

لك كل الشكر والشكر موصول للاخ احمد الذي اوضح وجود مثل هذه الامكانية

#7

أشكر الأستاذة زهرة على تفضلها بإجابة الأخ الكريم ..

هذا الكود الذي تفضلت به أستاذتنا هو الذي كنتُ سأضعه فهو من صنعي ، قبل مدة من الزمن ، وكنت سأضعه لك ، لكن كرم الأستاذة أغنانا وأغناك ، وأشكرها على زيادة الشرح والتوضيح

لاحظ أخي الكريم .. إلى أنه لابد أن يكون قد أنشأت جدولاً يحتفظ بأسماء المراجع .. وهو باسم tblReferenceNameOnThisDB ، وبحقل واحد هو referenceName

#8

اشكرك اخي احمد الحربي

واشكر جميع الاخوان المشاركين

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

اختكم

زهره

#9

خيرك سابق .. أستاذة زهرة

الكل هنا يشهد لك بعلو كعبك في الآكسس ، وأنا أول الشاهدين

#10

اشكرك استاذي ومعلمي احمد

ما انا الا نقطة في بحركم وتلميذة في جامعتكم والعين ما تعلو على الحاجب .

اختكم الصغيره

زهره

#11

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

" يــــــــــــــــــاســــــــــــــــــــــــــــــــلام "

كلام جميل وردود وافيه ،،، بارك الله فيكم جميعاً ،،، ونفع بكم الاسلام والمسلمين ...

مع تحياتي للجميع ،،،

عبدالمانع

إنما الأمم الأخلاق ما بقيت ××× فإن هم ذهبت أخلاقهم ذهبوا ...
#12

موضوع مفيد جدا للغاية

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

ibnmusqat.gif
#13

الأخ أحمد الحربي الأخت زهره يحفظكم الله .

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

وهل نضيف هذا النوذج في نفس قاعدة البيانات التي ارغب في إضافة أدوات أكتف اكس في نماذجها أو عمل قاعدة بيانات خاصة ذات جدول واحد وحقل واحد مثل ما أفاد الأخ أحمد الحربي لحفظ أسماء المراجع ؟

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

#14

Up

#15

خيرك سابق .. أستاذة زهرة

الكل هنا يشهد لك بعلو كعبك في الآكسس ، وأنا ثاني الشاهدين

#16

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

الكود الثاني . لابد أن يكون تلقائياً .. مثلاً في حدث (عند الفتح) لشاشة الدخول أو الشاشة الرئيسية للبرنامج تضع هذا الكود

طبعاً .. سيكون تخزين ملفات البرامج في نفس مجلد القاعدة

دمتم بخير ورضا .. ودامت زهرة لأهل المنتدى

#17

كل عام وانتم بخير

توجد بعض الاستفسارات ارجوا الافادة

هل هذا الكود مهم يعني حتى في حال عمل البرنامج بشكل سليم

وان تم وضعه فهل يظر بالبرنامج اذا لم يكن له حاجة

وهل هناك سبب لوضع الكودين منفصلين (واحد عند فتح الفورم والاخر عند الضغط) هل ينفع ان يكونوا في زر واحد يتم الضغط عليه عند الحاجة

واخيرا لقد اشار الاخ احمد بوجود (وضع مسار المراجع في الجدول tblReferenceNameOnThisDB) ولم يكن موجود في مثال الاخت زهره المرفق في الصفحة الاولى فهل هو مهم ايضا

واسف على الاطاله

#18
اقتباس
هل هذا الكود مهم يعني حتى في حال عمل البرنامج بشكل سلي

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

اقتباس
وان تم وضعه فهل يظر بالبرنامج اذا لم يكن له حاجة

لا لا يظر فالمكتبات ستكون في مجلد البرنامج والكود يتم تنفيذه عند تشغيل البرنامج فقط وهو كود صغير ولا يؤثر على البرنامج

اقتباس
وهل هناك سبب لوضع الكودين منفصلين (واحد عند فتح الفورم والاخر عند الضغط) هل ينفع ان يكونوا في زر واحد يتم الضغط عليه عند الحاجة

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

اقتباس
واخيرا لقد اشار الاخ احمد بوجود (وضع مسار المراجع في الجدول tblReferenceNameOnThisDB) ولم يكن موجود في مثال الاخت زهره المرفق في الصفحة الاولى فهل هو مهم ايض
ا

نعم مهم فهو يحتفظ بأسماء المكتبات ومسارها التي يعتمد عليها الكود الخاص بضبط المراجع وإلا فيكف يعرف البرنامج المكتبات التي تم إضافتها عند إنشاء البرنامج ثم يقوم بضبطها

اقتباس
واسف على الاطاله

لا عليك فطالب العلم لا يشبع أبداً أسألني أنا

#19

توضيح شافي ووافي منك يا ابو ساره

والله اني اكتب الرد وانا مبتسم بسبب شرحك اللي يشرح الصدر

#20

سؤال اخير

لقد اتضحت الرؤيا تقريبا

وانا افضل وضع الكود عند فتح الفورم الاساسي للبرنامج لكي يقوم باضافة المكتبات المطلوبة تلقائيا دون تدخل المستخدم ودون ان يشعر بذلك

سؤالي عن الجدول

هل اقوم بانشاء الجدول والحقل الوحيد المطلوب واتركه فارغ - يعني هل هو يقوم باضافة المكتبات المطلوبة وتسجيل اسمائها في هذا الجدول من تلقاء نفسة

او مهمت هذا الجدول ان يقوم المبرمج بتسجيل جميع المكتبات المطلوبة لبرنامجه وتعبئتها في هذا الجدول - ومن ثم يقوم البرنامج باختيارها وتسجيلها ضمن مكتبات البرنامج اذا كانت غير مسجلة

وشكرا

#21

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

#22

عاجز عن الشكر

#23

آخر سؤال

ولو سألت اي سؤال بعده لا أحد يجاوبني

في اخر الكود يتم السؤال InsertOkOrNO

فهل يمكن وضع الجواب ok تلقائيا وبدون تدخل مني ويتم ذلك بدون ظهور السؤال اصلا

يعني تتم الاضافة في الجدول على طول اذا كان هناك اضافة

وشكرا مقدما

#24

موضوع مهم ماحبيت انه يتراجع للخلف بدون فائدة للجميع

نرجوا التوضيح

تم تعديل هذه المشاركة بواسطة Enjoy في 24 أكتوبر 2007 في 20:39

#25

ياليت يكون فيه جواب

لاني من النوع اللي احب التجارب - ولكني اخشى من حذف كود او امر يكون مهم

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

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