PDA

View Full Version : حرفه ای: مشخص کردن حداقل و حداکثر در ریپورت با Conditional Formatting



rs.khoshnaw
شنبه 25 آذر 1402, 17:59 عصر
سلام دوستان
سوالی داشتم خدمتتان ممنون میشم اگه منو راهنمایی بکنید
می‌خواهم در ریپورت یک جدول اکسس، هنگام نمایش ریپورت، در میان هر سطر افقی (یک مجموعه فیلد مرتىط به هم) حداقل و حداکثر را با استفاده از Conditional Formatting رنگ حداکثر را قرمز انتخاب بکنیم، و حداقل را زرد بکنیم هرچی Expression می‌نویسم، جواب نمیده، ممنون میشم اگه منو در نوشین این کد راهنمایی کنید
متشکرم
خودم از این کد استفاده کردم جواب نداد:



=IIf([YourFieldName] = DMax("[YourFieldName]", "[YourTableName]"), "Red", "Black")

mazoolagh
شنبه 25 آذر 1402, 20:13 عصر
سلام و روز خوش
پرسش شما مبهم هست (دست کم برای من)

گویا این مقادیر ماکزیمم-مینیمم برای هر رکورد هست و نه در سطح جدول.

از گزارش ساده تون یک اسکرین شات بگیرین و روی اون نشون بدین.

بهتره که دیتا نمونه خودتون رو هم پیوست کنین.

rs.khoshnaw
شنبه 25 آذر 1402, 20:26 عصر
155146
ببخشید که سوالم قابل فهم نبود
می‌خوام برای هر ستون از داده‌ها کە برای ٢٤ ساعت یک روز است، حداقل و حداکثر آن ستون رو پیدا بکنم و بوسیله Conditional Formatting که در قسمت فرمت هستش، رنگ آنها را مشخص بکنم.
متشکرم برای جوابگویی و راهنمایی

rs.khoshnaw
شنبه 25 آذر 1402, 20:55 عصر
آخرش چت‌جی‌پی‌تی این کد را بهم داد و کار می‌کنه، ولی اگه با Conditional Formatting می‌بود آسانتر بود و برای این همه ستون کدنویسی لازم نبود
اگه دوستان پیشکسوت راهنمایی بکنند که کار رو آسانتر انجام بدهیم عالی میشد


Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
Dim minValue As Variant
Dim maxValue As Variant

' گرفتن حداقل و حداکثر مقدار از فیلدها
minValue = DMin("[FieldName]", "[YourTable]")
maxValue = DMax("[FieldName]", "[YourTable]")

' بررسی شرط و تنظیم رنگها
If Me![FieldName] = minValue Then
Me![FieldName].BackColor = RGB(255, 255, 0) ' زرد
ElseIf Me![FieldName] = maxValue Then
Me![FieldName].BackColor = RGB(255, 0, 0) ' قرمز
Else
' در صورت نبود حداکثر یا حداقل، رنگ پیش‌فرض را تنظیم کنید
Me![FieldName].BackColor = RGB(255, 255, 255) ' سفید
End If
End Sub

mazoolagh
دوشنبه 27 آذر 1402, 08:59 صبح
همین کد رو تو حلقه بذارین و حلقه رو برای تک تک فیلدها انجام بدین.
کافی هست اسم فیلدهای مورد نظر رو در یک array بریزین،
یا اگر یک ویژگی خاصی در اسم فیلدها هست از اون استفاده کنین (مثلا با حرف یا عبارت خاصی شروع یا تموم میشن، طول مشخصی دارن و ...)
البته این ویژگی فقط باید در همین فیلدهای مورد نظر باشه وگرنه همون روش اول رو باید برین.

فکر کنم بر همین اساس میتونین conditional formatting رو مشخص کنین.