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

نام تاپیک: تغییر رنگ یک فیلد در حالت دیتاشیت فرم

  1. #1

    Question تغییر رنگ یک فیلد در حالت دیتاشیت فرم

    با سلام
    امکان اینکه رنگ پس زمینه فیلدهای یک فرم که در حالت دیتا شیت هست ،با اعمال شرط تغییر کنند وجود داره؟

  2. #2
    کاربر دائمی آواتار saeed1234n
    تاریخ عضویت
    تیر 1390
    محل زندگی
    قرچک
    پست
    777

    نقل قول: تغییر رنگ یک فیلد در حالت دیتاشیت فرم

    سلام

    بله امکانش هست ؟

  3. #3

    نقل قول: تغییر رنگ یک فیلد در حالت دیتاشیت فرم

    سلام.
    از راهنمایتون ممنون دوست عزیز.
    به نظرم باید راهش را خودم پیدا کنم دیگه.؟

  4. #4
    کاربر دائمی آواتار saeed1234n
    تاریخ عضویت
    تیر 1390
    محل زندگی
    قرچک
    پست
    777

    نقل قول: تغییر رنگ یک فیلد در حالت دیتاشیت فرم

    سلام

    نمونه ؟

  5. #5

    نقل قول: تغییر رنگ یک فیلد در حالت دیتاشیت فرم

    شما میتونید از format condition استفاده کنید. مثلا اگه فیلدی دارید بنام phone :
    Me.phone.FormatConditions.Delete
    Me.phone.FormatConditions.Add(acFieldValue, acEqual, 2).BackColor = vbRed
    Me.phone.FormatConditions.Add(acFieldHasFocus).For eColor = vbGreen


    خط اول کاندیشن های قبلی رو پاک میکنه.
    خط دوم میگه اگر فیلد phone برابر 2 بود پس زمینه اون فیلد قرمز میشه.
    خط سوم هم نوع دیگه ای از شرط گذاریه و میگه هر موقع فیلد phone فوکوس گرفت رنگ متنش سبز بشه.

    میتونید کد بالا رو در رویداد form_load قرار بدید. در تمام حالتهای فرم، حتی دیتاشیت هم جواب میده...

  6. #6

    نقل قول: تغییر رنگ یک فیلد در حالت دیتاشیت فرم

    سلام.
    کد شما را در رویداد on currentنوشتم ولی Erorr میده.erorr.png
    فایل نمونه را ضمیمه کردم
    فایل های ضمیمه فایل های ضمیمه

  7. #7

    نقل قول: تغییر رنگ یک فیلد در حالت دیتاشیت فرم

    سلام
    دوستان راهنمایی کنند ممنون میشم.

  8. #8

    نقل قول: تغییر رنگ یک فیلد در حالت دیتاشیت فرم

    سلام
    اگه شرط شما اینه که اگر هر دو فیلد elan و sehat برابر true بود پس زمینۀ فیلد shomare قرمز بشه، کدتون اشتباهه. باید از کد زیر استفاده کنید:
    Private Sub Form_Load()
    Me.shomare.FormatConditions.Delete
    Me.shomare.FormatConditions.Add acExpression, , "IIf([elan]=True, IIf([sehat]=True, True, False), False)"
    Me.shomare.FormatConditions(0).BackColor = RGB(255, 0, 0)
    End Sub


    ضمنا نیازی نیست در رویداد form_current قرار بدید. البته قرار بدید هم کار میکنه ولی اصولی ترش اینه که در رویداد form_load قرار بدید. شما وقتی در رویداد form_load یک فرمت شرطی تعریف میکنید خود اکسس موقع آپدیت هر فیلد، شرطها رو چک میکنه. اگر در رویداد form_current قرار بدید به ازای هر کلیک روی یک رکورد، روی تمامی رکوردها کدها اعمال میشه و شما یک تیک و پرش مشاهده میکنید.
    در همون form_load قرار بدید بهتره...

  9. #9

    نقل قول: تغییر رنگ یک فیلد در حالت دیتاشیت فرم

    سلام
    مشکلم حل شد .البته من قصد دارم در صورت تیک نداشتنElan &sehat به رنگ قرمز تبدیل بشه که کد را بصورت زیر اصلاح کردم
    Me.shenase.FormatConditions.Add acExpression, , "IIf(Diff([date],Shamsi())>5,IIf([elan]=False,IIf([sehat]=False,True,False),False),False)"

    یه مشکل دارم
    اینکه همونطور که می بینید من در کدم تفاوت دو تاریخ رادارم که الان درست کار مینکه فقط وقتی بجای عدد5 میخوام از یک تک باکس در فرم عدد را بگیرم عمل نمیکنه.یعنی بصورت زیر نوشتم
    Me.shenase.FormatConditions.Add acExpression, , "IIf(Diff([date],Shamsi())>forms!tanzim!text0,IIf([elan]=False,IIf([sehat]=False,True,False),False),False)"

    ممنون از راهنمایی های شما

  10. #10

    نقل قول: تغییر رنگ یک فیلد در حالت دیتاشیت فرم

    والا عدد 5 رو که احتمالا یادتون رفته بذارید ولی بعنوان مثال میتونید بصورت زیر عمل کنید:
    Dim str As String
    str = "1394/11/22"
    Me.shenase.FormatConditions.Add acExpression, , "IIf(Diff([date],Shamsi())>" & str & ",IIf([elan]=False,IIf([sehat]=False,True,False),False),False)"

  11. #11

    نقل قول: تغییر رنگ یک فیلد در حالت دیتاشیت فرم

    ممنون از وقتی که میذارید وعذر خواهی که اطلاعات کم بنده باعث میشه اذیت بشید
    ولی سوال بنده این بود میشه برای شرط اختلاف تاریخ از یک تک باکس عدد را بگیریم.بجای strکه شما نوشتید وصل به تک باکس فرم بشه
    Diff([date],Shamsi())>forms!tanzim!text0
    اینجوری که نوشتم جواب نمیده.؟
    آخرین ویرایش به وسیله saeed28541 : جمعه 23 بهمن 1394 در 11:25 صبح

  12. #12

    نقل قول: تغییر رنگ یک فیلد در حالت دیتاشیت فرم

    ببینید من اون str رو نوشتم تا شما ازش ایده بگیرید. شما نمیتونید عبارت forms!tanzim!text0 رو مستقیما داخل رشتۀ فرمت بندی استفاده کنید چون ویژوال بیسیک اون رو بصورت یکسری حروف در نظر میگیره نه مسیر دسترسی به یک تکست باکس !

    شما میتونید به یکی از دو روش زیر عمل کنید:
    Dim str As String
    str = forms!tanzim!text0
    Me.shenase.FormatConditions.Add acExpression, , "IIf(Diff([date],Shamsi())>" & str & ",IIf([elan]=False,IIf([sehat]=False,True,False),False),False)"


    یا اگر میخواید بصورت مسقیم بذارید باید بصورت زیر باشه:

    Me.shenase.FormatConditions.Add acExpression, , "IIf(Diff([date],Shamsi())>" & forms!tanzim!text0 & ",IIf([elan]=False,IIf([sehat]=False,True,False),False),False)"

  13. #13

    نقل قول: تغییر رنگ یک فیلد در حالت دیتاشیت فرم

    واقعا ممنون از وقتی که صرف میکنید.
    هر دو راه را استفاده کردم ولی جواب نداد.
    فایل نمونه را میزارم اگر نگاه کنید ممنون میشم.
    فایل های ضمیمه فایل های ضمیمه

  14. #14

    نقل قول: تغییر رنگ یک فیلد در حالت دیتاشیت فرم

    خواهش میکنم.
    ببینید فرم tanzim تا وقتی بسته باشه دسترسی به اشیاء داخلش امکان پذیر نیست. اگر اول فرم tanzim رو باز کنید سپس فرم cell رو، اونوقت میبینید که برنامتون درست کار میکنه.
    اینجوری نمیتونید عدد تنظیم کنید. اون عدد 10 از کجا میاد؟ کاربر باید تعیین کنه؟

  15. #15

    نقل قول: تغییر رنگ یک فیلد در حالت دیتاشیت فرم

    خیلی ممنون.
    بله عدد را تو فرم tanzimکاربر وارد میکنه و فقط زمانی که کاربر فرم را فراخوانی کنه برای تغییرات عدد باز میشه.
    نمیدونم چقدر کاری که کردم درسته ولی فرم اصلی را مشترکا به جدول cellو time(جدولی که عدد را در خودش داره)وصل کردم و فیلد s(فیلد عدد) را در فرم اصلی cell وارد کردم که نیازی به باز بودن همیشگی فرم tanzim نباشه.
    الان درست کار میکنه.
    اگر روشی که بکار بردم اشکال داره ممنون میشم راهنمایی کنید.
    باز هم ممنون

  16. #16

    نقل قول: تغییر رنگ یک فیلد در حالت دیتاشیت فرم

    اصولی ترین کاری که میتونید بکنید اینه:

    1. جدول time شما هیچ وقت نباید بیشتر از یک رکورد داشته باشه بنابراین خصوصیت Allow Additions و Allow Deletions فرم tanzim رو برابر no بذارید تا کاربر فقط بتونه عدد 10 رو تغییر بده و امکان حذف و اضافه کردن رکورد نداشته باشه.

    2. شما در نمونه ای که در پست قبل قرار دادید باز هم کدهای فرمت بندی رو در رویداد form_current قرار دادید. در صورتی که در پستهای قبلی خدمتتون عرض کردم که بهتره این کدها رو در رویداد form_load قرار بدید. وقتی در form_current قرار بدید به همون دلیلی که قبلا عرض شد شما شاهد یک پرش و تیک خواهید بود که با بیشتر شدن اطلاعات بیشتر هم خواهد شد. بنابراین باز هم توصیه میکنم کدها رو بصورت زیر استفاده کنید.

    3. کدهای زیر رو در رویداد form_load قرار بدید:
    Dim days As Integer
    days = DFirst("s", "time")
    Me.shomare.FormatConditions.Delete
    Me.shomare.FormatConditions.Add acExpression, , "IIf(Diff([date],Shamsi())>" & days & ",IIf([elan]=False,IIf([sehat]=False,True,False),False),False)"
    Me.shomare.FormatConditions(0).BackColor = RGB(255, 0, 0)

    با ابن کد آخرین عددی که کاربر بعنوان تعداد روز در جدول time تعیین کرده مبنای محاسبه قرار میگیره. چه فرم tanzim باز باشه چه نباشه...

  17. #17

    نقل قول: تغییر رنگ یک فیلد در حالت دیتاشیت فرم

    ممنون. و تشکر

تاپیک های مشابه

  1. تغییر رنگ یک سطر در Msflexgrid
    نوشته شده توسط hamid159 در بخش برنامه نویسی در 6 VB
    پاسخ: 5
    آخرین پست: شنبه 05 مرداد 1392, 01:40 صبح
  2. سوال: امکان تغییر رنگ یک قسمت در آپشن حالت select در فرم
    نوشته شده توسط hamed-php در بخش PHP
    پاسخ: 2
    آخرین پست: شنبه 21 بهمن 1391, 19:48 عصر
  3. سوال: تغییر رنگ یک پیکسل در فرم
    نوشته شده توسط sysman_20 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: شنبه 06 تیر 1388, 12:50 عصر
  4. سوال: تغییر متن یک فیلد در GridView Asp.Net2
    نوشته شده توسط FirstLine در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: شنبه 13 مهر 1387, 10:35 صبح
  5. تغییر مقدار یک فیلد در ASP.NET محیط Visual Basic 2005
    نوشته شده توسط rahele_sa در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: چهارشنبه 20 اردیبهشت 1385, 18:43 عصر

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

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