نمایش نتایج 1 تا 9 از 9

نام تاپیک: افزایش طول باکس بر اساس مقدار وارد شده

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آبان 1397
    محل زندگی
    شیراز
    پست
    318

    افزایش طول باکس بر اساس مقدار وارد شده

    با سلام و احترام
    اساتید محترم
    در فایل پیوست من یک باکس با رنگ قرمز دارم که می خواهم طول آن بر اساس فیلد مقدار در فرم تغییر کند . در رویداد on open فرم دستور را نوشتم ولی اعمال نمی شود . خواهشمند است راهنمایی فرمایید
    فایل های ضمیمه فایل های ضمیمه

  2. #2
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    798

    نقل قول: افزایش طول باکس بر اساس مقدار وارد شده

    نقل قول نوشته شده توسط محمد رضا بهبودی مشاهده تاپیک
    با سلام و احترام
    اساتید محترم
    در فایل پیوست من یک باکس با رنگ قرمز دارم که می خواهم طول آن بر اساس فیلد مقدار در فرم تغییر کند . در رویداد on open فرم دستور را نوشتم ولی اعمال نمی شود . خواهشمند است راهنمایی فرمایید
    سلام !
    راهی که برای مقصود شما به ذهن بنده میرسد اینست که در جدول یک فیلد از نوع Long Text ایجاد کنید و خصوصیت Text Format آن را Rich Text قرار بدهید. و بعد در حالت نمایش رکوردها برای متن آن فیلد بصورت هایلایت رنگی را در نظر بگیرید بطوریکه هر تعداد کارکتر به آن متن اضافه یا از آن کم شد حالت هایلایت آن کم یا زیاد شود . البته رنگ فونت و هایلایت باید همرنگ باشند که در ظاهر کارکترهای متن مشخص نباشند .
    صمن اینکه انجام اینکار نیاز به دو سه خط کد نویسی دارد .
    در هرحال اگر تمایل به انجام چنین حالتی داشتید بفرما تا نمونه ای برات تهیه و ضمیمه کنم.
    یا علی
    آخرین ویرایش به وسیله eb_1345 : چهارشنبه 16 اسفند 1402 در 19:00 عصر

  3. #3
    کاربر دائمی
    تاریخ عضویت
    آبان 1397
    محل زندگی
    شیراز
    پست
    318

    نقل قول: افزایش طول باکس بر اساس مقدار وارد شده

    با سلام و احترام
    ممنون از پاسخ جنابعالی
    در صورت امکان قبول زحمت بفرمائید و یک نمونه جهت راهنمائی تهیه فرمائید
    ممنون

  4. #4
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    798

    نقل قول: افزایش طول باکس بر اساس مقدار وارد شده

    نقل قول نوشته شده توسط محمد رضا بهبودی مشاهده تاپیک
    با سلام و احترام
    ممنون از پاسخ جنابعالی
    در صورت امکان قبول زحمت بفرمائید و یک نمونه جهت راهنمائی تهیه فرمائید
    ممنون
    با سلام مجدد
    خواهش می کنم !
    در نمونه ضمیمه برای پر کردن فیلد FRichText که در جدول خصوصیت آن را از نوع RichText قرار داده ام از کارکتر ستاره (*) استفاده کرده ام . برای اینکه طول این تکست باکس در فرم زیاد نشود تعداد حداکثر ستاره را 50 تا تعیین کرده ام ( نصف آن مقدار عددی که در فرم وارد میشود)
    به عبارتی وقتی شما در فرم مقدار 100 وارد می کنید تعداد علامت ستاره ای که در این تکست باکس درج میشود 50 تا میباشد .
    محدوده حداقل و حداکثر مقدار را 0 و 100 تعیین کرده ام و اعداد خارج از این محدوده غیر مجاز شناخته میشود.
    و اما توضیحاتی که لازم است در مورد کدهای استفاده شده باید خدمتتون ارائه بدهم:
    در ابتدا بنده دو متغییر از نوع استرینگ با عناوین strRichText و strRichCode تعریف کرده ام
    متغییر strRichText را مساوی تعداد ستاره هائی که باید در تکست باکس درج شود قرار داده ام که خروجی آن بصورت یک عبارت رشته ای ستاره میباشد و کد آن بصورت زیر است :

    strRichText = Right(strRichText & String(txtmeghdar, "*") & strRichText, txtmeghdar / 2)

    در این کد بنده خواسته ام که در متغییر strRichText به تعداد نصف مقداری که در تکست مقدار وارد میشود علامت ستاره قرار بده
    در کد بعدی کدهای رنگ فونت و رنگ استایل کارکترهای ستاره را در متغییر strRichCode قرار داده ام :

    strRichCode = "<div><font color=red style=BACKGROUND-COLOR:#FF0000>" & strRichText & "</font><font"

    همانطور که می بینید خروجی این کدها به صورت HTML میباشد.
    و بالاخره در قسمت اضافه کردن رکورد به جدول از کدهای اسکیوال استفاده کرده ام:

    DoCmd.RunSQL "INSERT INTO Table1 (onvan,meghdar, FRichText) VALUES ('" & Txtonvan & "', " & txtmeghdar & ", '" & strRichCode & "');"

    فقط عنایت داشته باش چون طول تکست باکس حدوداً به اندازه طول یک علامت ستاره از کل ستاره ها بیشتر میشود و این باعث میشود که در حالت 100 درصد در انتهای تکست باکس به اندازه طول آن یک علامت ستاره فضای خالی ایجاد شود و بلحاظ این که آن مقدار فضای خالی در تکست باکس دیده نشود یک کنترل باکس بر روی تکست باکس قرار داده ام و پوزیشن آن را نسبت به تکست باکس Bring To Front تعیین کرده ام و back style تکست باکس را در حالت Transparent قرار داده ام که وقتی حداکثر مقدار که 100 میباشد وارد میشود تکست باکس بصورت کاملاً پر نمایش داده شود
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله eb_1345 : چهارشنبه 09 اسفند 1402 در 10:59 صبح

  5. #5

    نقل قول: افزایش طول باکس بر اساس مقدار وارد شده

    سلام

    انصافاً جناب بهرامی در برنامه نویسی محیط اکسس همیشه ایده های جالب و بی نظیری از خود خلق می کنن و برای انجام کارهائی که ظاهراً راه حلی برای آن وجود نداره و یا اگر وجود داره خیلی ها از آن بی خبرن ایده و راه حل جالبی ارائه میدن

  6. #6
    کاربر دائمی
    تاریخ عضویت
    آبان 1397
    محل زندگی
    شیراز
    پست
    318

    نقل قول: افزایش طول باکس بر اساس مقدار وارد شده

    با سلام و احترام
    واقعا از جناب استاد بهرامی تشکر می کنم
    ایده بسیار جالبی بود

  7. #7
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,057

    نقل قول: افزایش طول باکس بر اساس مقدار وارد شده

    نقل قول نوشته شده توسط eb_1345 مشاهده تاپیک
    در نمونه ضمیمه برای پر کردن فیلد FRichText که در جدول خصوصیت آن را از نوع RichText قرار داده ام از کارکتر ستاره (*) استفاده کرده ام . برای اینکه طول این تکست باکس در فرم زیاد نشود تعداد حداکثر ستاره را 50 تا تعیین کرده ام ( نصف آن مقدار عددی که در فرم وارد میشود)
    به عبارتی وقتی شما در فرم مقدار 100 وارد می کنید تعداد علامت ستاره ای که در این تکست باکس درج میشود 50 تا میباشد .
    محدوده حداقل و حداکثر مقدار را 0 و 100 تعیین کرده ام و اعداد خارج از این محدوده غیر مجاز شناخته میشود.
    سلام جناب بهرامی
    و روز شما خوش
    باید اذعان کرد راه حل زیبا و out of box ی بود که واقعا شایسته تحسین هست.

    با اجازه تون دو مورد هست که به چشمم خورد که خدمتتون عرض میکنم:
    1- در کد ویرایش و اضافه کردن ، div اضافه هست و تگ ها درست بسته نشده که باید ویرایش بشه:
    strRichCode = "<font color=red style=BACKGROUND-COLOR:#FF0000>" & strRichText & "</font>"


    2- مقدار 1 رو نشون نمیده!
    (بخاطر تقسیم بر 2)

    دست آخر این که میشه این رو بدون کدنویسی و فیلد rtf هم پیاده کرد و دیگه نیازی به تقسیم بر 2 هم نیست.

  8. #8
    کاربر دائمی آواتار eb_1345
    تاریخ عضویت
    مرداد 1398
    محل زندگی
    تهران
    پست
    798

    نقل قول: افزایش طول باکس بر اساس مقدار وارد شده

    نقل قول نوشته شده توسط mazoolagh مشاهده تاپیک
    سلام جناب بهرامی
    و روز شما خوش
    باید اذعان کرد راه حل زیبا و out of box ی بود که واقعا شایسته تحسین هست.

    با اجازه تون دو مورد هست که به چشمم خورد که خدمتتون عرض میکنم:
    1- در کد ویرایش و اضافه کردن ، div اضافه هست و تگ ها درست بسته نشده که باید ویرایش بشه:
    strRichCode = "<font color=red style=BACKGROUND-COLOR:#FF0000>" & strRichText & "</font>"


    2- مقدار 1 رو نشون نمیده!
    (بخاطر تقسیم بر 2)

    دست آخر این که میشه این رو بدون کدنویسی و فیلد rtf هم پیاده کرد و دیگه نیازی به تقسیم بر 2 هم نیست.
    با سلام و درود فراوان
    ممنون و تشکر بخاطر دقت نظرتون
    در خصوص تقیسم بر 2 کردن تعداد علامت های ستاره به این مورد هم دقت نکرده بودم که هایلایت شدن متن در تقسیم اعداد فرد بر 2 درست انجام نمیشه چرا که بفرض در تقسیم عدد 5 بر 2 باید متن به اندازه طول دو نیم ستاره هایلایت بشه نه دو ستاره. که بنظرم اگه از علامت نقطه که طول اون نصف طول کارکتر ستاره است استفاده بشه بهتره که در اینصورت دیگه نیازی به تقسیم کردن مقدار بر 2 نیست و هایلایت شدن متن هم به نسبت همون تعداد وارده صورت می گیره و درسته.

    دست آخر این که میشه این رو بدون کدنویسی و فیلد rtf هم پیاده کرد و دیگه نیازی به تقسیم بر 2 هم نیست.
    فقط جسارتا متوجه این مورد دوم نشدم
    آخرین ویرایش به وسیله eb_1345 : جمعه 11 اسفند 1402 در 10:13 صبح

  9. #9
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,057

    نقل قول: افزایش طول باکس بر اساس مقدار وارد شده

    نقل قول نوشته شده توسط eb_1345 مشاهده تاپیک
    با سلام و درود فراوان
    ممنون و تشکر بخاطر دقت نظرتون
    فقط جسارتا متوجه این مورد دوم نشدم
    سلام دوباره خدمت جناب بهرامی گرامی
    چون عنوان تاپیک مناسب نبود و در جستجو پیدا نمیشه یک تاپیک جدید ساختم،
    لطفا ملاحظه بفرمایید:

    ساخت نشاندهنده پیشرفت برای فرم و جدول Progress Indicator in Table and Form

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

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