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

مشكلة في أمر isopen أرجو المساعدة

مغلق
بدأه loayy في 15 يوليو 2003 · 14 رد · 1,059 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الإخوة الأعزاء

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

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

Private Sub Form_Open(Cancel As Integer)

DoCmd.GoToRecord , , acNewRec

If IsOpen("Employee") Then

EmployeeId.DefaultValue = Forms![Employee]![EmployeeId]

End If

End Sub

تظهر لي رسالة الخطأ التالية :

compile error

sub or function not defined

فهل هناك أحد يستطيع مساعدتي في حل هذه المشكلة وأرجو أن لا أكون أطلت عليكم وشكرا لكم جميعا ،،،

#2

عزيزي لؤي

دالة ( IsOpen ) ليست دالة قياسية تأتي مع أكسس، لكن هذه الدالة قام بعملها مطور قاعدة البيانات التي تتعامل معها. وبناء عليه

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

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

ملاحظة:

هذه الدالة موجود في قاعدة البينات المثال( ORDER )

#3

الأخ العزيز Gaham

أشكرك جزيل الشكر على ردك وإن شاء الله سوف أقوم بالبحث عن القاعدة order وإن واجهت أي مشكلة فلن أتردد في الكتابة

#4

الأخ العزيز Gaham

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

بحثت أخي العزيز عن قاعدة البيانات ORDER التي أخبرتني أنها موجودة ولكن مع الأسف لم أجدها

أرجو يا أخي العزيز والكريم أن تدلني -ولو فيها ثقل دم- على الرابط الخاص بهذه القاعدة

ولك جزيل الشكر

أخوك : لؤي (أبو العبد)

#5

ياأبا العبد:

هذه القاعدة موجودة في الدليل التالي

C:Program FileMicrosoftOfficeOfficeSampleOrder.mdb

أوحسب دليل الأفس لديك.

#6

الأخ العزيز Gaham

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

أشكرك أخي العزيز مرة أخرى على تفاعلك ولقد وجدت القاعدة تحت أسم ORDERS.MDB وإن شاء الله سوف أستفيد منها

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

#7

الأخ العزيز Gaham

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

أرجو أن لا أكون قد أطلت عليك ولكن - مع الأسف - لم أجد الأمر IsOpen داخل القاعدة Orders.mdb

وتفضلوا بقبول فائق الإحترام والتقدير ،،،

#8

عزيزي: لؤي

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

لك الله. فلا تضجر.

أخوك: القحم

#9

أخي القحم

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

أشكرك أخي الكريم على تفاعلك معي وأنا في انتظار المثال وبارك الله في حسناتك وجزاك الله خيرا

أخوك لؤي (أبو العبد)

#10

أخي: أبو العبد

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

بداية:

أقدم لك ولجميع الأعضاء إعتذاري الشديد عن ما أفدتك به من معلومات سابقة حول دالة ()IsOpen فقد ذهب ذهني إلى دالة ()IsLaod وهي دالة شبيه بدالة ()IsOpen لكن المرجع الذي أحلتك إليه لا يضمن هذه الدالة أعني دالة ()IsOpen.

وعليه أكرر أسفي واعتذاري لك ولجميع الأعضاء عن هذا الخطأ. وأرجو أن تعفوا وتصفحوا.

أما جواب دالة ()IsOpen فهو كالتالي:

ـــ سبق أن ذكرت لك أن سبب إرجاع الرسالة السابقة في سؤالك المتقدم كان هو عدم توفر مرجع للدالة ضمن قاعدة البيانات لديك. وهذا صحيح. وبناء عليه يجب أن تكون هذه الدالة موجودة على الأقل في النموذج الذي استخدمت فيه هذه الدالة. لكن الأفضل أن تكون هذه الدالة ضمن وحدة نمطية عامة داخل قاعدة البيانات. إذن دعنا نحرر هذه الدالة ضمن وحدة نمطية عامة. فلنبدأ:

ـــ إفتح وحدة نمطية جديدة وسمها ( Utilities )

ـــ اكتب الآن نص الدالة كالتالي:


If acObjStateOpen = SysCmd(acSysCmdGetObjectState, acForm, strFormName) Then
IsOpen = True
Else
IsOpen = False
End If
End Function
Function IsOpen(strFormName As String) As Boolean

ـــ فائدة هذه الدالة التأكد من الغرض المفتوح ( نموذج ) ثم التأكد من النموذج هو المذكور في الدالة()IsOPen

__ هذا والعلم عند الله ( إنه هو العليم الخبير )

أخوك: القحم

#11

أخي الكريم / القحم

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

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

بارك الله فيك مرة أخرى ،،،

أخوك / لؤي (أبو العبد)

#12

أخي الكريم / القحم

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

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

بارك الله فيك مرة أخرى ،،،

أخوك / لؤي (أبو العبد)

#13

الإخوة الكرام في المنتدى

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

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

أخي الكريم القحم

أشكرك أخي الكريم فلقد قمت بتطبيق الدالة التي ذكرت - والحمد لله - فقد حلت المشكلة وأصبح البرنامج يعمل دون أي مشاكل

بارك الله فيك أخي الكريم وجعل عملك هذا في ميزان حسناتك يوم القيامة إنه سميعٌ مجيبٌ

أخوكم / لؤي (أبو العبد)

#14

أخي أبو العبد

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

ثانيا: أحمد الله إليك أن وفق للصواب, فله الحمد من قبل ومن بعد.

ثالثا: بشرك الله بالخير أن بشرتني بعمل الدالة.

أخوك القحم

#15

أخي الكريم القحم

جزاك الله خيراً والحمد لله دائماً وإنا لله وإنا إليه راجعون وندعو الله جميعاً أن يكون خير أعمالنا خواتيمها وخير يوم هو يوم لقائه عز وجل - إنه سميعٌ مجيبٌ - ونرجو الله أن لا تنسونا من صالح دعائكم وأن تدعو له

أخوك / لؤي (أبو العبد)

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

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