المشاركات : 39
المواضيع 16
الإنتساب : Oct 2013
السمعة :
0
الشكر: 42
تم شكره 29 مرات في 4 مشاركات
rs12.Recordset.MoveFirst
Text25.Text = ""
For Counter = 1 To rs12.Recordset.RecordCount
Text25.Text = Val(Text25.Text) + rs12.Recordset.Fields(5).Value
rs12.Recordset.MoveNext
Next
rs12.Recordset.MoveLast
المشاركات : 181
المواضيع 5
الإنتساب : Sep 2013
السمعة :
0
الشكر: 5
تم شكره 46 مرات في 26 مشاركات
19-01-14, 03:58 PM
إستخدم هذا الكود افضل .. بحيث يتم تمريره الى جمله SQL
كود :
SQL = "select*from YourTabelname"
rs.Open SQL, db, adOpenKeyset, adLockPessimistic
Text1 = rs.RecordCount
سبحان الله وبحمده سبحان الله العظيم
آللهم لگ آلحمد حتى ترضى .. ولگ آلحمد إذا رضيِت .. ولگ آلحمد بعد آلرضآ
المشاركات : 372
المواضيع 15
الإنتساب : Sep 2013
السمعة :
28
الشكر: 487
تم شكره 1677 مرات في 187 مشاركات
السلام عليكم...
السبب في أن الخاصية RecordCount تعطي -1 هو أن محرك قواعد البيانات لا يستطيع أحياناً معرفة عدد السجلات إلا بعد الوصول إلى نهاية مجموعة السجلات (EOF).
لمعرفة عدد السجلات انتقل إلى السجل الأخير بعد فتح الـ Recordset:
كود :
Rs12.MoveLast
MsgBox CStr(Rs12.RecordCount)
لكن هذا الأمر قد يكون مكلفاً إذا كان عدد السجلات كبيراً جداً. بدلاً من ذلك يمكنك استعمال الدالة التالية لمعرفة ما إذا كانت مجموعة السجلات (Recordset) فارغة أم لا:
كود :
Public Function IsEmptyRecordSet(ARecordSet As ADODB.Recordset) As Boolean
If ARecordSet Is Nothing Then
IsEmptyRecordSet = True
ElseIf ARecordSet.State <> adStateOpen Then
IsEmptyRecordSet = True
ElseIf ARecordSet.BOF And ARecordSet.EOF Then
IsEmptyRecordSet = True
Else
IsEmptyRecordSet = False
End If
End Function
و إذا أردت المرور على السجلات في حلقة فاستخدم حلقة Do While مع EOF بدلاً من حلقة For. مثلاً:
كود :
' استخدم الدالة السابقة لمعرفة ما إذا كانت مجموعة السجلات فارغة أم لا
If Not IsEmptyRecordSet(Rs12) Then
Do While Not Rs12.EOF
' ...
' اعمل هنا ما تريد عمله
' ...
Rs12.MoveNext ' مهمة جداً
Loop
End If
نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