اذهب الي المحتوي
أوفيسنا

لدينا مربع نص ومطلوب ان يظهر الكلام فيه بخط سميك عندما يحتوي علي اي رقم قيمته اكبر من 5 مع العلم انه سيحتوي علي اكثر من رقم


elghoultk

الردود الموصى بها

اعمل تنسيق شرطي للخلية أخي العزيز ..

بحيث لوكان قيمة مربع النص >5 يكون الخط سميك ..

هذا حسب ما فهمته على فرض أن محتوى الخلية كله أرقام ، إلا إن كان قصدك أن محتوى الخلية يكون عبارة عن نص هكذا = ( 15 - 20) ؟ فالحل سيكون مختلف .

للتكرم بالتوضيح .

  • Like 2
رابط هذا التعليق
شارك

16 ساعات مضت, elghoultk said:

لدينا مربع نص ومطلوب ان تظهر الجمله فيه بخط سميك عندما يحتوي علي اي رقم قيمته اكبر من 5 مع العلم انه سيحتوي علي اكثر من رقم مثال ( 15 - 20)

جرب هذا مع تغيير بيانات الكود حسب بيانات النموذج لديك ......

Dim strnum As String
Dim iCounter As Integer
Dim arrnum() As String
Dim Rep_lace As String

strnum = Me.kan
Rep_lace = Replace(strnum, "(", "")
Rep_lace = Replace(Rep_lace, ")", "")
arrnum = Split(Rep_lace, "-")

For iCounter = LBound(arrnum) To UBound(arrnum)
    If arrnum(iCounter) > 5 Then
        With Me.kan
        .FontBold = True
        .ForeColor = 255
        End With
    Else
        With Me.kan
        .FontBold = False
        .ForeColor = 0
        End With
    End If
Next

 

  • Like 5
  • Thanks 1
رابط هذا التعليق
شارك

هذا الحل الذي أعددته في حال أن الأخ @elghoultk قال أن حقل النص بهذه الطريقة ( 15 - 20) ..

ولكن قد سبقني بها عكاشة @kanory 😅

 

الحل أن تضع هذه الدالة في محرر الأكواد :

Public Sub Check(FiledName As Control)
Dim X As Integer
Dim Count As Integer
Dim TL As Integer
Dim L As String

TL = Len(FiledName)
 
For X = 1 To TL
L = Mid(FiledName, X, 1)
    
    If IsNumeric(L) = True Then
        If L > 5 Then
            Count = Count + 1
        End If
    End If
Next X
    
If Count > 0 Then
FiledName.FontBold = True
FiledName.ForeColor = vbRed
Else
FiledName.FontBold = False
FiledName.ForeColor = vbBlack
End If
End Sub

ثم تناديها عند حدث بعد التغيير لمربع النص + وكذلك عند حدث في الحالي للنموذج .. هكذا :  ( ولا تنسى تغيير اسم مربع النص ) 🙂 

Private Sub Form_Current()
If IsNull(Me.NumberxTxt) Then Exit Sub
Check NumberxTxt
End Sub

Private Sub NumberxTxt_AfterUpdate()
Check NumberxTxt
End Sub

والنتيجة عند عدم وجود رقم أكبر من الخمسة :

image.png.9fbfd099089f1867252c50862d040d02.png

وعند تحقق المطلوب :

  image.png.34da0eda5e6f3b58cb60ab0e3aba3394.png

مرفق المثال :

 

الرقم 5.accdb

  • Like 3
  • Thanks 1
رابط هذا التعليق
شارك

شكرا جزيلا لمروركم الكريم

ولكن ياصديقي @Moosak الشرط يتحقق فقط في عندما يكون هناك ارقام مثل 6  و 7 و 8 و 9 ولكن مع الاعداد الاكبر من 9 مثل 10 او اكثر والتي لاتحتوي علي الارقام سالفت الذكر لا يتحقق الشرط

فما العمل

 

رابط هذا التعليق
شارك

6 ساعات مضت, elghoultk said:

ولكن مع الاعداد الاكبر من 9 مثل 10 او اكثر والتي لاتحتوي علي الارقام سالفت الذكر لا يتحقق الشرط

تم تعديل الكود :

Public Sub Check(FiledName As Control)

Dim X As Integer
Dim Count As Integer
Dim TL As Integer
Dim L, M As String

TL = Len(FiledName)
 
For X = 1 To TL
L = Mid(FiledName, X, 1)
M = Mid(FiledName, X, 2)
    
    If IsNumeric(L) = True Then
        If L > 5 Then
            Count = Count + 1
        End If
    End If
    If IsNumeric(M) = True Then
        If M > 5 Then
            Count = Count + 1
        End If
    End If
Next X
    
If Count > 0 Then
    FiledName.FontBold = True
    FiledName.ForeColor = vbRed
Else
    FiledName.FontBold = False
    FiledName.ForeColor = vbBlack
End If
End Sub

والآن تتعرف عليها بفضل الله ..

image.png.8559073ba03a01c54cc1611eaddaf644.png

المرفق :

الرقم 5.accdb

  • Like 3
رابط هذا التعليق
شارك

الغالي @Moosak

كل شئ يعمل بكفاءة

بفضل الله ثم بفضل مجهودك الرائع

ولكن اذا اردنا اي تصبح ال Backcolor باللون الجراي اذا تحقق الشرط فماذا نضيف للكود؟

 

رابط هذا التعليق
شارك

12 دقائق مضت, elghoultk said:

الغالي @Moosak

كل شئ يعمل بكفاءة

بفضل الله ثم بفضل مجهودك الرائع

ولكن اذا اردنا اي تصبح ال Backcolor باللون الجراي اذا تحقق الشرط فماذا نضيف للكود؟

 

بعد اذن اساتذتى الكرام

فى الكود غير السطر :wink2:

FiledName.ForeColor = vbRed

الى 

FiledName.ForeColor = vbGrayText

 

  • Like 2
  • Thanks 1
رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information