PDA

View Full Version : مشكل استفاده از continuous Forms



ryonis
چهارشنبه 31 شهریور 1389, 14:05 عصر
دوستان سلام، يه فرم continuous دارم كه نشان دهنده نتيجه يك جستجوي كاربر در بانك دستگاه ها است. يك Textbox نيز در اين فرم داريم كه نشون دهنده مقدار يك محاسبه (query) بر روي مقادير فيلدهاي هر ركورد است.
مشكلم اينجاس كه نتيجه اين textbox براي تمامي ركوردهاي ديگر فرم همان مقداري است كه ركوردي كه در حال حاضر set focus شده است. يعني اينكه با كليك بر روي هركدام از فيلدهاي يك ركورد، textbox مذكور براي اين فيلد محاسبه مي شود اما متاسفانه ساير textbox ساير ركوردها نيز همين مقدار را نمايش مي دهد.
البته خودم حدس ميزنم كه اين به خاطر خاصيت اين جور فرم ها باشه. اما دوستان گلم! راه دررو يا ابتكار و خلاقيتي وجود داره؟ ممنون ميشم.
(لازم بذكراست براي ارتباط با ديتا از recordset استفاده كرده ام.

mazoolagh
چهارشنبه 31 شهریور 1389, 14:59 عصر
بعبارت دیگه یک computed field دارین؟
خوب کافی هست محاسبه رو در select مربوط به رکوردست بیارین و فیلد رو از حالت محاسبه شده خارج کنین

ryonis
یک شنبه 25 مهر 1389, 17:58 عصر
اين كه گفتي يعني چه؟

microprolog-p96s
یک شنبه 25 مهر 1389, 22:09 عصر
میتونی با کمی خلاقیت از این استفاده کنی

http://barnamenevis.org/forum/showthread.php?t=253751

ryonis
سه شنبه 27 مهر 1389, 18:31 عصر
میتونی با کمی خلاقیت از این استفاده کنی

http://barnamenevis.org/forum/showthread.php?t=253751
استاد عزيز، من كه بيشتر گيج شدم. :متعجب:نمونه اي كه شما زحمت كشيده ايد چه ارتباطي به سوال بنده داشت؟ :متفکر:
مشكل من Continuous Formهاست كه اينجور كه تو google سرچ كردم مشكل بسياري از دوستان داخلي و خارجيه! اما بازم مشكل سرجاشه. جناب mazoolagh (http://barnamenevis.org/forum/member.php?u=9893) كه فرمودن "کافی هست محاسبه رو در select مربوط به رکوردست بیارین و فیلد رو از حالت محاسبه شده خارج کنین " ، اگه بيشتر توضيح بدن خيلي ممنون ميشم/

. جهت بيشتر روشن شدن موردِ سوالم مثالي از يكي از سايتهاي خارجي ميزنم:
فرض كنيد توي يك فرم continuous قرار باشه رنگ پس زمينه هر ركورد با مقدار فيلدي در آن تغيير كند. اما مشكل اينجاست كه رنگ تمامي ركوردها را مقدار فيلد ركوردي كه در حال حاضر بر آن كليلك شده تعيين ميكند. (set focus) مثلاً اگر مقدار فيلد ركورد 1 برابر آبي و ركورد دو قرمز باشد با كليك بروي هر فيلدي از ركورد يك پس زمينه هر دو ركورد آبي و همينطور با كليك به روي فيلد دوم قرمز مي شود. اميدوارم مشكل را خوب توضيح داده باشم

در دو عكس ذيل هر ركورد داراي فيلدي با نام وضعيت است كه مقدار آن باعث رنگ شدن آن مي شود. مي خواستم جوري باشد كه كاربر با باز كردن اين فرم موارد «نيازبه‌مراجعه» را با رنگ قرمز و «درحال‌انجام» را زرد ببيند. اما همانطور كه نشان داده ام با كليك بروي هر ركورد، ساير ركوردها نيز تغيير رنگ پيدا كرده اند.
راستي ،

:تشویق::تشویق: ((( تولد امام رضا(ع) هم بر تمامي دوستان خجسته باد)))) :تشویق::تشویق:

mazoolagh
چهارشنبه 28 مهر 1389, 12:00 عصر
اين كه گفتي يعني چه؟

فرض کنین که شما تابعی بصورت زیر دارین :


public function fx(x1,x2)
...
...
end function
ظاهرا شما در طراحی فرمتون یک فیلد محاسبه شده دارین که سورس اون رو بصورت زیر تعریف کردین:


=fx(fld1,fld2)
در فرمهای پیوسته این روش همین مشکلی رو داره که شما باهاش روبرو شدین.
چاره اش این هست که یک کوئری مشابه زیر تعریف کنین:


select fld1, fld2, fld3, ..., fx(fld1,fld2) as ZZZ from tbl where ...
و رکوردسورس فرمتون رو این کوئری قرار بدین. بالطبع اون فیلد محاسبه شده رو هم به نوع bound تبدیل میکنین و سورس اون رو ZZZ قرار میدین.

RESMAILY
چهارشنبه 28 مهر 1389, 12:22 عصر
به نام خدا
باسلام. اگر درست متوجه شده باشم. اين مشكل با conditional formatting حل مي شود. در منوي برنامه به Format رجوع نماييد.