یک ADOTable رو با استفاده از یک ADOQuery فیلتر کردم که در اون تاریخ به تفکیک روز ماه و سال مشخص شده . نوع هر سه فیلد از نوع Nvarchar هستند . بعد از انجام فیلتر با پیغام زیر مواجه می شم.
یک ADOTable رو با استفاده از یک ADOQuery فیلتر کردم که در اون تاریخ به تفکیک روز ماه و سال مشخص شده . نوع هر سه فیلد از نوع Nvarchar هستند . بعد از انجام فیلتر با پیغام زیر مواجه می شم.
ببخشید میشه بیشتر بدهید که چطور این کار رو انجام داده اید؟
ضمناً من فکر میکنم جایی که از مقدار فیلد برای فیلتر کردن استفاده کرده اید ، از تابع QuotedStr() استفاده نکرده اید
... چه بگویم که غم از دل برود چون تو بیایی
با تشکر
فیلتر رو با دستور Format انجام داده ام . و از Quotedstr هم استفاده کرده ام .
درود
شما اگه دستورتون رو اینجا بگذارید، سریعتر به نتیجه میرسیم.
فلويد گواهي مي دهد به آنکه زيستن در هنگامهی استبداد، چه آسان روياها را واژگون مي کند، چه سهل بر چهرهی آزادی تيغ میکشد!
با تشکر
دستور رو براتون نوشتم
نوشته شده توسط داوود
این کد شما که ربطی به ADOQuery نداره؟!!!!!!
ضمنا فیلدهای sday و... رو از نوع int تعریف کنید و QuotedStr رو بردارین. در غیر این صورت حداقل از نوع varchar یا char تعریف کنین. آخه چرا یونیکد؟؟!
توجه داشته باشین که در صورت استفاده از varchar و مشابه آن، برای اینکه نتیجه درست از مقایسه بگیرین حتما اعداد باید صفرچین شده باشند. مثلا عدد 1 رو بصورت 01 ذخیره کنین. وگرنه این مقایسه تون جواب نمی ده. برای همین می گم از int استفاده کنین که منطقی تره.
با عرض معذرت از اینکه به جای ADOTable گفتم ADOQueryنوشته شده توسط Naficy
من ADOTable رو با استفاده از دستورات بالا فیلتر کردم .
نوع فیلدها رو هم تغییر دادم و از nvarchar به int تغییرشان دادم مقادیر s% رو به d% تغییر و دستور Quotedstr رو هم برداشتم ولی باز هم همان پیغام رو میده
میشه یکی جواب بده لطفا.......
یه احتمال اینه که مقدار داخل editbox ها عدد نباشد. (و باید بدونید یک رشته خالی یا همون ('') عدد محسوب نمی شه)
پی نوشت: کلا می گم. کاش پیغام خطا رو به جای تصویر گذاشته بودین. چون این آخر وقتیه(!!) هر چی روش زدم تصویر رو نیاورد که یه بار دیگه ببینمش!!
اینبار موفق شدم پیغام رو ببینم! بی خیال صحبت قبلی من شوید.
شما از SqlServer استفاده می کنید نه؟ بد نیست یه مقدار ساده ی رشته ای درون عبارت filter بذارین و امتحان کنین جواب می ده یا نه. (منظورم اینه که از توابع format و ... استفاده نکنین و یه رشته ساده بنویسین)