View Full Version : سوال: شماره گذاري براي اين ركوردهاي انتخاب شده ، نه Record number واقعي بانك در Query!
ali_abbasi22145
پنج شنبه 24 مرداد 1387, 09:35 صبح
سلام
من با اين QryDate ركوردهايي كه بين دو تاريخ هستند را جدا مي كنم و بدون هيچ مشكلي كار مي كند.
حال برايم بگوييد كه چطور بخواهم شماره بگذارم براي اين ركوردهاي انتخاب شده ، نه Record number واقعي بانك؟
begin
QryDate.Active:=False;
QryDate.SQL.Clear;
QryDate.SQL.Add('select sicard,first_name,last_name,father_name,employee_n umber,print_date from cardtable where (print_date '+BETWEEN+' :a and :b)' );
QryDate.Parameters.ParamByName('a').Value:=DateToS tr(DateTimePicker1.Date);
QryDate.Parameters.ParamByName('b').Value:=DateToS tr(DateTimePicker2.Date);
QryDate.Active:=true;
end;
ali_abbasi22145
دوشنبه 11 شهریور 1387, 12:38 عصر
سلام
كسي راه حلي ندارد؟
دنیای دلفی
دوشنبه 11 شهریور 1387, 14:33 عصر
يك فيلد محاسباتي بساز به نام radif در Query مربوطه . سپس در Event مربوطه به OnCalcField بنويس :
Query.FieldByName('radif').asinteger:=quey.recno;
به راحتي براي شما رديف را مي سازد .
s.mostafa.rahmani
دوشنبه 11 شهریور 1387, 17:53 عصر
توي خود دستور Select ميتوني از Row_Number استفاده كني:
select Row_Number() over (order by sicard) as No, sicard,first_name,last_name,father_name,emplo...
البته اگه بانك SQL Server باشه
omid_delphi2
سه شنبه 12 شهریور 1387, 08:58 صبح
توي خود دستور Select ميتوني از Row_Number استفاده كني:
select Row_Number() over (order by sicard) as No, sicard,first_name,last_name,father_name,emplo...
البته اگه بانك SQL Server باشه
عزیز دل برادر این تابع row_number را ازکجا آوردی این که تو sql2000 خطا میده و میگه همچین تابعی وجود نداره
m-khorsandi
سه شنبه 12 شهریور 1387, 09:21 صبح
Row_Number از دسته Ranking Function هاست و از SQL Server 2005 به بعد وجود داره.
ali_abbasi22145
سه شنبه 12 شهریور 1387, 11:06 صبح
يك فيلد محاسباتي بساز به نام radif در Query مربوطه . سپس در Event مربوطه به OnCalcField بنويس :
Query.FieldByName('radif').asinteger:=quey.recno;
به راحتي براي شما رديف را مي سازد .
سلام دوست عزيز آقاي شريعتي
من تست كردم و خطاي زير را نشان داد:
'Invalid column name 'radif
براي يكي جدولهاي من CalcField ساختم و نام و نام خانوادگي را مي گيرم و full_name مي سازم ولي براي كوري ممكن است جاي اشكال داشته باشم،اگر توضيح بدهيد با يك sample كوچك كوري ممنون مي شوم.
دنیای دلفی
سه شنبه 12 شهریور 1387, 16:55 عصر
استفاده درست از فيلد محاسباتي براي ايجاد رديف بعد از كدهاي SQL شرطي .
يك برنامه نمونه : مسير برنامه روي صفحه دسكتاب باشد يا كانكشن استرينگ را تغيير مسير دهيد
ali_abbasi22145
شنبه 16 شهریور 1387, 12:10 عصر
سلام
تشكر فراوان
omid_delphi2
یک شنبه 17 شهریور 1387, 08:51 صبح
با این روش اگر بین رکوردها یک رکورد جدید ایجاد کنید ترتیب شماره ردیفها به هم میریزه
فقط برای حالتی خوبه که رکوردها پشت سر هم باشند
Hsimple11
یک شنبه 17 شهریور 1387, 11:19 صبح
با این روش اگر بین رکوردها یک رکورد جدید ایجاد کنید ترتیب شماره ردیفها به هم میریزه
فقط برای حالتی خوبه که رکوردها پشت سر هم باشند
ایشون در مورد یک Query مثال زدند که بعد از گرفتن کوئری، شماره ردیف ایجاد کنه. ارتباطی به پشت سر هم بودن رکوردها نداره. و اگه هم رکوردی اضافه شد، قبل از کوئری باید جدول را ReQuery کرد.
ali_abbasi22145
یک شنبه 17 شهریور 1387, 12:47 عصر
با این روش اگر بین رکوردها یک رکورد جدید ایجاد کنید ترتیب شماره ردیفها به هم میریزه
فقط برای حالتی خوبه که رکوردها پشت سر هم باشند
سلام
1- نه دوست من مثال آقاي شريعتي (دنياي دلفي) چنين اشكالي را ندارد، من تست كردم!
2- حال آقاي شريعتي يا دوستان ديگر همين رديف را براي بانكي كه فيلتر مي گيرم مي توانند بگويند (بدون Query).
چون فيلتر مي گيرم در oncalc جدول نوشتم ولي شماره ركورد واقعي بانك را نشان مي دهد نه ركوردهاي فيلتر شده.
Hsimple11
یک شنبه 17 شهریور 1387, 13:02 عصر
در OnFilterRecord بنویسید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.