PDA

View Full Version : سوال: RecordCount و RecNo بعد از عمل OnFilterRecord



SYNDROME
پنج شنبه 03 مرداد 1387, 08:10 صبح
با سلام
من در زمان اجرای برنامه 10 تا رکورد از شماره 1 تا 10 دارم.
من برای اینکه بر روی داده فیلتر کنم از OnFilterRecord استفاده کردم و شرط گذاشته ام که از رکورد 5 و 9 را نمایش دهد که کاملاً درست عمل می کند.
ولی زمانی که می خواهم تعداد رکوردها و شماره رکورد را برگردانم با مشکل جالبی بر خورد کرده ام.
RecordCout به جای اینکه عدد 2 را نمایش دهد تعداد کل رکرودها یعنی عدد 10 را نمایش می دهد.
RecNo هم به جای اینکه شماره 1 و 2 نمایش دهد شماره 5 و 9 نمایش می دهد.یعنی دقیقاً موقعیت رکوردها قبل از عمل فیلتر را نمایش می دهد و هیچ توجهی به فیلتر شدن اطلاعات نمی کند.
در ضمن مجبورم که از همین روش استفاده کنم.
ممنون می شوم دوستان من را راهنمایی کنند که چطور می توانم RecordCount و RecNo واقعی را به دست بیاورم.
با تشکر فراوان

Hsimple11
پنج شنبه 03 مرداد 1387, 11:14 صبح
فکر میکنم با این روش فیلترگیری RecCount و RecNo مقادیر صحیح بعد از عمل را نشان ندهند. از یک جدول Temp استفاده کنید و داده های فیلتر شده را در آن بریزید. در ضمن چرا نمی توانید از روشهای دیگر فیلتر گیری استفاده کنید؟؟

vcldeveloper
پنج شنبه 03 مرداد 1387, 14:33 عصر
RecNo و RecCount در این مورد کمکی نمی کنند، خودتون باید در رویداد OnFilterRecord مکانیزمی برای شمارش رکوردها پیاده سازی کنید، مثلا به ازاء هر بار فراخوانی آن رویداد و Accept شدن مقدار شرط، مقدار یک شمارنده را زیاد کنید.

SYNDROME
پنج شنبه 03 مرداد 1387, 19:06 عصر
فکر میکنم با این روش فیلترگیری RecCount و RecNo مقادیر صحیح بعد از عمل را نشان ندهند. از یک جدول Temp استفاده کنید و داده های فیلتر شده را در آن بریزید. در ضمن چرا نمی توانید از روشهای دیگر فیلتر گیری استفاده کنید؟؟

با تشکر از شما
نمی توانم از جدول Temp استفاده کنم چون برای فیلتر کردن داده ها یک Grid طراحی کرده ام که جستجوی ترکیبی انجام می دهد.
از Filter هم استفاده نکردم چون نمی توانم چند And و OR را با هم استفاده کرد.

RecNo و RecCount در این مورد کمکی نمی کنند، خودتون باید در رویداد OnFilterRecord مکانیزمی برای شمارش رکوردها پیاده سازی کنید، مثلا به ازاء هر بار فراخوانی آن رویداد و Accept شدن مقدار شرط، مقدار یک شمارنده را زیاد کنید.
با تشکر از علی آقا
خودم هم به این نتیجه رسیدم ولی چون کنترل چنین عملیاتی واقعا کار سختی است چون با حذف یک رکورد و یا اضافه شدن آن همه داده ها باید Update شود و همچنین در قسمتهای دیگر برنامه که با این دو متد کار کرده ام مشکل درست می کرد از خیرش گذشتم.
موفق باشید