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

مشكلة في استدعاء دالة فرعية

مغلق
بدأه م / محمد جمال في 28 مايو 2007 · 8 رد · 645 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

ملخص الموضوع يا شباب

عايز أعمل دالة فرعية تستقبل متغيرين

الدالة هيا

Public Sub rcpro(rc, xx)

On Error Resume Next

rs.Close

Dim sql As String

sql = "select * from t1 where raqm =" & xx

rs.Open sql, db, adOpenDynamic, adLockOptimistic

rs.Fields(rc) = "1"

Label1 = (Val(rs.Fields(0)) + Val(rs.Fields(1)) + Val(rs.Fields(2)) + Val(rs.Fields(3)) + Val(rs.Fields(4)) + Val(rs.Fields(5)) + Val(rs.Fields(6))) * 10 + (Val(rs.Fields(7))) * 5

End Sub

لما باجي استدعيها

Private Sub Check1_Click()

rcpro (0 , 1)

End Sub

يدينى اررور قبل مانهي سطر الاستدعاء وعايزني أكتب يساوي ؟؟؟؟؟

لو عملتها متغير واحد بيستدعي عادي

أرجو الحل

#2

بسبب أنك حاطط أقواس.

أستعمل :

rcpro 0, 1

فقط و يرجى تعريف الـ Parameters بتاعتك و متسبهاش Variant

#3

تشكر يا مان

عملتها والحمد لله اشتغلت

بس انا مش فاهم تقصد ايه بجملة تعريف parameters

#4

أعتقد أن بتقصد بـ XX جملة ما و بالتالى تكون :

XX As String

و هكذا.

أمثلة أخرى :

Private Sub MySub ( FirstParam As String , SecondParam As Long , ThirdParam As Integer)
#5

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

هو في شوية ملاحظات كنت عاوز الفت نظرك ليها في تصميم الاجراء .

- البراميتارز الوسيطه الافضل تحديد نوعها عند تعريفها سواء كانت Integer او او .... الخ .

- إستخدام On Error Resume Next انا ارى ليس له داعي من كتابتها فا الخطأ الوحيد الذي تجاهلته والذي ممكن ان يحدث هو ان تكون الـ Recordset مفتوحه سابقا فلابد من غلقها قبل استخدامها,

- ايضا استخدامك إستخدام On Error Resume Next ممكن ان يهمل خطأ في جملة الـ SQL ويأتي لك بنتائج غير متوقعه اي ممكن يبوظلك الدنيا . واشياء اخرى من هذا القبيل .

فا يصبح الكود كا الاتي :

Public Sub rcpro(rc As Integer, xx As Integer)

If RS.State = adOpenStatic Then RS.Close

Dim sql As String

sql = "select * from t1 where raqm =" & xx

RS.Open sql, db, adOpenDynamic, adLockOptimistic

RS.Fields(rc) = "1"

Label1 = (Val(RS.Fields(0)) + Val(RS.Fields(1)) + Val(RS.Fields(2)) + Val(RS.Fields(3)) + Val(RS.Fields(4)) + Val(RS.Fields(5)) + Val(RS.Fields(6))) * 10 + (Val(RS.Fields(7))) * 5

End Sub

ويتم إستدعاءه هكذا بدون أقواس :

rcpro 0, 1

بالتوفيق ,,,,

A7med_prof

اقتباس

آسف الدخول متقطع هذه القتره

اقتباس

[يمين]

.[/يمين]

A7med_prof-4-2007.jpg

اخر مواضيعي 2007

االمثال مطبق على موقع بورصه سعودي

.

.

مواضيع مهمه ومطلوبه بكثره VB6

.

بــرامج ومشــاريع عربيه كامــله {HnHn} والمزيد في قسم برامج الاعضاء || ربط قواعد بيانات اكسس مع الفيجوال بيسك, مادة دراسية كاملة {بنت اليمن}|| المرجع الشامل لجمل SQL ا {GENIUS-IT} || كيفية التعامل مع مكتبة الـ DAO, في الوصول إلى قاعدة بيانات {رمضان} || مثال ريط Visaul Basic 6.0 مع SQL SERVER ا || العمليات التي تجرى على قاعدة البيانات, مثال كامل {بنت اليمن} || تصدير البيانات من الاكسل الي الاكسس بالفيجوال بيسك {HnHn} || البحث في قاعدة البيانات {MANSUR} || قواعد البيانات العلائقية وتقنيات الوصول إليها {عبد الله فتحي} || كيفية أظهار بيانات جدولين بواسطة التاريخ ,,,,,,,

