PDA

View Full Version : سوال: برگرداندن اطلاعات ماه قبل از دیتا بیس در تکست باکس



ashkan1234
جمعه 14 مهر 1391, 22:54 عصر
با درود!
دوستان یک فایل ضمیمه کردم!
میخوام وقتی کاربر اطلاعات مورد نظر در سمت راست برنامه را وارد کرد و بروی دکمه ok کلیک کرد اینکارو انجام بده:::
اگر رکوردست بزرگتر از صفر بود::
با کلیک بروی ok یک مسیج باکس باز بشه:
اطلاعاتی برای "نام شخص انتخاب شده" و "عدد سال جاری" و "نام ماه انتخاب شده" ثبت نشده!
آیا مایلید آخرین اطلاعات ثبت شده برای این شخص ، در ماه جاری کپی شود؟
----------
اگر کاربر بروی yes کلیک کرد آخرین رکورد ثبت شده برای آن شخص اطلاعات ماه قبل ،سال جاری ،شخص انتخاب شده را برگرداند در تکست باکس های مورد نظر در سمت چپ برنامه!
اگر سال عوض شد،مثلا اگر سال 1391 تمام شد و وارد 1392 شدیم،برنامه باید اطلاعات اسفند 1391 را برگرداند!
اگر کاربر بروی no کلیک کرد،فقط دو تکست باکس سمت چپ برنامه Enable شوند!

93623

ashkan1234
یک شنبه 16 مهر 1391, 23:58 عصر
4روز گذشت یعنی واقعا کسی نمیدونه این مشکل چطور قابل حله؟!!!!!!

ashkan1234
دوشنبه 17 مهر 1391, 11:16 صبح
شاید با این عکس دوستان بتونند کمک بیشتری به بنده کنند!
http://up.vatandownload.com/images2/ti4qk26sa8cvxxij918.png (http://up.vatandownload.com/)

m.4.r.m
سه شنبه 18 مهر 1391, 14:03 عصر
ببین من تا حدودی برات نوشتم ببین اینو میخوای ؟

ashkan1234
سه شنبه 18 مهر 1391, 15:49 عصر
ببین من تا حدودی برات نوشتم ببین اینو میخوای ؟
سلام!
دستت درد نکنه!
آره تقریبا شبیه اون چیزیه که میخوام!
منتهی یک چیزی توش انجام نشده!
اگه کاربر "مهر"ماه رو ثبت کرد ولی واسه "فروردین" ماه چیزی ثبت نکرد،بعد چند وقت که رفت واسه "فروردین"ماه اطلاعات ثبت کنه،اونوقت برنامه باید آخرین رکورد ثبت شده واسه اون شخص رو برگردونه به تکست باکس!(مثلا اگر آخرین رکورد اون شخص مربوط به "مهر" ماه بود،باید اطلاعات "مهر" ماه اون شخص رو واسه "فروردین" ماه برگردونه)!
تقریبا همینجوری که شما زدی میخوام!
دستت درد نکنه!

محسن واژدی
سه شنبه 18 مهر 1391, 17:16 عصر
سلام علیکم
نمونه ویرایش شده زیر بررسی کنید، انشاءا... درسته
بصورت پیش فرض اگه اطلاعاتی برای ماه انتخاب شده وجود نداشته باشه تابع تا 15 سال عقب تر را جستجو میکند
مقدار جدید برای کمتر یا بیشتر کردن این بازه را در متغیر "iMinY% = 15" قرار بدین، همچنین میتوانیم کل سالها و ماه های موجود در بانک را لیست کرده تا برنامه فقط در این محدوده جستجو کند؛ در اینصورت فاصله شروع جستجو تا اعلام نتیجه خیلی کمتر از مشخص کردن بازه ای در iMinY خواهد بود


البته چون از اطلاعات فارسی بجای اعداد در عنوان ماه ها در بانک استفاده شده ممکن است به این دلیل بعدا" اطلاعات برخی از ماه ها را تشخیص ندهد (البته به احتمال خیلی کم ولی خب)

موفق باشید

ashkan1234
سه شنبه 18 مهر 1391, 18:31 عصر
سلام علیکم
نمونه ویرایش شده زیر بررسی کنید، انشاءا... درسته
بصورت پیش فرض اگه اطلاعاتی برای ماه انتخاب شده وجود نداشته باشه تابع تا 15 سال عقب تر را جستجو میکند
مقدار جدید برای کمتر یا بیشتر کردن این بازه را در متغیر "iMinY% = 15" قرار بدین

