أقوم بعمل برنامج قواعد بيانات بلغة VB6
و لدى فورم تحتوى على datPrimaryRS تتصل بأحد الجداول (orders مثلآ) الذى هو عبارة عن ثلاثة حقول
(ID,PRODUCT, Quantity) أى كانت الrecordsource لل datPrimaryRS هى orders
كما تحتوى الفورم على ثلاثة من ال textbox كل منهم متصل بأحد الحقول الثلاثة لهذا الجدول
أى كانت الdatafield لل TEXT1 هى ID
و كانت الdatafield لل TEXT2 هى PRODUCT
أى كانت الdatafield لل TEXT3 هى Quantity
وأريد فى هذا البرنامج كودآ يعرض بعض سجلات الجدول فقط (مثلآ التى فيها قيمة هذا الحقل Quantity أكبر من 77)
فقمت بكتابة هذا الكود الآتى للزرcomand1
Private Sub Command1_Click( )
Dim NNN ,NUM As Integer
Dim db As DAO.Database
Dim rst1 As DAO.Recordset
Dim q1 As QueryDef
Set db = OpenDatabase("C:\vb98\WIND.mdb")
Set q1 = db.CreateQueryDef("", "SELECT * FROM ORDERS where Quantity > 77;")
Set rst1 = q1.OpenRecordset(dbOpenDynaset)
NUM = datPrimaryRS.Recordset.RecordCount
Print "NUM="; NUM
NNN = rst1.RecordCount
Print "NNN="; NNN
End Sub
وكان عدد سجلات الجدول 40 سجل منهم 9 سجلات فقط فيها قيمة هذا الحقل Quantity أكبر من 77
فقمت بعمل run فوجدت أننى عند الضغط على هذا الزر فان البرنامج لم يعرض هذه السجلات التسعة فقط
فى ال textbox ولكنى بالضغط على أسهم ال datPrimaryRS وجدته يعرض ال 40 سجل كلهم
كما وجدته يطبع قيم المتغيرات NNN,NUM كالآتى NUM=40 NNN=1
وكنت أريد بعد هذا الكود أن تكون NUM=9 , NNN=9
أرجوكم فهمونى أين الخطأ؟ وكيف أصل الى ما أريد
ولكم ألف مليااااااااااار شكر