.

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

.

</
#6

بالنسبة لـ

msayed2004

جزاكم الله خيرا بس انا كنت معرفها في global عشان باستخدمها في دوال كتير

بالنسبة لـ

A7med_prof

جزاكم الله خيرا على التعب معايا

أنا بصراحه مكنتش أعرف حكاية state فريحت نفسي وعملت الاررور

أنا خفت للإررور يكون هوا كمان متعرف public عشان كده طريقتك هتريحني جامد

#7

للمزيد عن الـ Error Handling راجع : ماهو أفضل كود لتجنب الأخطاء؟ المشاركات 2 و 3 و 5

#8
اقتباس
أنا خفت للإررور يكون هوا كمان متعرف public عشان كده طريقتك هتريحني جامد

هههههه ماشي يا باشا ,,, تمام , واي حاجه مش واضحه او مش متأكد منها او خايف منها ,,, ابحث ولو ملقتش , اعضاء المنتدى موجودين هيروحو فين ...

بالتوفيق ,,,,

A7med_prof

اقتباس

آسف الدخول متقطع هذه القتره

اقتباس

[يمين]

.[/يمين]

A7med_prof-4-2007.jpg

اخر مواضيعي 2007

االمثال مطبق على موقع بورصه سعودي

.

.

مواضيع مهمه ومطلوبه بكثره VB6

.

بــرامج ومشــاريع عربيه كامــله {HnHn} والمزيد في قسم برامج الاعضاء || ربط قواعد بيانات اكسس مع الفيجوال بيسك, مادة دراسية كاملة {بنت اليمن}|| المرجع الشامل لجمل SQL ا {GENIUS-IT} || كيفية التعامل مع مكتبة الـ DAO, في الوصول إلى قاعدة بيانات {رمضان} || مثال ريط Visaul Basic 6.0 مع SQL SERVER ا || العمليات التي تجرى على قاعدة البيانات, مثال كامل {بنت اليمن} || تصدير البيانات من الاكسل الي الاكسس بالفيجوال بيسك {HnHn} || البحث في قاعدة البيانات {MANSUR} || قواعد البيانات العلائقية وتقنيات الوصول إليها {عبد الله فتحي} || كيفية أظهار بيانات جدولين بواسطة التاريخ ,,,,,,,

.

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

.

</
#9

تعديل :

If RS.State = adOpenStatic Then RS.Close

بدلها :

If RS.State = adStateOpen Then RS.Close

فا الاختبار على اساس انها مفتوحه عاماً

أسف على الغفله

تم تعديل هذه المشاركة بواسطة A7med_prof في 28 مايو 2007 في 20:37

اقتباس

آسف الدخول متقطع هذه القتره

اقتباس

[يمين]

.[/يمين]

A7med_prof-4-2007.jpg

اخر مواضيعي 2007

االمثال مطبق على موقع بورصه سعودي

.

.

مواضيع مهمه ومطلوبه بكثره VB6

.

بــرامج ومشــاريع عربيه كامــله {HnHn} والمزيد في قسم برامج الاعضاء || ربط قواعد بيانات اكسس مع الفيجوال بيسك, مادة دراسية كاملة {بنت اليمن}|| المرجع الشامل لجمل SQL ا {GENIUS-IT} || كيفية التعامل مع مكتبة الـ DAO, في الوصول إلى قاعدة بيانات {رمضان} || مثال ريط Visaul Basic 6.0 مع SQL SERVER ا || العمليات التي تجرى على قاعدة البيانات, مثال كامل {بنت اليمن} || تصدير البيانات من الاكسل الي الاكسس بالفيجوال بيسك {HnHn} || البحث في قاعدة البيانات {MANSUR} || قواعد البيانات العلائقية وتقنيات الوصول إليها {عبد الله فتحي} || كيفية أظهار بيانات جدولين بواسطة التاريخ ,,,,,,,

.

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

.

</

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

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