منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : عدد السجلات خطأ لماذا؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
احترت كثيرا من هذا المشروع بالمرفقات ولم اعرف السبب
ارفقت لكم مثالين
في المثال الاول يظهر بدون اضافة جدول فليكس جريد ان عدد السجلات بعد الفلترة واحد وهذا خطأ

اما في المثال الثاني بعد اضافة الجدول تعطي عدد السجلات تمام

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

كود :
Private Sub Combo1_Click()
Dim i As Integer
i = 0
Data1.RecordSource = Empty
Data1.RecordSource = "Select * From TbName Where Name like '" & Combo1.Text & "'"
Data1.Refresh
Data1.Recordset.MoveFirst
Do While Not Data1.Recordset.EOF
i = i + 1
Data1.Recordset.MoveNext
Loop
Text1 = i
End Sub
Private Sub Form_Load()
Data1.RecordSource = "TbName"
Data1.Refresh
If Data1.Recordset.RecordCount <> 0 Then
Data1.RecordSource = "Select * From TbName Where NumFatora like '" & "1" & "'"
Data1.Refresh

Do
xcombo1 = Data1.Recordset.Fields![Name]
Combo1.AddItem xcombo1
If Not Data1.Recordset.EOF Then Data1.Recordset.MoveNext
Loop Until Data1.Recordset.EOF
End If

End Sub


بالتوفيق
(05-01-17, 10:55 PM)ahmedabdelaliem كتب : [ -> ]السلام عليكم ورحمة الله وبركاته
تفضل اخي الحبيب هذا الكود بعد التعديل
سوف يعطيك عدد السجلات الصحيح للبرنامج رقم 1

كود :
Private Sub Combo1_Click()
Dim i As Integer
i = 0
Data1.RecordSource = Empty
Data1.RecordSource = "Select * From TbName Where Name like '" & Combo1.Text & "'"
Data1.Refresh
Data1.Recordset.MoveFirst
Do While Not Data1.Recordset.EOF
i = i + 1
Data1.Recordset.MoveNext
Loop
Text1 = i
End Sub
Private Sub Form_Load()
Data1.RecordSource = "TbName"
Data1.Refresh
If Data1.Recordset.RecordCount <> 0 Then
Data1.RecordSource = "Select * From TbName Where NumFatora like '" & "1" & "'"
Data1.Refresh

Do
xcombo1 = Data1.Recordset.Fields![Name]
Combo1.AddItem xcombo1
If Not Data1.Recordset.EOF Then Data1.Recordset.MoveNext
Loop Until Data1.Recordset.EOF
End If

End Sub


بالتوفيق

ممتاز اخي الكريم
ولكن لماذا هذا الكود Data1.Recordset.RecordCount
لا يرجع قيمة عدد السجلات مع انه مختص بذلك
الموضع بسيط اخي لكي يعمل Record Count

تفضل هذا الكود

كود :
Dim gg As Byte
Private Sub Combo1_Click()
Data1.RecordSource = "Select * From TbName Where Name like '" & Combo1.Text & "'"
Data1.Refresh
Data1.Recordset.MoveLast
gg = Data1.Recordset.RecordCount

Text1 = gg
End Sub
Private Sub Form_Load()
Data1.RecordSource = "TbName"
Data1.Refresh
If Data1.Recordset.RecordCount <> 0 Then
Data1.RecordSource = "Select * From TbName Where NumFatora like '" & "1" & "'"
Data1.Refresh

Do
xcombo1 = Data1.Recordset.Fields![Name]
Combo1.AddItem xcombo1
If Not Data1.Recordset.EOF Then Data1.Recordset.MoveNext
Loop Until Data1.Recordset.EOF
End If

End Sub

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


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