مشاهده دست آورد نظرسنجی: برای دیتابیس های تک کاربره با رکوردهای بالا کدام دیتاب

رای دهنده
6. شما نمی توانید در این رای گیری رای بدهید
  • access

    6 100.00%
  • dbisam

    0 0%
  • interbase

    0 0%
  • BDE

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

نام تاپیک: مشکل تاریخ با query

  1. #1
    مهمان

    Tick مشکل تاریخ با query

    سلام دوستان
    یه کوری هست به این شکل:
    select * from table1 where tarikh between '01/05/1382' and '27/05/1382'

    البته تاریخ توی این فیلد به همین فرمت ذخیره شده وقتی این کوری رو اجرا میکنم رکورد هایی با تاریخ هایی مثل '1381/07/11' هم توی خروجی کوری هست
    من واقعا دارم گیج میشم
    راستی فیلد تاریخ از نوع string هست و دیتابیس برنامه bde لعنت الله علیه :cry:
    راستی من مشکلم خیلی جدیه توروخدا زود تر کمک کنین این کوری قراره یه قسمت از حقوق کارکنان یه کارخونه رو حساب کنه :( الان هم که اخره ماه همه حقوق میخان :cry: :cry:

  2. #2
    میلاد جان سلام
    اگر نحوه ذخیره تاریخ رو برعکس کن درست میشه '01/05/1382' یعنی سال سمت چپ,ماه وسط و روز در راست.

  3. #3
    مهمان
    سلام سینتکس جان
    اقا یه مشکلی هست اولا من اگه بخام این کارو بکنم باید کل برنامه رو دست بزنم ضمنا الان برنامه حدود 120000 رکورد داره نمیتونم فرمتشو عوض کنم من دستم بسته هست چون اگه بخام دست بزنم همه maskedit های که تاریخ رو میخونن رو باید دستکاری کنم این کار برام تقریبا غیر ممکنه
    اصلا میخام بدونم چرا این مشکل پیش میاد و با همین شرایط چه طوری دستش کنم
    مرسی اقا
    بای

  4. #4
    دلیلش اینه که مقایسه از سمت چپ انجام میشه.
    من سعی میکنم یه کوئری برای حل مشکلت بنویسم.اگر امشب تونستم برات میفرستم.

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

  6. #6

    select * from
    (
    select (right(tarikh,4)+"/"
    +mid(tarikh,4,2)+"/"
    +left(tarikh,2))as newtarikh
    from table1
    )
    where newtarikh between "1382/05/01" and "1382/05/27"

  7. #7
    مهمان
    سلام سینتکس جان
    اقا دستت درد نکنه ولی یه مشکلی هست
    وقتی اینو اجرا میکنم پیغام میده
    invalid use of keyword
    اینو هم اگه درست کنی خیلی حال دادی
    مرسی
    بای :cry:

  8. #8
    میتونی کد زیر رو توی رویداد onfilterrecord بنویسی تا تغیر فرمت تارخ صورت بگیره:

    ShortDateFormat := 'yyyy/mm/dd';




    phantasm :wink:

  9. #9
    مهمان
    salam
    in raveshe shoma baray record haii ke az in be bad vared shavand javab mide
    baray 120,000 recordi ke ta hala vared shode che bekkonam???

  10. #10
    جنابعالی باید اول فرمت تاریختون رو عوض کنید:


    select cast (dat as date) 
    from tarikh.db


    که tarikh.db اسم جدولتونه و dat فیلد تاریخه .بعد اون کدی که در بالا گفتم فکر کنم نتیجه بده :oops:

    اگه جواب نداد بازم در خدمتم :wink:

  11. #11
    میلاد جان راستش من با bde و پارادکس کار نمیکنم اما این کوئری رو با اکسس از طریق ado امتحان کردم جواب داد.اجزاء این کوئری استاندارده و دلیل خاصی برای کار نکردن نمیبینم.اما اگر مشکل با bde داری والا فکرم به جایی نمیرسه.سعی میکنم با bde هم امتحانش کنم ببینم مشکل کجاست. راستی به آی دی یاهوت pm گذاشتم.

  12. #12
    کاربر دائمی
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    تهران
    پست
    484
    نقل قول نوشته شده توسط SyntaxCheck

    select * from
    (
    select (right(tarikh,4)+"/"
    +mid(tarikh,4,2)+"/"
    +left(tarikh,2))as newtarikh
    from table1
    )
    where newtarikh between "1382/05/01" and "1382/05/27"
    راه حل بسیار زیبایی ارائه دادید.
    نمی‌دانستم اکسس قادر به اجرای چنین درخواستهایی هست.

  13. #13
    مهمان
    اقا من بیچاره شدم :cry: :cry: :cry: :cry: :cry:
    کوری اقای سینتکس توی access مثل ساعت کار میکنه ولی تو bde :cry:
    تایع cast هم همچنین
    اقا یه فکری بکنین :(

  14. #14
    تابع cast چشه آقا میلاد؟

    من توی bde امتحان کردم جواب میده :roll:

  15. #15
    راستشو اگه بخواید منم بدجور گیج شدم میلاد جان.فکر میکنم این یه مشکل کوچک تو سینتکس این کد اسکیو ال تو پارادکس که انگار اصلا با استاندارد و این حرفها میونه نداره. البته من با پارادکس زیاد کار نکردم اما بخاطر مشکل شما یه کمی بهش ور رفتم و همون مشکل که شما گفتید رو دیدم که اصلا منطقی به نظر نمیرسه. به هر حال من فکر میکنم اگر کارت خیلی فوری هست و از اونجا که تغییر ساختار برنامت در مورد تاریخ خیلی سخته سعی کن یه نسخه از برنامه رو کپی بگیری و بانک اونو با دیتا پمپ همراه دلفی به اکسس تبدیل کنی و با ado به بانک وصل شی و کوئری رو که گفتم اجرا کنی.این تبدیل فکر نمیکنم بیشتر از 20 دقیقه وقتت رو بگیره.

  16. #16
    بابا این bde که از هیچ function ای حمایت نمیکنه :cry:

    مجبور شدم یه روش خفن بکار ببرم :wink: امیدوارم مشکلت رو حل کنه:

    select * from table1
    where (tarikh like '%/05/1382')
    and ( tarikh between '01/05/1382' and '27/05/1382')





    phantasm :wink:

  17. #17
    مهمان
    سلام به همه
    اقا سینتکس راستش اول منم به این نتیجه رسیدم که کاره شما رو انجام بدم
    ولی روش اقا فنتسم فوت اخر بود!! جواب داد
    ولی خودمونیم ها چه برنامه نویس های خفنی داره این سایت دم همتون قیژژژژژژژژژژژژژژ
    اقای فنتسم و اقای سینتکس هم خیلی مرسی :P
    دست همتون درد نکنه
    مرسسسسسسسسسسسسسسسسسی

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

  1. مشکل گرفتن query با حرف 'ی' ؟
    نوشته شده توسط sasan_vm در بخش SQL Server
    پاسخ: 15
    آخرین پست: پنج شنبه 30 فروردین 1386, 13:18 عصر
  2. the query must be an updateable query
    نوشته شده توسط hamed_bostan در بخش VB.NET
    پاسخ: 2
    آخرین پست: چهارشنبه 08 فروردین 1386, 16:02 عصر
  3. مشکل در ثبت اطلاعات در query
    نوشته شده توسط maisam57 در بخش برنامه نویسی در Delphi
    پاسخ: 4
    آخرین پست: دوشنبه 03 مهر 1385, 09:17 صبح
  4. درخواست یک query
    نوشته شده توسط golagha_program در بخش Access
    پاسخ: 3
    آخرین پست: پنج شنبه 30 شهریور 1385, 12:20 عصر
  5. Query
    نوشته شده توسط حمیدرضاصادقیان در بخش برنامه نویسی در Delphi
    پاسخ: 3
    آخرین پست: پنج شنبه 30 شهریور 1385, 03:09 صبح

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

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