delphi4arab منتديات دلفي للعرب
مشكل مع RecNo - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : مشكل مع RecNo (/showthread.php?tid=961)



مشكل مع RecNo - lahcen - 13-06-2009

السلام عليكم دمتم اوفياء لامة محمد(ص)

1- استخدمت في برنامجي جدول من نوع DBF
2- اردت اضهار رقم التسجيلة الحالية ولكن وجد ت مشكل وهو ان رقم الموجود في RecNo لا يعبر عن رقم التسجلة فعلا وخاصة عند استخدام Filter في الجدول
3- قمت بتغير من جدول الى المكون Query وجرت الامور جيدا
4- قمت بتغير الخاصية Query1.RequestLive الى True من اجل عمليات الادخال والتحيين..الخ ولكن الاشكال اصبح RecNo مثل السابق يستخدم الرقم الفيزيائي
5- قمت بحل هذه الاشكال بطريقة ملتوية لست مقتنع بها باستخدا مكونين من نوع Query

هدا ماقمت به بالتفصيل
فهل هناك طريقة مباشرة تسمح مثلا عند القيام بفرز للجدول ان تعطيني فرز تصاعدي يبدا من 1 وشكرا Sad


مشكل مع RecNo - rama - 13-06-2009

استخدم : order by في la requete sql الخاصة بال query التي تستخدم :
مثال:
select *
from tab1
order by RecNo


مشكل مع RecNo - AL-MOB4RM3G - 14-06-2009

rama كتب :استخدم : Order by في la requete sql الخاصة بال query التي تستخدم :
مثال:
Select *
from tab1
order by recno

نعم,, فعلا هذا هو الحلّ,, حصل معي هذا الخطأ مرة وكان الحل كما ذكر الأخ راما فوق,,

بارك الله فيكم


مشكل مع RecNo - lahcen - 14-06-2009

السلام عليكم اخواتي في الله
شكرا اخي Al-mob4rm3g على الملاحظة انما هو خطاناتج عن السرعة - ان شاء الله- فقط وشكرا

ربما تلاحظ اني دكرت استخدام المكون Query اي اني استخدمت الامر Select [Distinct]... From... Where ..

والامر الدي قمت به هو عمل 2 من مكون Query
الاول من اجل الاضهار والثاني من اجل M.A.J وبدلك حللت المشكلة ولكن لاحظ لو استخدمت مكون الاول Query وحده فانك لا تستطيع مثلا اضافة حقول ؟
ولهدا استخدمت 2 من مكون Query
ولهدا اردت حل بدون استخدام مكون واحد فقط
وشكرا


RE: مشكل مع RecNo - حمدي حمدي - 10-11-2016

كود :
procedure TForm2.ADOQuery1CalcFields(DataSet: TDataSet); begin ADOQuery1recn.AsInteger:=DataSource1.DataSet.RecNo; if DataSource1.DataSet.RecNo<0 then  ADOQuery1recn.AsInteger:=DataSource1.DataSet.RecNo+2; end;