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

عايزه طريقة منع قيمة حقل انه مايقبلش الصفر وقبول القيم اللى تبدأ بصفر زى 0.9


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

عندى الكود دا     وعايزه امنع حقل 

creat

انه يكون صفر انا عارفه الطريقه فى حالة وضع التصميم فى الجدول

ولكن انا عايزه اعملها من الكود فى حدث عند التغيير وليس بعد التحديث لانى لو عايزه اكتب 0.9 مثلا  بمجرد ما اكتب الصفر بتخرج رساله منع الصفر

Private Sub creat_Change()

    Dim X As Double
    Dim weight As Double
    Dim gfr As Double
    Dim age As Integer
    Dim rsltcreat As Variant
    Dim rsltGFR As Variant

    ' التحقق من أن Me.creat هو رقم
    If IsNumeric(Me.creat.Text) Then
        X = Nz(Me.creat.Text, 0)
        
        ' التحقق من أن قيمة X ليست صفرًا
        If X = 0 Then
            MsgBox "قيمة creat لا يمكن أن تكون صفرًا. يرجى إدخال قيمة صحيحة.", vbExclamation
            Me.creat = Null
            Me.txt_creat = Null
            Me.gfr = Null
            Exit Sub
        End If
        
        Me.txt_creat = X
        
        ' التحقق من وجود قيمة صحيحة للوزن
        If IsNumeric(Me.weight.Value) Then
            weight = Me.weight.Value
            age = Me.age
            
            ' حساب معدل الترشيح الكبيبي (GFR) باستخدام صيغة Cockcroft-Gault
            If Me.gender = "Male" Then
                gfr = (140 - age) * weight / (72 * X)
            Else
                gfr = (140 - age) * weight / (72 * X) * 0.85
            End If
            
            ' تعيين قيمة GFR في الحقل وتنسيقها
            Me.gfr = Format(gfr, "0.00")
        Else
            Me.gfr = Null
        End If
    Else
        Me.txt_creat = Null
        Me.gfr = Null
    End If

    ' حساب قيمة Me.creat_s
    rsltcreat = IIf(IsNumeric(Me.txt_creat), Me.txt_creat, Null)
    If Not IsNull(rsltcreat) Then
        If rsltcreat < Nz(Me.creat_l, 0) Then
            Me.creat_s = "L"
        ElseIf rsltcreat > Nz(Me.creat_h, 0) Then
            Me.creat_s = "H"
        Else
            Me.creat_s = Null
        End If
    End If

    ' حساب قيمة Me.gfr_s
    rsltGFR = IIf(IsNumeric(Me.gfr), Me.gfr, Null)
    If Not IsNull(rsltGFR) Then
        If rsltGFR < Nz(Me.gfr_l, 0) Then
            Me.gfr_s = "L"
        ElseIf rsltGFR > Nz(Me.gfr_h, 0) Then
            Me.gfr_s = "H"
        Else
            Me.gfr_s = Null
        End If
    Else
        Me.gfr_s = Null
    End If

End Sub

 

تم تعديل بواسطه safaa salem5
رابط هذا التعليق
شارك

سلام عليكم جرب المرفق هذا  وشوف اذا يحل مشكلتك ولا لا 

 

واذا بيغت تكتب 0.90 مثلا  لا تكتب صفر ابداي في النقطة . بعدين القينة العشرية  وراح تتسجل معاكي

 

القيمة0.accdb

تم تعديل بواسطه Mohameddd200300
رابط هذا التعليق
شارك

بعد اذن الاستاذ @Mohameddd200300

استخدمة مرفقك 🌹

تقديرين تضيفين اي رقم ( عند فقط التركيز ) يتحول الى المنازل 2

يكون حقل نوعة قياسي اختاري من القيم العشرية 2

طريق ثانية حقلين بحقل على 

Scrollbar 2 

وتركة لج دالتين قبل النقطة وبعد النقطة 

او تضيفين 

Len()-2

؟! او 

 Nz(Me.creat.Text, "." & me.Scrollbar)

معادلات حبيبتي 😍

حساب معدل الترشيح الكبيبي

  @safaa salem5 👍

 

test.gif

القيمة0.accdb

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

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

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



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

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

Important Information