PDA

View Full Version : بانک DBISAM متد Sort نداره ؟



Pichidehtarin
سه شنبه 24 شهریور 1383, 12:27 عصر
اگه نداره : کدی که با کلیک کردن عنوان DBGrid ها برای فیلد Sort انجام بده چیه؟ _ حالا اومدو بانک چند ایندکس داشته باشه و Master/Detials هم باشه _

Pichidehtarin
چهارشنبه 25 شهریور 1383, 09:21 صبح
مثل اینکه بهتره برم سراغه همون Access خودمون . DBISAM کار پیدا نمیشه ؟؟!! :(

moradi_am
پنج شنبه 26 شهریور 1383, 08:37 صبح
ظاهرا باید بر اساس فیلدهای مورد نظر ایندکس بسازیم

Pichidehtarin
پنج شنبه 26 شهریور 1383, 08:48 صبح
_ حالا اومدو بانک چند ایندکس داشته باشه و Master/Detials هم باشه _


ظاهرا باید بر اساس فیلدهای مورد نظر ایندکس بسازیم

ایندکس دینامیک ؟!

Master/Detailes باید بره برای خودش ، درسته ؟

لطفا راهنمایی بفرمایید .

Pichidehtarin
سه شنبه 31 شهریور 1383, 09:23 صبح
هل من ناس ینصرنی

Dr.Behnoud
شنبه 04 مهر 1383, 14:43 عصر
هل من ناس ینصرنی

ابتدا در بانک اطلاعاتی خود برای فیلد مورد نظر INDEX بسازید. سپس در محیط دلفی آبجکت DBISAMTable مربوطه را انتخاب کنید و نام ایندکس ایجاد شده را در IndexName و یا IndexFieldNames مشخص نمایید.

امیر-نا
شنبه 04 مهر 1383, 15:53 عصر
با سلام
بعد از اینکه تمام Index های مورد نیازتونو ساختین(ازنو Primary or Secendry)
از این دستور استفاده کنین: در رویداد ontitle click


if AFieldName='name' then
DBISAMTable1.IndexName:='nam';

در اینجا مثلا نام ایندکسی که قرارا فعال بشه nam هست و name هم نام هدر مربوطه هست.

موفق باشین

Pichidehtarin
یک شنبه 05 مهر 1383, 08:02 صبح
_ حالا اومدو بانک چند ایندکس داشته باشه و Master/Detials هم باشه _

دوستانی که پاسخ دادید به این نکته دقت کردین ؟

در ضمن متد Sort یه ایندکس بصورت دینامیک میساخت و بانک رو بر اساس اون Sort میکرد .

نکته ای که نمیتونستیم در متد Sort اون رو نادیده بگیریم ، این بود که فیلدی که ایندکس تو Master/Detials رو باید تو اول متد Sort میذاشتیم . ولی فکر نمیکنم بتونیم دو تا ایندکس با هم داشته باشه باشیم درسته ؟

لطفا راهنمایی بفرمایید .

Dr.Behnoud
یک شنبه 05 مهر 1383, 13:18 عصر
ولی فکر نمیکنم بتونیم دو تا ایندکس با هم داشته باشه باشیم درسته ؟

به پست قبلی من کمی دقت کنید. در آنجا از IndexFieldNames نام بردم. با استفاده از سمی کالن میتوانید چند ایندکس را مشخص کنید.

Pichidehtarin
یک شنبه 05 مهر 1383, 18:26 عصر
نقل قول:
ولی فکر نمیکنم بتونیم دو تا ایندکس با هم داشته باشه باشیم درسته ؟


به پست قبلی من کمی دقت کنید. در آنجا از IndexFieldNames نام بردم. با استفاده از سمی کالن میتوانید چند ایندکس را مشخص کنید.

فقط یه جمله رو نقل قول کردین .


نقل قول:
_ حالا اومدو بانک چند ایندکس داشته باشه و Master/Detials هم باشه _

:? :roll: :| :(

Dr.Behnoud
سه شنبه 07 مهر 1383, 12:49 عصر
از حالت اتوماتیک Master - Details استفاده نکن و جدول Details را به طور دستی فیلتر کن.

ابتدا دیتاسورس مربوط به جدول Master را انتخاب کنید و سپس در رخداد OnDataChange آن عبارتی نظیر این را وارد کنید:

<p dir=ltr>

if DBISAMTable1['ID_Code']&lt;>null then
begin
DBISAMTable2.Filter:='ID_Code_Group='+inttostr(DBI SAMTable1['ID_Code']);
DBISAMTable2.Filtered:=true;
DBISAMTable2.Active:=true;
end else begin
DBISAMTable2.Active:=false;
end;

</p>

Pichidehtarin
سه شنبه 07 مهر 1383, 15:00 عصر
از حالت اتوماتیک Master - Details استفاده نکن و جدول Details را به طور دستی فیلتر کن.

یعنی بانک DBISAM انقدر ذلیل شده کرده :shock:

در ضمن به نظر من سرعت Master/Detials خیلی بیشتره ، مطمئنتر هم هست و احتیاج به کد نویسی هم نداره .

Dr.Behnoud
سه شنبه 07 مهر 1383, 16:51 عصر
به هر شکلی که سلیقه خودتان است عمل کنید.


مثل اینکه بهتره برم سراغه همون Access خودمون

به نظر می رسد برای شما این ایده مناسبتر باشد.