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

هذه العبارة لاتعمل بشكل صحيح ما الخطاء

مغلق
بدأه عربية في 8 ديسمبر 2002 · 6 رد · 510 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
Dim cn As ADODB.Connection

Dim rs As ADODB.Recordset

Set cn = CurrentProject.Connection

Set rs = New ADODB.Recordset

Dim fname As Integer



Dim sql As String

sql = "SELECT [BookNo]FROM Books WHERE [BNO]= '" & No & "' AND [Return]=No " '"

rs.Open sql, cn

'

If rs.RecordCount <= 0 Then

Me.LblStut.Caption = "الكتاب موجود"

Me.LblStut.BackColor = RGB(255, 0, 0)

Me.ÃãÑ12.SetFocus

Else

Me.LblStut.Caption = "الكتاب غير موجود"

Me.LblStut.BackColor = RGB(0, 255, 0)

Me.ÃãÑ10.SetFocus



rs.Close

End If

المشكلة بالتحديد هنا

If rs.RecordCount <= 0 Then

القيمة العائدة من تنفيذ الفحص السابق دائما -1

اين يوجد الخطاء

استعمل هذا النص لفحص جدول الكتب ان كان يوجد به الكتاب المحدد بالرقم في النموذج وانه لم يعاد للمكتبة (return=no)

ارجو منكم الاطلاع والمساعدة ان امكن

#2

أزل أحد الرمزين الرياضيين ( = ) أو ( > ) وانظر النتيجة

#3

شكراً لك

لم يتغير شئ دائماً قيمة -1 هي ناتج هذا الكود

#4

حاولي تعديل الكود ليصبح على النحو التالي

If rs.RecordCount < 0 Or rs.RecordCount = 0 Then
#5

أخي الكريم عربية :

النتيجة المعادة من

rs.RecordCount

سيكون -1

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

أعد صياغة

rs.Open sql, cn

مثلاً بـ :

rs.Open sql, cn, adOpenStatic, adLockReadOnly

ويمكنك اختصار الكود إذا لم يكن لك حاجة بفتح سلسلة اتصال cn فتختصرة على النحو التالي

Dim rs As New ADODB.Recordset

Dim fname As Integer

Dim sql As String



sql = "SELECT [BookNo]FROM Books WHERE [BNO]= '" & No & "' AND [Return]=No " '"

rs.Open sql,  CurrentProject.Connection, adOpenStatic, adLockReadOnly

'

If rs.RecordCount <= 0 Then

Me.LblStut.Caption = "الكتاب موجود"

Me.LblStut.BackColor = RGB(255, 0, 0)

Me.ÃãÑ12.SetFocus

Else

Me.LblStut.Caption = "الكتاب غير موجود"

Me.LblStut.BackColor = RGB(0, 255, 0)

Me.ÃãÑ10.SetFocus



set rs=NoThing

End If
#6

من الواضح أن الخطأ في عبارة SQL

sql = "SELECT [BookNo]FROM Books WHERE [BNO]= '" & No & "' AND [Return]=No " '"

ولذلك فإن الاستعلام يرجع القيمة False أي -1

يمكن استخدام عبارة كالتالي

sql = "SELECT [BookNo] FROM Books WHERE [BNO]= '" & No & "' AND [Return]=No "

مع أهمية التأكد من أن القيمة التي يرجعها المتغير NO المستخدم في في عبارة SQL هي قيمة نصية وليست رقمية

آمل أن يكون المقصود واضحاً أو إرقاق البرنامج وسوف أقوم بالمطلوب بإذن الله

#7

شكراً لكم جميعاً

ابو هاجر سلمك الله صححت العبارة كما اوضحت لي ويعمل تماماً كما اريد

بارك الله فيكم وزادكم من علمه ورزقكم من فضلة انه على كل شئ قدير

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…