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

نام تاپیک: شمارش ركوردهاي باقيمانده بعد از عمل فيلتر dbgrid

  1. #1
    کاربر دائمی آواتار hentjanson
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    مشهد
    پست
    442

    Smile شمارش ركوردهاي باقيمانده بعد از عمل فيلتر dbgrid

    سلام به همه اساتيد و روز بخير

    براي من يك سوال پيش اومده كه نتونستم حلش كنم .
    من براي جستجو در بانك از اين كد استفاده مي كنم

    procedure TForm1.ADOTable1FilterRecord(DataSet: TDataSet;
    var Accept: Boolean);
    begin
    if Form1.ComboBox2.ItemIndex=0 then
    Accept:=(AnsiPos(Trim(Form1.MaskEdit11.Text),Trim( DataSet['namketab']))>0)
    else if Form1.ComboBox2.ItemIndex=1 then
    Accept:=(AnsiPos(Trim(Form1.MaskEdit11.Text),Trim( DataSet['nammoalef']))>0)
    else if Form1.ComboBox2.ItemIndex=2 then
    Accept:=(AnsiPos(Trim(Form1.MaskEdit11.Text),Trim( DataSet['nammotrajem']))>0)


    حالا سوال من اينه وقتي سرچ در برنامه انجام گرفت و نتايج در dbgrid نشان داده شد چطور اين نتايج رو شمارش كنم و بگم مثلا 3 عدد .

    اين كد رو امتحان كردم جواب نداد تعداد كل رو ميده

    Label2.Caption:=IntToStr(ADOTable1.RecordCount);


    برنامه رو ضميمه مي كنم يك جستجوگر
    ميشه برنامه منو اساتيد ببينيد و نقص كار رو بگيد
    فایل های ضمیمه فایل های ضمیمه
    • نوع فایل: rar dok.rar‏ (331.8 کیلوبایت, 76 دیدار)

  2. #2
    کاربر دائمی آواتار delphiprog3000
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    Kerman
    پست
    511

    نقل قول: شمارش ركوردهاي باقيمانده بعد از عمل فيلتر dbgrid

    با سلام دوست عزیز جواب شما در پست دوم این تاپیک داده شده با کمی دقت متوجه خواهید شد.


  3. #3
    کاربر دائمی آواتار hentjanson
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    مشهد
    پست
    442

    نقل قول: شمارش ركوردهاي باقيمانده بعد از عمل فيلتر dbgrid

    سلام دوست من

    select Count(user)from tbllogin where [user] like'admin'

    ميشه در رابطه با همين خط كدي كه گفتيد توضيحي براي من بديد روند پياده سازي اين كد ،‌ چطور و در كجا بايد از اين خط استفاده كنم

  4. #4
    کاربر دائمی آواتار delphiprog3000
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    Kerman
    پست
    511

    نقل قول: شمارش ركوردهاي باقيمانده بعد از عمل فيلتر dbgrid

    برای اجرای این دستور از شی Adoquery استفاده کنید. و در خاصیت sql.text کوری خود باید آن را قرار دهید.

    این طور که از برنامه شما متوجه شدم . میتوانید آن را در on exit کومبو باکس خود قرار دهید.

    به این صورت :
    with  Adoquery1 do
    begin
    close;
    sql.add('select Count(namketab)as rc from table1 where [nameketab] like'+Quotedstr(maskedit1.text);
    open;
    if not isEmpty then
    begin
    label3.caption:=fieldvalues['rc'];
    end;
    end;
    آخرین ویرایش به وسیله delphiprog3000 : شنبه 01 تیر 1387 در 09:50 صبح

  5. #5
    کاربر دائمی آواتار hentjanson
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    مشهد
    پست
    442

    نقل قول: شمارش ركوردهاي باقيمانده بعد از عمل فيلتر dbgrid

    سلام بازم نشد .
    اين كد رو امتحان كردم ميشه روي برنامه من خودت امتحان كني بعد بگي جواب ميده يا نه

  6. #6
    کاربر دائمی آواتار SYNDROME
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    تهران
    پست
    2,814

    با سلام

    نقل قول نوشته شده توسط hentjanson مشاهده تاپیک
    سلام بازم نشد .
    اين كد رو امتحان كردم ميشه روي برنامه من خودت امتحان كني بعد بگي جواب ميده يا نه
    چرا از RecordCount استفاده نمی کنید؟
    موفق باشید

  7. #7
    کاربر دائمی آواتار hentjanson
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    مشهد
    پست
    442

    نقل قول: شمارش ركوردهاي باقيمانده بعد از عمل فيلتر dbgrid

    سلام صبح بخير
    من از اين كد بعد از كد accept استفاده كردم ولي جواب نداد مجموع كل رو بر مي گردونه :‌
    اينطوري

    procedure TForm1.ADOTable1FilterRecord(DataSet: TDataSet;
    var Accept: Boolean);
    begin
    if Form1.ComboBox2.ItemIndex=0 then
    Accept:=(AnsiPos(Trim(Form1.MaskEdit11.Text),Trim( DataSet['namketab']))>0)
    else if Form1.ComboBox2.ItemIndex=1 then
    Accept:=(AnsiPos(Trim(Form1.MaskEdit11.Text),Trim( DataSet['nammoalef']))>0)
    else if Form1.ComboBox2.ItemIndex=2 then
    Accept:=(AnsiPos(Trim(Form1.MaskEdit11.Text),Trim( DataSet['nammotrajem']))>0)
    Label2.Caption:=IntToStr(ADOTable1.RecordCount);

    مجموع كل رو ميگه بر حسب باقيمانده ها فعلي عمل نميكنه

  8. #8
    کاربر دائمی آواتار delphiprog3000
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    Kerman
    پست
    511

    نقل قول: شمارش ركوردهاي باقيمانده بعد از عمل فيلتر dbgrid

    دوست من این یک مثال کوچیک از اون چیزی که شما میخواستید .

    دیتابیس : Sql

    در ضمن این لینک هم میتونه به شما کمک کنه:
    https://barnamenevis.org/showth...88%D8%B1+Count

    موفق باشید..................
    فایل های ضمیمه فایل های ضمیمه

  9. #9
    کاربر دائمی آواتار hentjanson
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    مشهد
    پست
    442

    نقل قول: شمارش ركوردهاي باقيمانده بعد از عمل فيلتر dbgrid

    مرسي دوست من .
    از اين روش استفاده كردم ولي همچنان مشكل دارم مثال خوبي بود

  10. #10
    کاربر دائمی آواتار hentjanson
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    مشهد
    پست
    442

    نقل قول: شمارش ركوردهاي باقيمانده بعد از عمل فيلتر dbgrid

    از دوستان كسي روش ديگه ياد داره برنامه خودم رو ضميمه كردم در پست اول .

  11. #11
    کاربر دائمی آواتار hentjanson
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    مشهد
    پست
    442

    نقل قول: شمارش ركوردهاي باقيمانده بعد از عمل فيلتر dbgrid

    كسي راه حل بهتري به نظرش ميرسه براي شمارش

  12. #12
    کاربر دائمی آواتار SYNDROME
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    تهران
    پست
    2,814

    با سلام

    چرا از Filter استفاده نمی کنید تا بعد از اعمال فیلتر RecordCount را بر گردانید.
    مشکلتان در استفاده از Filter چیست؟
    موفق باشید

  13. #13
    کاربر دائمی آواتار delphiprog3000
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    Kerman
    پست
    511

    نقل قول: شمارش ركوردهاي باقيمانده بعد از عمل فيلتر dbgrid

    با سلام.
    من برنامه دوستمون رو دیدم با دیتابیس اکسس اون کدی که میخواستم در برنامه ایشان قرار بدم رو امتحان کردم ولی به مشکل برخورد . ولی همان مثالی که ایشان میخواست رو روی یک تکه برنامه که دیتابیس sql داشت تست کردم مشکل نداشت. و اون کد را براشون گذاشتم.

    برای اطمینان بدنیست شما هم نگاهی به این دو برنامه بندازی علی جان.

    موفق باشید.................

  14. #14
    کاربر دائمی آواتار hentjanson
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    مشهد
    پست
    442

    نقل قول: شمارش ركوردهاي باقيمانده بعد از عمل فيلتر dbgrid

    سلام دوست من
    ميشه شما هم نگاهي به برنامه من بيندازي علي اقا در پست يك گزاشتمش
    مرسي

  15. #15
    کاربر دائمی آواتار SYNDROME
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    تهران
    پست
    2,814

    با سلام

    دوست عزیز براتون درستش کردم.
    به رویداد OnChange مربوط به MaskEdit نگاه کنید.
    دستورات که در رویداد OnFilterRecord و OnKeyUp نوشته بودید را پاک کردم.
    در زمان اجرای برنامه (Create فرم) رویداد Onchange مربوط به MaskEdit را فراخوانی کردم تا تعداد رکوردها را در اول برنامه مشخص کند.
    موفق باشید
    فایل های ضمیمه فایل های ضمیمه
    • نوع فایل: zip dok.zip‏ (422.4 کیلوبایت, 82 دیدار)

  16. #16
    کاربر دائمی آواتار hentjanson
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    مشهد
    پست
    442

    نقل قول: شمارش ركوردهاي باقيمانده بعد از عمل فيلتر dbgrid

    مرسي از اينكه وقت براي رفع اين مشكل من گزاشتي . متشكرم .
    از تمام اساتيد ديگر هم تشكر مي كنم . حل شد

  17. #17
    کاربر دائمی آواتار hentjanson
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    مشهد
    پست
    442

    نقل قول: شمارش ركوردهاي باقيمانده بعد از عمل فيلتر dbgrid

    اين خطا از كجا ناشي ميشي من با اين مشكل مواجهم موقع تايپ

    item cannot be found in the collection corresponding to the requested name or ordinal

  18. #18
    کاربر دائمی آواتار hentjanson
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    مشهد
    پست
    442

    نقل قول: شمارش ركوردهاي باقيمانده بعد از عمل فيلتر dbgrid

    سلام دوست من همان طور ه شما گفتيد كد هاي برنامه اصلي رو عوض كردم و همانند نمونه شما نوشتم فقط نميدونم چرا فيلتر نميكنه غير فعال حالت فيلتر موقع تايپ فيلتري انجام نميشه

  19. #19
    کاربر دائمی آواتار SYNDROME
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    تهران
    پست
    2,814

    با سلام

    نقل قول نوشته شده توسط hentjanson مشاهده تاپیک
    اين خطا از كجا ناشي ميشي من با اين مشكل مواجهم موقع تايپ

    item cannot be found in the collection corresponding to the requested name or ordinal
    در زمانی جستجو من دستور زیر را نوشته ام.

    FieldName+' Like '+Quotedstr('%'+Edit1.text+'%');

    دستور فوق برای جستجوی رشته ای است.اگر فیلد شما از نوع عددی است دستور را به شکل زیر تغییر دهید.

    FieldName+' = '+Edit1.text;

    موفق باشید

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

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