البته چون از اطلاعات فارسی بجای اعداد در عنوان ماه ها در بانک استفاده شده ممکن است به این دلیل بعدا" اطلاعات برخی از ماه ها را تشخیص ندهد (البته به احتمال خیلی کم ولی خب)

موفق باشید

من زیاد از کد نویسیش سر در نیاوردم که همه چیزشو خودم ادیت کنم!
یه چندتا مورد داره:
1-وقتی برای یک شخصی مثلا در "اردیبهشت1391"و "تیر1391" اطلاعات ثبت میکنیم،بعدش میخواییم برای "فروردین 1390" همون شخص اطلاعات ثبت کنیم نباید بگه "اطلاعاتی یافت نشد"
بلکه باید آخرین اطلاعاتی که برای آن شخص ذخیره شده رو برگردونه به تکست باکس!(یعنی اطلاعات "تیر1391")
---------------------------------
2-الان شما دقت کنید!وقتی فیلدهای Adress و Phon رو در دیتابیس خالی کنید (مثلا برای "ashkan")برنامه ارور میده!
در صورتی که اصل این حرکت بر همین اساسه!که اشخاصی که اطلاعات جانبیشون خالیه،اطلاعات جانبی قبلشونو برگردونه!
اگر هم هیچ اطلاعاتی برای آن شخص ثبت نشده بود،فقط باید تکست باکسها را روشن کند و خالی بگذارد!ولی متاسفانه ارور میده!
----------------------------------
3-وقتی اطلاعات ماه قبل یک شخصی رو برمیگردونه،نباید فیلدهای سمت راست برنامه تغییر کنه!
درصورتی که الان فیلدهای سمت راست،تغییر میکنند به آن اطلاعات جستجو شده!
----------------------------------
4-واسه اون باگ آخر که فرمودید!
به نظرتون اگه اطلاعات کمبو باکس رو به صورت نمایشی عنوان ماه ها رو قرار بدم!ولی در دیتا بیس بصورت عدد باشه،(اول بریزم تو متغیر بعدش بره تو دیتابیس)آیا اینجوری امکان اینکه اطلاعات ماه ها رو تشخیص نده از بین میره؟
------------------------------
در آخر هم متشکرم!

محسن واژدی
سه شنبه 18 مهر 1391, 19:03 عصر
1-وقتی برای یک شخصی مثلا در "اردیبهشت1391"و "تیر1391" اطلاعات ثبت میکنیم،بعدش میخواییم برای "فروردین 1390" همون شخص اطلاعات ثبت کنیم نباید بگه "اطلاعاتی یافت نشد"
بلکه باید آخرین اطلاعاتی که برای آن شخص ذخیره شده رو برگردونه به تکست باکس!(یعنی اطلاعات "تیر1391")
چون در صورت یافت نشدن اطلاعات ماه انتخابی تابع کلا ماه و سال های قبل را بررسی میکند یعنی پیمایش تابع رو به سمت عقب است، به عبارتی اگه برای "فروردین 1390" اطلاعاتی وجود نداشته باشد تابع از "اسفند1389" به عقب جستجو میکند


2-الان شما دقت کنید!وقتی فیلدهای Adress و Phon رو در دیتابیس خالی کنید (مثلا برای "ashkan")برنامه ارور میده!
در صورتی که اصل این حرکت بر همین اساسه!که اشخاصی که اطلاعات جانبیشون خالیه،اطلاعات جانبی قبلشونو برگردونه!
اگر هم هیچ اطلاعاتی برای آن شخص ثبت نشده بود،فقط باید تکست باکسها را روشن کند و خالی بگذارد!ولی متاسفانه ارور میده!
بله این را توجه نکرده بودم، میتوانیم در ادامه queryها شرط " AND Phon IS NOT NULL AND Adress IS NOT NULL" را اضافه کنیم تا فیلدهایی Phon و Adress با مقدار null را جستجو نکند


3-وقتی اطلاعات ماه قبل یک شخصی رو برمیگردونه،نباید فیلدهای سمت راست برنامه تغییر کنه!
درصورتی که الان فیلدهای سمت راست،تغییر میکنند به آن اطلاعات جستجو شده!
بله، در ضمیمه پست 6 اصلاح شده


به نظرتون اگه اطلاعات کمبو باکس رو به صورت نمایشی عنوان ماه ها رو قرار بدم!ولی در دیتا بیس بصورت عدد باشه،(اول بریزم تو متغیر بعدش بره تو دیتابیس)آیا اینجوری امکان اینکه اطلاعات ماه ها رو تشخیص نده از بین میره؟
برای این راه های مختلفی وجود داره، البته این مورد که عرض کردم جهت اطلاع بود وگرنه در خاطرندارم تاکنون دیتابیس در مورد کاراکترهای یونیکدی دچار عدم نشخیص شده باشه در مورد برخی از سایرتوابع که در پیام ها عرض شده چرا اما در db ندیده ام

مجددا ضمیمه پست 6 بررسی کنید

موفق باشید

ashkan1234
سه شنبه 18 مهر 1391, 20:14 عصر
چون در صورت یافت نشدن اطلاعات ماه انتخابی تابع کلا ماه و سال های قبل را بررسی میکند یعنی پیمایش تابع رو به سمت عقب است، به عبارتی اگه برای "فروردین 1390" اطلاعاتی وجود نداشته باشد تابع از "اسفند1389" به عقب جستجو میکند
نمیدونم ولی اون نرم افزار که اسکرین شات اش رو قرار دادم!اینجوری بود حتی اگر عدد سال قبل هم وارد میشد!جستجو میکرد و آخرین اطلاعاتی که برای آن شخص یافت میشد را برمیگرداند!
اگه اینجوری بشه خیلی بهتره!اگه هم نشد!فعلا با همین یجوری راش میندازم!

بله این را توجه نکرده بودم، میتوانیم در ادامه queryها شرط " AND Phon IS NOT NULL AND Adress IS NOT NULL" را اضافه کنیم تا فیلدهایی Phon و Adress با مقدار null را جستجو نکند
دقیقا مشکلش همین بود!میگفت که اون دوتا فیلد مقدار Null رو دارن برمیگردونن!
حل شد.

برای این راه های مختلفی وجود داره، البته این مورد که عرض کردم جهت اطلاع بود وگرنه در خاطرندارم تاکنون دیتابیس در مورد کاراکترهای یونیکدی دچار عدم نشخیص شده باشه در مورد برخی از سایرتوابع که در پیام ها عرض شده چرا اما در db ندیده ام
اینگونه که شما میفرمایید پس نیازی نداره رو این قسمت وقت بزارم!
---------------------
با عرض پوزش:
اگه براتون مقدور بود،بفرمایید که این کد چه کاری انجام میده!
Text3 = "": Text4 = ""

سپاس فراوان!
پاینده باشید!
----------------------------------------
یک باگ کوچک هم داره جناب واژدی!
وقتی اطلاعات شخصی در ماه و سال انتخابی ثبت شده باشد و برنامه بخواهد آن اطلاعات ثبت شده را برگرداند نباید فیلد ماه را خالی کند!
برنامه Combo1 رو تهی میکنه!
چرا؟!
میشه این باگ رو بفرمایید چطور میشه برطرف کرد؟

محسن واژدی
چهارشنبه 19 مهر 1391, 11:24 صبح
این کد چه کاری انجام میده!
Text3 = "": Text4 = ""
سلام علیکم
این خط با دو دستور زیر یکی هستن:
Text3 = ""
Text4 = ""

در واقع با قرار دادن : مابین دستورات میتوان کدها را در یک خط نوشت (همانند js,ascript و ...)


وقتی اطلاعات شخصی در ماه و سال انتخابی ثبت شده باشد و برنامه بخواهد آن اطلاعات ثبت شده را برگرداند نباید فیلد ماه را خالی کند!
برنامه Combo1 رو تهی میکنه!
چرا؟!
بله، رشته دستوری sT1$ = Combo1 که در بالا حلقه Do قرار دارد را به بالای خط With RS منتقل کنید

موفق باشید

ashkan1234
چهارشنبه 19 مهر 1391, 11:56 صبح
سلام علیکم
این خط با دو دستور زیر یکی هستن:
Text3 = ""
Text4 = ""

در واقع با قرار دادن : مابین دستورات میتوان کدها را در یک خط نوشت (همانند js,ascript و ...)


بله، رشته دستوری sT1$ = Combo1 که در بالا حلقه Do قرار دارد را به بالای خط With RS منتقل کنید

موفق باشید

ایولا داره!
آقا دستتون درد نکنه!
بازهم یه چیز جدید یاد دادید به بنده!
چند وقت بود با این بازگشت اطلاعات در تکست باکسها درگیر بودم که با کمک شما این مشکل هم حل شد!
خیلی خیلی سپاسگذارم جناب واژدی!:قلب::لبخندساده: