PDA

View Full Version : سوال: به روز رساني يك فيلد در كل برنامه



majid_mz
چهارشنبه 10 شهریور 1389, 11:40 صبح
سلام خسته نباشيد.من يه مشكل دارم ممنون ميشم اكه كمكم كنيد.من تو برنامم يه فيلد دارم كه لازمه هر بار برنامه اجرا ميشه خودبخود اين فيلد تو تمام ركوردهاي برنامه محاسباتش رو انجام بده و به روز بشه(نه اينكه يكي يكي برم سراغ ركوردها و دستي اونها رو به روز كنم!.)لطفا بگيد چكار كنم چه كدي بنويسم كجا بنويسم خيييييييلي ممنون.(فيلد من اختلاف تاريخ جاري رو از يه تاريخ ديگه كه براي هر ركورد يه چيز متفاوتي هست رو محاسبه مي كنه)

ali190
چهارشنبه 10 شهریور 1389, 11:56 صبح
سلام
نمونه بذار.

majid_mz
چهارشنبه 10 شهریور 1389, 12:03 عصر
سلام ممنون كه توجه كرديد. اينم فايل برنامه.

ali190
چهارشنبه 10 شهریور 1389, 12:14 عصر
majid_mz عزیز
جداً فکر کردی که من علم غیب دارم؟
آخه پسر خوب یه فایل گذاشتی بدون هیچ توضیحی!!!!!!؟:قهقهه:
چی رو آپدیت کنم برادر؟:متفکر:
در ضمن taghvim.ocx رو هم برام آپ کن.

majid_mz
چهارشنبه 10 شهریور 1389, 12:22 عصر
شرمنده الان درستشو ميذارم.ما تازه كاري بيش نيستيم

majid_mz
چهارشنبه 10 شهریور 1389, 12:26 عصر
اينم فايل با توضيحات

majid_mz
چهارشنبه 10 شهریور 1389, 12:37 عصر
استاد ali190عزيز
توضيحات كافي بود؟من از taghvim.ocx استفاده نكردم بلكه از ماژول آقاي آزادي استفاده كردم كه تو برنامه هستش ولي اگه بخواي يه taghvim.ocx دارم كه بفرستم.
فقط خواهش ميكنم اگه ميتوني كمكم كن خيلي لازم دارم برنامه رو هر كاري مي كنم نميشه.ممنون

ali190
چهارشنبه 10 شهریور 1389, 12:41 عصر
توضیح درست و بازکردن مشکل نصف راه حل کردنه مشکله:

من ميخوام وقتي برنامه اجرا شد تو تمام ركوردها فيلد اتمام سفارشي برنامه از فيلد تاريخ امروز كم بشه و تعداد روزي كه به اتمام برنامه مونده در فيلد روز به اتمام نشون داده بشه
تفريق انجام ميشه ولي دستي خودم بايد تو تمام ركوردها برم و انجام بدم( الان وقتي از فيلد اتمام برنامه اي سفارش خارج بشي عمل تفريق انجام ميشه)
من یه توضیح کاملتر نیاز دارم،
taghvim.ocx رو هم برام بذار
بدون اون برنامه ارور میده
بع در همون پست یه توضیح کامل بده
فیلد اتمام شفارش چیه؟
تو چه رکوردهایی میخواهی این بروزرسانی انجام بشه
تو کدوم جدول
اول یه وقت بذار مشکلت رو دقیقاً تشریح کن تا ما بتونیم کمکت کنیم
شما رو مشکلت اشراف داریم ولی ما که اینطرفیم هیچ شناختی نسبت به مشکلت نداریم
خلاصه هر گلی زدی به سر خودت زدی
یاعلی

majid_mz
چهارشنبه 10 شهریور 1389, 13:16 عصر
به روي چشام.
تو جدول t-main يه فيلدهست به نام etmam barnamey كه ليبلش روي فرم اتمام برنامه اي سفارش هست.فيلد تاريخ امروز هم يه تكست باكسه روي فرم كه براي بدست آوردن تاريخ امروز از ماژول استفاده مي كنه و تو جدول فيلدي نداره!.يه فيلد ديگه تو جدول هست كه به نام rooz be payanكه اختلاف تاريخها تو اون حساب ميشه.من تو Private Sub ETMAME_BARNAMEY_Exit(Cancel As Integer از تابع datediff براي كم كردن اين 2 تاريخ(تاريخ امروز و اتمام برنامه اي سفارش) استفاده كردم و جواب ميده ولي مشكل اينه كه اين براي هنگامي كه اطلاعات رو براي اولين بار وارد مي كنيم درسته ولي روز بعد يا روزهاي بعد كه تاريخ جاري سيتم عوض ميشه و طبيعتا روزهاي مانده به اتمام سفارش كمتر ميشه خودبخود انجام نميشه و بايد يكي يكي وارد ركوردها شد و در هر صفحه هنگامي كه از فيلد اتمام برنامه اي سفارش خارج شديم مقدار روزهاي مانده به پايان سفارش به روز ميشه.من ميخوام اين كار هنگام اجراي برنامه اجرا ميشه خودبخود انجام بشه.
taghvim.ocx رو هم هيچ جا بكار نبردم نميدونم چرا برا شما error ميده! ولي ميفرستم براتون.
(من علمم اينقدر بود اگه توضيحات كافي نيست تلفني توضيح بدم!)

ali190
چهارشنبه 10 شهریور 1389, 14:58 عصر
سلام
نمونه ات رو اصلاح کردم
توضیحات کامل رو در خود فایل دادم.
فقط نتیجه رو به من سریع اعلام کن
چون واسم یه کاری پیش اومده باید برم.
موفق باشی

majid_mz
چهارشنبه 10 شهریور 1389, 15:34 عصر
ali190 جان خيلي ممنون نگاه مي كنم جوابشو بهت مي دم.حلالم كن فكر كردم بي خيال ما شدي رفتي.بازم ممنونتم.التماس دعا تو اين شبها

majid_mz
چهارشنبه 10 شهریور 1389, 15:53 عصر
ali190 جان خيلي ممنون كار ميكنه مثل ساعت!!!خيلي زحمت كشيدي. مارو حلال كن.التماس دعا

ali190
چهارشنبه 10 شهریور 1389, 16:03 عصر
سلام
قابلی نداشت
کاری نکردم
دو نکته:
1- مشکل بوجود آمده برای طراحی اولیه دیتابیسه ، باید از اول فکرش رو میکردی که نمیشه در table فیلد محاسباتی ساخت
2- هر چقدر مشکلت رو واضح تر بگی زودتر به جواب میرسی
قبول دارم یکی از دلایل اینکه تلگرافی توضیح میدی بخاطر استرسیست که داری و میخوای زودتر مشکلت حل بشه ولی باور کن توضیح شفاف و کامل نصف مشکل رو حل میکنه
بازهم اگر سئوالی داشتی در خدمتم.
یاعلی

majid_mz
چهارشنبه 10 شهریور 1389, 17:53 عصر
سلام ali190 جان.ببخشيد من تو كوئري شما در فيلدexpr1 كه زحمتشو كشيدي در قسمتcriterya يه شرط گذاشتم به اين صورت
[Forms]![f-report]![Text1]=< و تو اون تكست باكس مثلا عدد 20 رو ميزنم درست جواب نميده ولي وقتي مي نويسم20=< درست جواب ميده چرا؟

ali190
چهارشنبه 10 شهریور 1389, 18:12 عصر
از کوئری مورد نظرت یک کوئری دیگه بگیر(با تمام فیلدهاش حتی expr1 ) بعد شرط مورد نظرت رو درش اعمال کن
درست میشه

majid_mz
چهارشنبه 10 شهریور 1389, 18:30 عصر
ببخشيد اين كارو كردم جواب نداد Query1 رو از روي كوئري شما ساختم و شرط رو گذاشتم باز جواب نداد.فايلشو براتون ميفرستم.

ali190
چهارشنبه 10 شهریور 1389, 19:33 عصر
سلام
حل شد
با استفاده از تابع val شرطها رو به عدد تبدیل کردم:

Val([Forms]![f-report]![Text1]) Or <Val([Forms]![f-report]![Text1])
فایل پیوستی رو ببین.
موفق باشی

majid_mz
چهارشنبه 10 شهریور 1389, 20:17 عصر
علي جان ممنون.دستت درد نكنه. من نميتونم پيام شخصي بدم برا همين اينجا ازت تشكر مي كنم. ان شاءاله بتونم جبران كنم.