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

نام تاپیک: جستجو در دیتا بیس با شرایط خاص

  1. #1
    کاربر دائمی
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    پست
    386

    جستجو در دیتا بیس با شرایط خاص

    سلام من در #C یک دیتا بیس access دارم که می خواهم به صورت زیر اطلاعات را بیرون بکشم: من در یک ستون تاریخ و ساعت را دارم مثلا به این شکل 13890601231021 یعنی شش رقم سمت راست ساعت و هشت رقم سمت چپ تاریخ است. یک ستون دیگر هم به نام مبلغ دارم که جلوی هر تاریخ مقدار مربوطه نوشته شده است. حالا فرض کنید من سه عدد در ستون تاریخ دارم که تاریخ هایشان یکی است ولی ساعتشان یکی نیست مثلا به صورت زیر:
    13890601101020
    13890601170010
    13890601195510
    حالا من می خواهم یکی یکی ردیف های بالا را بخوانم و عدد ستون مقابل هریک را ذخیره کنم. با چه شرطی می توانم سطر اول را بخوانم و عدد ستون مبلغ را دخیره کرده و سپس سطر دوم و بعد از آن سطر سوم را بخوانم؟

  2. #2
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

    نقل قول: جستجو در دیتا بیس با شرایط خاص

    نقل قول نوشته شده توسط mehdi4467 مشاهده تاپیک
    سلام من در C#‎‎ یک دیتا بیس access دارم که می خواهم به صورت زیر اطلاعات را بیرون بکشم: من در یک ستون تاریخ و ساعت را دارم مثلا به این شکل 13890601231021 یعنی شش رقم سمت راست ساعت و هشت رقم سمت چپ تاریخ است. یک ستون دیگر هم به نام مبلغ دارم که جلوی هر تاریخ مقدار مربوطه نوشته شده است. حالا فرض کنید من سه عدد در ستون تاریخ دارم که تاریخ هایشان یکی است ولی ساعتشان یکی نیست مثلا به صورت زیر:
    13890601101020
    13890601170010
    13890601195510

    حالا من می خواهم یکی یکی ردیف های بالا را بخوانم و عدد ستون مقابل هریک را ذخیره کنم. با چه شرطی می توانم سطر اول را بخوانم و عدد ستون مبلغ را دخیره کرده و سپس سطر دوم و بعد از آن سطر سوم را بخوانم؟

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

  3. #3
    کاربر دائمی
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    پست
    386

    نقل قول: جستجو در دیتا بیس با شرایط خاص

    سلام
    ممنون از پاسختون.
    من به صورت تاریخ هم در دیتا بیس دارم. مشکل اصلی من حرکت رو سه سطر بالاست. فرض کنید فیلد ورودی من برای شرط فقط تاریخ باشد. خالا چطور می تونم اول مقداری رو بخونم که زمانش هم کمتر است و همینطور به ترتیب برم جلو؟

  4. #4
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

    نقل قول: جستجو در دیتا بیس با شرایط خاص

    نقل قول نوشته شده توسط mehdi4467 مشاهده تاپیک
    سلام
    ممنون از پاسختون.
    من به صورت تاریخ هم در دیتا بیس دارم. مشکل اصلی من حرکت رو سه سطر بالاست. فرض کنید فیلد ورودی من برای شرط فقط تاریخ باشد. خالا چطور می تونم اول مقداری رو بخونم که زمانش هم کمتر است و همینطور به ترتیب برم جلو؟
    به استفاده از Order By در اکسس نگاه بندازید.
    من مشکلتان را درک نمیکنم، با DateTime ، Whereو Order By میتوانید یک تاریخ بخصوص را انتخاب کنید و مقادیر را به شکل سورت شده بگیرید، احتیاجی به استفاده از رشته نمیبینم، ولی شاید من مشکل شما را متوجه نشدم ، اگر حرفهایه که زدم برایتان مفهومی ندارد بگید بیشتر توضیح بدم.

  5. #5
    کاربر دائمی
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    پست
    386

    نقل قول: جستجو در دیتا بیس با شرایط خاص

    سلام
    فرض کنید کاربر تاریخ 13890101 را وارد می کند . ما سه ردیف با تاریخ 13890101 و مقادیر مختلف برای این تاریخ خا داریم به شکل زیر:
    200 13890101
    250 13890101
    100 3890101
    حالا من تاریخی رو که از کاربر در متغیر date گرفتم در کوئری زیر میریزم:
    string bedehkar = select meghdar from table where date = date
    حالا با احرای کوئری فوق اولین عدد یعنی 200 بر گردانه میشه. خالا که می خواهم یروم و مقدار سطر بعدی را بدست می آورم، نمی توانم.




  6. #6
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

    نقل قول: جستجو در دیتا بیس با شرایط خاص

    نقل قول نوشته شده توسط mehdi4467 مشاهده تاپیک
    سلام
    فرض کنید کاربر تاریخ 13890101 را وارد می کند . ما سه ردیف با تاریخ 13890101 و مقادیر مختلف برای این تاریخ خا داریم به شکل زیر:
    200 13890101
    250 13890101
    100 3890101

    حالا من تاریخی رو که از کاربر در متغیر date گرفتم در کوئری زیر میریزم:


    string bedehkar = select meghdar from table where date = date


    حالا با احرای کوئری فوق اولین عدد یعنی 200 بر گردانه میشه. خالا که می خواهم یروم و مقدار سطر بعدی را بدست می آورم، نمی توانم.




    ۱.گفتیم از order by استفاده کنید که رکوردها سورت باشد.
    ۲.اگر میتونید سورس پروژه را بفرستید درست کنیم

  7. #7
    کاربر دائمی
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    پست
    386

    نقل قول: جستجو در دیتا بیس با شرایط خاص

    سلام
    من برنامه رو ضمیمه کرده ام.
    من می خواهم وقتی کاربر تاریخ 13/2/89 رو وارد کرد چون در این تاریخ 5 تراکنش وجود دارد ابتدا مانده تا قبل از این تاریخ را محاسبه نماید ( که این کار را کرده ام) بعد بیاید ابتدا مانده روز قبل را + مبلغ بستانکار کند و بعد - مبلغ بدهکار و این مانده را در یک متغیر ذخیره کند. سپس این مبلغ را به عنوان مانده جدید بگبرد و با سطر بعدی هم همبن کار را بکند تا تراکنش های این روز تمام شود. امیدوارم توضیحاتم کامل بوده باشد.
    فایل های ضمیمه فایل های ضمیمه

  8. #8
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

    نقل قول: جستجو در دیتا بیس با شرایط خاص

    نقل قول نوشته شده توسط mehdi4467 مشاهده تاپیک
    سلام
    ممنون از پاسختون.
    من به صورت تاریخ هم در دیتا بیس دارم. مشکل اصلی من حرکت رو سه سطر بالاست. فرض کنید فیلد ورودی من برای شرط فقط تاریخ باشد. خالا چطور می تونم اول مقداری رو بخونم که زمانش هم کمتر است و همینطور به ترتیب برم جلو؟
    ببخشید، شما گفتید که به شکل تاریخ هم در داتابیس دارید ولی تمام فیلدها تکست هستند از
    DataType : Date/Time برایه فیلدهایه زمانی استفاده میشه.
    مقادیر را به شکل درست به تاریخ میلادی در یک فیلد Date/Time ذخیره کنید و داتابیس درست را بفرستید.

  9. #9
    کاربر دائمی
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    پست
    386

    نقل قول: جستجو در دیتا بیس با شرایط خاص

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

  10. #10
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

    نقل قول: جستجو در دیتا بیس با شرایط خاص

    نقل قول نوشته شده توسط mehdi4467 مشاهده تاپیک
    سلام
    من دیتا بیس رو تغییر دادم و برنامه رو پیوست کردم. البته قسمت ایجاد رکورد جدید رو هم گذاشتم.
    دلیلی برایه از فیلد تکست به جایه فیلد دیت تایم استفاده میکنید هست؟
    روش درست استفاده از دیت تایم هست که من تغییرش دادم.
    ضمیمه شد.
    فایل های ضمیمه فایل های ضمیمه

  11. #11
    کاربر دائمی
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    پست
    386

    نقل قول: جستجو در دیتا بیس با شرایط خاص

    سلام
    ممنون از جوابتون ولی من مشکام این نبود. در پست قبل تر هم گفتم: شاید باید بهتر توضیح بدم. الان شما مانده یک روز را محاسیه کرده اید و درست هم هست. ولی موضوع اینه که برای روزی که مثلا 3 تراکنش وجود داره نباید فقط مانده نهایی بدست بیاید بلکه باید مانده پس از هر ترا کنش بدست بیاید. که مانده پس از هر تراکنش می شود مانده قبلی + مقدار بستانکار - مقدار بدهکار.
    مثلا فرض کنید برای تاریخ 2010/09/11 تراکنش های زیر وجو دارد.
    tr_date    tr_bedehkar  tr_bestankar
    2010/09/11 0 200
    2010/09/11 100 0
    2010/09/11 0 50
    حالا من مقادیر زیر را نیاز دارم:
    برای ردیف اول می شود
    200-0 =200
    برای ردیف دوم می شود
    200+0-100=100
    برای ردیف سوم می شود:
    100+50-0 =150
    درواقع من عدد های 200 و 100 و 150 را نیاز دارم که بعدا روی آنها مینیمم گیری کنم.

  12. #12
    کاربر دائمی
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    پست
    386

    نقل قول: جستجو در دیتا بیس با شرایط خاص

    البته این رو هم بگم که این مقادیر باید براساس ساعتشون مرتب بشن. به خاطر همین من در تاریخ ساعت رو هم گذاشته بودم. به عنوان مثال تراکنش سطر اول در ساعت 8:00 تراکنش سطر دوم در ساعت 9:30 و تراکنش سطر سون در ساعت 11:45 دقیقه ثبت شده است.

  13. #13
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

    نقل قول: جستجو در دیتا بیس با شرایط خاص

    نقل قول نوشته شده توسط mehdi4467 مشاهده تاپیک
    سلام
    ممنون از جوابتون ولی من مشکام این نبود. در پست قبل تر هم گفتم: شاید باید بهتر توضیح بدم. الان شما مانده یک روز را محاسیه کرده اید و درست هم هست. ولی موضوع اینه که برای روزی که مثلا 3 تراکنش وجود داره نباید فقط مانده نهایی بدست بیاید بلکه باید مانده پس از هر ترا کنش بدست بیاید. که مانده پس از هر تراکنش می شود مانده قبلی + مقدار بستانکار - مقدار بدهکار.
    مثلا فرض کنید برای تاریخ 2010/09/11 تراکنش های زیر وجو دارد.

    tr_date    tr_bedehkar  tr_bestankar



    2010/09/11 0 200
    2010/09/11 100 0
    2010/09/11 0 50
    حالا من مقادیر زیر را نیاز دارم:
    برای ردیف اول می شود
    200-0 =200
    برای ردیف دوم می شود
    200+0-100=100
    برای ردیف سوم می شود:
    100+50-0 =150
    درواقع من عدد های 200 و 100 و 150 را نیاز دارم که بعدا روی آنها مینیمم گیری کنم.

    پس شما جمع تفاوتهایه هر سطر را میخواهید یا تفاوتهایه هر سطر را جداگانه به تعداد سطرها؟
    در حالت اول مینیمم گیری معنی نمیده، ولی در حالت دوم میشه مینیمم مقدار تفاوتهایه سطرها.

  14. #14
    کاربر دائمی
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    پست
    386

    نقل قول: جستجو در دیتا بیس با شرایط خاص

    من تفاوت ها را جداگانه می خواهم. ولی چطوری میشه روی دیتا بیس مانده هر سطر را جدا گانه داشت وقتی تاریخ هایشان یکی هست؟

  15. #15
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

    نقل قول: جستجو در دیتا بیس با شرایط خاص

    نقل قول نوشته شده توسط mehdi4467 مشاهده تاپیک
    من تفاوت ها را جداگانه می خواهم. ولی چطوری میشه روی دیتا بیس مانده هر سطر را جدا گانه داشت وقتی تاریخ هایشان یکی هست؟
    Select Field1-Field2 From Table

  16. #16
    کاربر دائمی
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    پست
    386

    نقل قول: جستجو در دیتا بیس با شرایط خاص

    نقل قول نوشته شده توسط اَرژنگ مشاهده تاپیک
    Select Field1-Field2 From Table
    متوجه نشدم.

  17. #17
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

    نقل قول: جستجو در دیتا بیس با شرایط خاص

    نقل قول نوشته شده توسط mehdi4467 مشاهده تاپیک
    متوجه نشدم.



    SELECT trakonesh.tr_id, trakonesh.tr_bedehkar, trakonesh.tr_bestankar, trakonesh.tr_date_miladi, trakonesh.tr_bestankar-trakonesh.tr_bedehkar AS Expr1
    FROM trakonesh
    ORDER BY trakonesh.tr_date_miladi;


     
    -----------------------------------------------------------------------------------------------------
    | tr_id | tr_bedehkar | tr_bestankar | tr_date_miladi | Expr1 |
    -----------------------------------------------------------------------------------------------------
    | 88 | 0 | 100 | 9/01/2010 | 100 |
    -----------------------------------------------------------------------------------------------------
    | 87 | 450 | 0 | 9/01/2010 | -450 |
    -----------------------------------------------------------------------------------------------------
    | 86 | 200 | 0 | 9/01/2010 | -200 |
    -----------------------------------------------------------------------------------------------------
    | 85 | 0 | 2000 | 9/01/2010 | 2000 |
    -----------------------------------------------------------------------------------------------------

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

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