نمایش نتایج 1 تا 29 از 29

نام تاپیک: می شه sort و filter را با هم انجام داد یا نه؟ کمک فوری

  1. #1

    می شه sort و filter را با هم انجام داد یا نه؟ کمک فوری

    از اساتید این سوال را دارم که می شود عمل مرتب کردن و فیلتر کردن را روی یک جدول انجام داد یا خیر
    سرعت عملیات فیلتر بسیار سریع تر از کوری است ( منظور روی یک فیلد است) و این نیازی هم به باز و بسته کردن جدول ندارد برای همین من به صورت تجربی دریافتم که فیلتر کردن مفید تر است ولی حالا باید بتوانم چیزی که فیلتر شده را مرتب کنم ولی نمی شه چی باید بکنم, مثلا وقتی بر اساس 'مح' فیلتر می کنم باید به ترتیب نام خانوادگی و بعد اسم جدول را نشان دهد ولی ایراد می گیرد که نمی تواند همزمان این دو کار را انجام دهد , از اساتید کسی راه حلی دارد, متشکر




  2. #2
    دارم گیج می شم
    همین دستور را توی یک برنامه کوچک اجرا کردم هیچ ایرادی نگرفت
    ایرادی که می گیرد را می خواستم مثل عکس اینجا بگذارم ولی بلد نیستم( در این مورد مدیران راهنمایی کنند)
    ولی این را می نویسد
    current provider does not support the necessery interface for sorting or filtering
    من باید چی کنم

  3. #3
    یک چیزهایی فهمیدم
    اول اینکه اشکال مربوط می شه به adotable که ازش استفاده می کنم چون وقتی همین کدها را برای همان جدول به کار می برم ایراد نمی گیرد ولی برای این ایراد می گیرد
    من از این adotable خیلی جاها استفاده کرده ام و نمی دانم این ایراد به کجا بر می گرده اگر کسی می دونه بگه که این ایراد چه زمانهایی اتفاق می افتد
    با تشکر :flower:

  4. #4
    VIP آواتار دنیای دلفی
    تاریخ عضویت
    دی 1348
    محل زندگی
    یک جایی توی جنوب ایران
    پست
    1,296
    بهترین روش استفاده از کامپوننت هژinfopower است .
    :flower:
    پس از دو سال بررسی بلاخره به بازار آمد
    متفاوت و هوشمندانه
    برای ورود کلیک کنید
    IMEN LOCK

  5. #5
    حل شد
    نیاز به کامپوننت دیگری هم از جای دیگری نبود :mrgreen:
    در قسمت cursorlocation مقدار clUseServer ر ا به clUseClient تغییر دادم و دیگر ایراد نمی گیرد
    ولی نمی دانم چرا
    اساتید چرا

  6. #6
    current provider does not support the necessery interface for sorting or filtering
    هر provider ایی ضوابط و محدودیت های خاص خودش رو داره که باید قبل از استفاده از اون ازشون آگاهی داشته باشید.
    به صورت تجربی دریافتم که فیلتر کردن مفید تر است
    فیلتر در حالتی که کرسر ClientSide باشه کار میکنه. در این حالت کل بانک در حافظه بار میشه و فیلتر بر روی بانک بار شده در حافظه اعمال میشه. در بانک های بزرگ و همچنین بانک های تحت شبکه استفاده از فیلتر کار جالبی نیست و query الویت داره.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  7. #7
    آقای کشاورز
    الان جدول من حدود 25000 رکورد دارد و البته جدول اکسس است ،
    مشکل من در دو قسمت است
    اول اینکه وقتی می خواهم جدول را open کنم زمان زیادی را از کاربر می گیرد و همین زمان را هم هنگامی که شما می خواهید از query استفاده کنید می گیرد و به خاطر همین هم من می گویم فیلتر سریع تر است چون نیاز نیست که من از یک کوری استفاده کنم ،
    من در قبلا این کار می کردم وقتی می خواستم کسی را جستجو کنم اول یک فرم ظاهر می شد آنجا در قسمت بالا یک باکس بود که طرف می توانست قسمتی از نام خانوادگی را وارد کنه و بعد اینتر بکند در همان فرم یک گرید وجود دارد که رکوردهایی که آن کوری سلکت می کرده را آنجا نشان می ده بعد روی رکوردی که می خواسته اینتر می زده و توسط دستور locate و یا seek از جدول اصلی رکورد انتخاب می شود .
    در این روش هم یک بار دستور query باید باز شود و یک بار هم دستور locate باید اجرا شود که زمان زیادی را می برد
    حالا من چی کنم؟
    مشکل چه جوری حل می شه؟

  8. #8
    اول اینکه وقتی می خواهم جدول را open کنم زمان زیادی را از کاربر می گیرد
    علتش اینه که با باز کردن جدول، چون محدودیتی در تعداد رکوردهای درخواستی تعیین نکردید، کل رکوردها در حافظه بارگزاری میشند. این مسپله هم باعث کند شدن برنامه در هنگام باز شدن جدول میشه و هم باعث مصرف بیش از حد حافظه.
    برای جلوگیری از مشکل فوق بهتره که از query استفاده کنید. در صورت استفاده از query نیازی به استفاده locate نیست. منظور از query این نیست که در خاصیت SQL از query بنویسید:

    SELECT * FROM MyTable

    استفاده از این دستور SQL ، فرقی با استفاده از کامپوننت TADOTable نداره!
    منظور من از استفاده از query این بود که جستجو رو با یک query انجام بدید، تا فقط رکوردهای مورد نیاز توسط برنامه شما در خواست بشه. به دو مثال زیر توجه کنید:
    مثال اول:

    ADOQuery1.Close;
    ADOQuery1.SQL.Text := 'SELECT * FROM MyTable';
    ADOQuery1.Open;

    ADOQuery1.Filtered := False;
    ADOQuery1.Filter := 'Name = ' + Edit1.Text;
    ADOQuery1.Filtered := True;

    کل رکوردهای جدول MyTable در حافظه بارگزاری میشند، سپس با استفاده از Filter اون رکوردهایی که با شرط ما مطابقت ندارند، مخفی میشند - این رکوردها اگر چه نمایش داده نشدند، اما در حافظه وجود دارند.

    مثال دوم:

    ADOQuery1.Close;
    ADOQuery1.Parameters.Clear;
    ADOQuery1.Parameters.CreateParameter('paramNam e', ftString,
    pdInput,100,Edit1.Text);
    ADOQuery1.SQL.Text := 'SELECT * FROM MyTable WHERE Name = :ParamName';
    ADOQuery1.Prepared := True;
    ADOQuery1.Open;

    دستور SQL ایی به سرور فرستاد میشه و رکوردهایی که با شرط ما مطابقت دارند درخواست میشه. فقط رکوردهای مطابق با شرط در حافظه بارگزاری میشند. چون ممکنه که از این query زیاد استفاده بشه، از Parameter و prepared استفاده شده. در این حالت برای تغییر شرایط جستجو فقط نیاز به تغییر parameter دارید، نه کل دستور SQL. از طرفی Prepared باعث میشه که دستور شما بعد از یک بار پردازش شدن توسط بانک اطلاعاتی، برای مراجعات بعدی در حافظه باقی بمونه و سرعت query گرفتن هم تا حدودی افزایش پیدا کنه.

    اگه با دقت توجه کرده باشید، متوجه میشید که راه حل استفاده شده در مثال دوم، بخصوص در بانک های اطلاعاتی بزرگ، بهتر و سریعتر جواب میده.

    موفق باشید


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  9. #9
    جناب کشاورز
    از اینکه فرصت گذاشتید و جواب من را دادید تشکر می کنم
    ولی من یک مشکل دارم که شما خودتان قضاوت کنید
    من تا قبل از این از همین روشی که شما می گفتی استفاده می کردم ولی جواب نمی گرفتم

  10. #10
    منظورم این است که بحث سرعت را می کنم
    من در برنامه ام دائم باید افراد مختلفی را جستجو کنم و بر روی آنها تغییراتی را انجام دهم و این کار در فرم های مختلف انجام می شود یعنی در فرم های مختلفی من عمل جستجو را انجام می دهم و وقتی توسط کوری و دقیقا همان پارامتری که شما فرمودید افراد مختلف را جستجو کردم توسط فیلد کلیدی در یک adotable
    به وسیله دستورهای seek و Locate بر روی رکورد مورد نظر قرار می گیرم , حال شما نگاه کنید تعداد دستوراتی که انجام می شود و سرعت آنها در این سری دستور بیشتر است یا فیلتر کردن
    در روش اول
    adoquery.close;
    adoquery.parameter.....
    adoquery.open;
    adotable.locate....
    و یا روش دوم
    adotabel.filltered:=false;
    adotable.fillter:=.....
    adotable.filltered:=true;
    حالا من نمی دانم چی کنم
    من حدود 2 سال از روش اول استفاده می کردم ولی تازگی می بینم که این روش دومی از لحاظ سرعت بهتر است چون من adotable را باز و بسته نمی کنم. و این در سرعت بسیار مثمر ثمر است
    راستی جناب کشاورز یک سوال دیگه نمی دانم شاید بهتر باشد بروم در قسمت یک سوال جدید ان را مطرح کنم ولی گفتم اول از شما بپرسم
    وقتی برنامه ام را در شبکه قرار می دهم یعنی آن را به صورت اشتراکی قرار می دهم اگر یکی از کلاینتها چیزی را ثبت کند ممکن است تا چند دقیقه طول بکشد تا وارد شبکه شود , یعنی توسط همان کلاینت قابل بازیابی است ولی در کلاینتهای دیگر خیر, این مشکل چگونه حل می شود شنیده ام که کمپاننتهایی هست که ریس دارد به نام sdac که نمی دانم چقدر مشکل من را حل می کند می خواهم ببینم شما راه حلی برای این مشکل دارید یا تا به حال با ان بر خورد کرده اید , با تشکر فراوان :oops:

  11. #11
    مسلما سرعت Filter بیشتر هست، اما باید این نکته رو هم در نظر داشته باشید که درصورت استفاده از filter و AdoTable کل بانک باید در حافظه بارگزاری بشه (یعنی 25000 رکورد). همونطور که در بالا هم اشاره کردم، این یعنی کاهش سرعت باز شدن جداول و اشغال حافظه بیش از حد نیاز.
    حال شما نگاه کنید تعداد دستوراتی که انجام می شود و سرعت آنها در این سری دستور بیشتر است یا فیلتر کردن
    تعداد دستورات دلفی شرط نیست، چون هر دستور دلفی خودش از چندین دستور ماشین تشکیل شده.

    اگر شما به درستی query بگرید، فقط رکوردهایی که برای ویرایش بهشون نیاز دارید در حافظه بارگزاری میشند، در نتیجه هم حافظه کمتری استفاده میشه و هم سرعت باز/بسته کردن dataset کاهش پیدا میکنه. استفاده از filter فقط موقعی مناسبه که حجم جدول لود شده کوچیک باشه.

    اگر یکی از کلاینتها چیزی را ثبت کند ممکن است تا چند دقیقه طول بکشد تا وارد شبکه شود , یعنی توسط همان کلاینت قابل بازیابی است ولی در کلاینتهای دیگر خیر, این مشکل چگونه حل می شود
    از چه کامپوننت هایی و به چه شکلی استفاده می کنید؟ اگه از همین روشی که در بالا گفتید استفاده می کنید، هر کلاینت یک نسخه از اطلاعات رو در حافظه محلی خودش کپی میکنه و ویرایش اطلاعات بر روی همین کپی صورت میگیره. بهتره که در یک تاپیک جدا این سوال رو مطرح کنید و البته اطلاعات بیشتری هم درباره کاری می خواید انجام بدید و نحوه انجام اون اونجا بزارید.
    sdac
    این هم یک مجموعه کامپوننت برای اتصال به بانک های اطلاعاتی هست (مثل ADO) که ظاهرا سرعتش بیشتره. من خودم ازش استفاده نکردم.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  12. #12
    جناب کشاورز سلام و خسته نباشید
    من از ado استفاده می کنم , و اون حرفی که زدم یعنی اگر یکی از کلاینتها چیزی را ثبت کند بقیه نمی بینند اشتباه بود , اگر dataset کلاینت دیگر در حالت open باشد نمی بیند ولی به محضی که آن را باز و بسته کنم اطلاعات آنجا نیز دیده می شود.
    جناب کشاورز
    من مجبورم که کل جدول را باز کنم تا بتوانم در آن اطلاعات را ذخیره کنم , پس بالاجبار یک adotable باید باشد و باز هم باشد , حال اگر من از همین adotable باز استفاده کنم وفیلتر گذاری را انجام دهم بهتر است یا اینکه از یک query دیگر هم استفاده کنم و دائم آن را باز و بسته کنم ؟
    آقای کشاورز خواهشن شما خودتان از چه چیزی استفاده می کنید و چه بانکی را پیشنهاد می کنید , که خودتان هم ازش راضی بوده باشید
    با تشکر فراوارن :oops:

  13. #13
    من مجبورم که کل جدول را باز کنم تا بتوانم در آن اطلاعات را ذخیره کنم , پس بالاجبار یک adotable باید باشد و باز هم باشد
    من متوجه منظور شما نمی شم. چه لزومی داره که برای ذخیره اطلاعات حتما اطلاعات کل جدول رو دریافت کنید؟!
    آقای کشاورز خواهشن شما خودتان از چه چیزی استفاده می کنید و چه بانکی را پیشنهاد می کنید , که خودتان هم ازش راضی بوده باشید
    نمیشه از یک راه حل برای همه کارها استفاده کرد. جواب این سوال بستگی به فاکتورهای مختلفی داره.

    اگر dataset کلاینت دیگر در حالت open باشد نمی بیند ولی به محضی که آن را باز و بسته کنم اطلاعات آنجا نیز دیده می شود.
    اگه نخواین هر بار dataset کلاینت های دیگه رو باز/بسته کنید، یک راهش اینه که Cursor Location هر کدوم از dataset ها رو Server-Side بکنید و Cursor Type رو هم روی Dynamic قرار بدید. البته این مورد بستگی مستقیم به این داره که آیا RDBMS ایی که استفاده می کنید ترکیب بالا رو قبول میکنه یا نه (می تونید آزمایش کنید).


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  14. #14
    آقای کشاورز متشکر از جوابتان
    در مورد آخر که فرمودید برای کلاینتهای دیگر , راستش اصلا این تاپیک را برای همین ایجاد کردم و می خواستم ببینم چرا وقتی در این حالت است عمل فیلتر کردن و مرتب کردن توسط دستور sort را انجام نمی دهد , که شما لطف کردید به سوالهای دیگری که پرسیده بودم جواب دادید.
    پس به نظر شما روش من اصلا اصولی نیست
    یعنی وقتی من به در فرمی که نامش را جستجو گذاشته ام توسط یک کوری کسی را پیدا می کنم و وقتی روی آن فرد کلیک می کنم تا اطلاعات به صورت کلی نمایش داده شود , نباید از دستور locate و یا seek استفاده کنم بلکه باید اطلاعات همان کوری را مربتط کنم با اجزاء درون فرم اصلی ( امیدوارم خوب توضیح داده باشم) یعنی dbedit های درون فرم اصلی datasource آنها را عوض کنم؟
    باز هم متشکرم که وقتتان را به من دادید. امیدوارم در تمام مراحل زندگی موفق باشید.

  15. #15
    یعنی وقتی من به در فرمی که نامش را جستجو گذاشته ام توسط یک کوری کسی را پیدا می کنم و وقتی روی آن فرد کلیک می کنم تا اطلاعات به صورت کلی نمایش داده شود , نباید از دستور locate و یا seek استفاده کنم بلکه باید اطلاعات همان کوری را مربتط کنم با اجزاء درون فرم اصلی ( امیدوارم خوب توضیح داده باشم) یعنی dbedit های درون فرم اصلی datasource آنها را عوض کنم؟
    بستگی به نوع اطلاعات و جداول شما داره. اگه حجم اطلاعات زیاده و یا بانک اطلاعاتی بصورت local نیست (در یک کامپیوتر دیگه قرار داره)، استفاده از query بهتره، اما در صورتی که حجم اطلاعات چندان زیاد نیست، مسلما استفاده از locate سریعتره. این بستگی به شما و برنامه اتون داره که از کدوم روش استفاده کنید. هر کدوم کاربردهای خاص خودشون رو دارند و نمیشه گفت که یکی مطلقا بهتر از دیگری است.

    موفق باشید.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  16. #16
    آقای کشاورز
    باز هم از جوابتان سپاس گذارم
    فقط همانطور که می دانید در یک برنامه کاربردی مثلا وقتی می خواهید فردی را بر اساس نام خانوادگی جستجو کنید با زدن حرف " م " باید تمام فامیلهایی که با این حرف شروع می شوند در یک گرید نشان داده شود ( پس در اینجا استفاده از فیلتر و یا کوری اجتناب نا پذیر است) ولی در مرحله دوم باید بر روی یکی از این افرادی که در گرید است فرد مورد نظر کلیک کند و اطلاعات کامل در فرم اصلی ظاهر شود , حال فکر می کنم در اینجا بهترین کار این باشد که از همان کوری و یا جدول فیلتر شده استفاده کنیم و دوباره از locate و یا seek استفاده نکنیم که زمان بیشتری تلف می شود .
    راستی آقای کشاورز , این مشکل را چطوری حل کنیم که برای اینکه جوابهایی که یک کوری را تغییر دهیم باید کوری را به صورت کامل باز و بسته کنیم که زمان بر می شود , می شه کاری کرد که کمتر زمان برد؟
    راستی refresh هم همانقدر زمان می برد.

  17. #17
    حال فکر می کنم در اینجا بهترین کار این باشد که از همان کوری و یا جدول فیلتر شده استفاده کنیم و دوباره از locate و یا seek استفاده نکنیم که زمان بیشتری تلف می شود .
    اگر حجم اطلاعات دریافتی زیاد نباشه، میشه همه فیلدها رو یکجا دریافت کرد و در فرم هم اونا رو نشون داد، اما اگه حجم اطلاعات دریافتی زیاده، بهتره که اول یکسری اطلاعات مهم (مثل نام اشخاص) از بانک درخواست بشه و در گرید نمایش داده بشه. با انتخاب هر شخص در گرید، اطلاعات کامل اون شخص از طریق یک query دیگه دریافت بشه و در فرم نمایش داده بشه.
    راستی آقای کشاورز , این مشکل را چطوری حل کنیم که برای اینکه جوابهایی که یک کوری را تغییر دهیم باید کوری را به صورت کامل باز و بسته کنیم که زمان بر می شود , می شه کاری کرد که کمتر زمان برد؟
    خیر. با هر بار تغییر دستورات SQL باید Query دوباره باز بشه.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  18. #18
    مرسی اقای کشاورز
    می گم آقای کشاورز این دو تا دستور از نظر شما فرقی در بازیابی اطلاعات از لحاظ سرعت دارند
    select *

    و این یکی
    select id,name,lastname

    از لحاظ برنامه نویسی این دستورها در یک کوری فرقی می کنند
    متشکرم

  19. #19
    اولین دستور تمامی فیلدهای رکوردهای درخواست شده رو برمیگردنه، اما دومی فقط سه فیلد از رکورد رو برمیگردونه.
    اگه شما به تمام اطلاعات یک رکورد نیاز ندارید، دومین دستور بهتره. تصور کنید که یک جدول شامل اطلاعات کارمندان دارید - شامل نام کارمند و عکس کارمند. اگه از دستور اول (فقط) برای لیست کردن نام کارمندان استفاده کنید، علاوه بر نام کارمندان، عکسهاشون هم توسط برنامه دریافت میشه! درحالی که شما نیازی به عکس ها نداشتید.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  20. #20
    با تشکر
    برداشت من از صحبت شما این بود که در سرعت مطمئنا تاثیر دارد , حتی اگر فیلدهای من همگی عددی و یا رشته ای باشند ؟ درست است
    با تشکر

  21. #21
    برداشت من از صحبت شما این بود که در سرعت مطمئنا تاثیر دارد , حتی اگر فیلدهای من همگی عددی و یا رشته ای باشند ؟ درست است
    بله


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  22. #22
    با تشکر فراواران از جناب آقای کشاورز
    من به این نتیجه منطقی رسیدم ( البته امیدوارم که درست باشد) که برای کلیه فرمهای مختلفم یک فرم جستجو را قرار بدهم و چون در فرم جستجوی من می توان بر اساس نام خانوادگی و یا کد اشتراک جستجو کرد ( فقط یکی از آنها نه هر دو همزمان) پس مجبورم که یا از دو تا کوری استفاده کنم و یا اینکه از یک کوری استفاده کنم که متن درون آن دائم تغییر می کند که در هر روش اول باید datasource مربوط به اجزا درون فرم های اصلیم را دائم به آن کوری که می خواهم اطلاعات را از آن بگیرد وصل کنم و یا اینکه مقدار dataset مربوط به DATASOURCE را تغییر بدهم , با این روش دیگر نیاز ندارم که از دستور LOCATE و حتی SEEK استفاده کنم , و از طرفی نیاز هم ندارم که یک جدول را دائم باز و بسته کنم بلکه فقط یک کوری یا نهایت دو تا کوری دارم که باز و بسته می شود .
    از راهنماییهای شما بسیار سپاس گذارم.

  23. #23
    سلام .
    بعد از یک سال و نیم ، مطالبتون رو خوندم ، واقعا خیلی خوب بحث کرده بودید .
    کلی استفاده کردم .
    ....
    هفت شهر عشق را عطار گشت .. ما هنوز اندر خم یک کوچه ایم
    ....

    ممنون

  24. #24
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    Iran
    پست
    1,035
    جناب V60

    با سلام

    من هم دقیقا همین مشکل دارم آیا شما راه حل مناسبی پیدا کرده اید که سرعت جستجو را بالا ببرد و کمتر از 3 ثانیه طول نکشد

    با تشکر

  25. #25
    والا از لحاظ سرعت را می گویید، من یک چیزهای دیگه ای هم تو سایت نوشته ام، مثلا یک روش دیگر برای جستجوی سریعتر، که اگر بگردید پیدا می کنید . ولی سرعت را با شکستن جدولم خیلی زیاد کردم ، حالا شما جدولتان چند فیلدی است بگویید تا بگم من چه کارهایی کردم
    ضمنا شما فرم جستجویتان بر اساس چند فیلد است ماله من نام خانوادگی، شخصیت حقوقی، شماره مشتری، کد ثبت نام . این چهار گزینه بود که مجبور بودم چهارتا کوری داشته باشم حالا شما بگید تا بگم چی کردم.

  26. #26
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    Iran
    پست
    1,035
    سلام

    برنامه من شامل 2 تا بانک است یکی عنوان اصلی مجله و دیگری مقالات مجلات

    که توسط ID به هم مرتبط هستند که بر روی تمام فیاد می خواهم جستجو کنم و مقالات مجلات بیش 100000 عنوان است

    با تشکر

  27. #27
    دو تا بانک یا دو تا جدول؟
    هر جدول چند فیلد دارد؟
    از inner join استفاده می کنی ؟

  28. #28
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    Iran
    پست
    1,035
    دو تاجدول و بله از inner join استفاده می کنم

  29. #29
    انگار باید با منقاش از دهان مبارک شما حرف بیرون کشید، بگو هر جدولت چندتا فیلد داره و کلا بگو چند تا فرم داری که می خواهی توشون سرچ کنی، و اگر فرصت داری یک کم سر صحبت را باز کن

تاپیک های مشابه

  1. تبدیل فیلدهای عددی به رشته ای در خاصیت Filter
    نوشته شده توسط Rocker در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 3
    آخرین پست: یک شنبه 11 شهریور 1386, 14:23 عصر
  2. filter کردن بر اساس بحشی از فیلد
    نوشته شده توسط hasty_f در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 3
    آخرین پست: دوشنبه 29 اسفند 1384, 12:15 عصر
  3. MAC Filter در ویندوز و یا ناول ؟
    نوشته شده توسط jirjirakk در بخش شبکه و Networking‌
    پاسخ: 2
    آخرین پست: سه شنبه 13 بهمن 1383, 23:58 عصر
  4. filter
    نوشته شده توسط mohammad__d در بخش گزارش سازی با Crystal Report
    پاسخ: 0
    آخرین پست: سه شنبه 19 آبان 1383, 10:33 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •