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

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

هدا ماقمت به بالتفصيل
فهل هناك طريقة مباشرة تسمح مثلا عند القيام بفرز للجدول ان تعطيني فرز تصاعدي يبدا من 1 وشكرا Sad
الرد
#2
استخدم : order by في la requete sql الخاصة بال query التي تستخدم :
مثال:
select *
from tab1
order by RecNo
لا اله الا انت سبحانك اني كنت من الظالمين
الرد
#3
rama كتب :استخدم : Order by في la requete sql الخاصة بال query التي تستخدم :
مثال:
Select *
from tab1
order by recno

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

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

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

والامر الدي قمت به هو عمل 2 من مكون Query
الاول من اجل الاضهار والثاني من اجل M.A.J وبدلك حللت المشكلة ولكن لاحظ لو استخدمت مكون الاول Query وحده فانك لا تستطيع مثلا اضافة حقول ؟
ولهدا استخدمت 2 من مكون Query
ولهدا اردت حل بدون استخدام مكون واحد فقط
وشكرا
الرد
#5
كود :
procedure TForm2.ADOQuery1CalcFields(DataSet: TDataSet); begin ADOQuery1recn.AsInteger:=DataSource1.DataSet.RecNo; if DataSource1.DataSet.RecNo<0 then  ADOQuery1recn.AsInteger:=DataSource1.DataSet.RecNo+2; end;
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 2 ) ضيف كريم