PDA

View Full Version : تعريف Range بين ركوردها



ali_abbasi22145
یک شنبه 27 اردیبهشت 1388, 15:57 عصر
سلام
من مي خواهم با دلفي 7 يك Range بين ركوردهاي بانك داشته باشم به عنوان مثال كد پرسنلي 1000230 تا 1000900

حمیدرضاصادقیان
دوشنبه 28 اردیبهشت 1388, 08:30 صبح
سلام. شما میتوانید یک Check constraint در بانک درست کنید و به فیلد مربوطه متصل کنید. یا یک تابع وصل کنید و در Check constraint اونو بررسی کنید که هنگام رکورد جدید اگر در بین این بازه نبود خطا میدهد.(البته اگر منظور شما رو درست فهمیده باشم)
موفق باشید

ali_abbasi22145
سه شنبه 05 خرداد 1388, 11:26 صبح
سلام
فكر كنم شما برداشتتان از مشكلم اشتباه باشد.
من نمي خواهم که هنگام رکورد جدید وارد كردم اگر در بین این بازه نبود خطا بدهد بلكه من يكسري ركورد با كد پرسنلي 1000000 تا 2000000 دارم و range كد پرسنلي 1000230 تا 1000900 مي خواهم معلوم كنم كه مثلا براي چاپ بفرستم.

Saeed_m_Farid
سه شنبه 05 خرداد 1388, 13:27 عصر
سلام
فكر كنم شما برداشتتان از مشكلم اشتباه باشد.
من نمي خواهم که هنگام رکورد جدید وارد كردم اگر در بین این بازه نبود خطا بدهد بلكه من يكسري ركورد با كد پرسنلي 1000000 تا 2000000 دارم و range كد پرسنلي 1000230 تا 1000900 مي خواهم معلوم كنم كه مثلا براي چاپ بفرستم.
تو کوئری از Between استفاده کنید؛ البته این یه چیز واضحه! شاید من هم اشتباه منظورتون رو متوجه شده باشم!
اگه فرض کنیم شما یه ADOQuery، ADOConnection داشته باشیم که ADOQuery به DBGride ما وصله کدش مثلا میشه اینطوری :

procedure TForm1.Button1Click(Sender: TObject);
begin
with ADOQuery1 do try
Close;
SQL.Clear;
SQL.Text := 'Select * From YourTable Where YourField Between '
+ '1000230' {First Val} + ' And ' + '1000900' {Next Val};
Open;
DBGrid1.Refresh;
except on ex:Exception do
ShowMessage('Error on running SQL: '+ex.Message);
end;
end;

ali_abbasi22145
سه شنبه 05 خرداد 1388, 15:32 عصر
سلام
به هر صورت از دوستان كه عنايت فرمودند متشكرم.
بدون Query كسي مي تواند جوابم را بدهد؟