اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر (معدل)

 عندى حقل هيتكتب فيه قيمه من مقطعين عايزه بمجرد كتابة القيمة يتنقل المقطع الاقل لحقل 

low

والقيمه الاكبر لحقل

high

مع العلم ان شكل القيمه الاساسيه بيكون زى كدا

( 10 - 25)

او بدون اقواس

10 - 25

او بعلامه عشريه

( 10.4 - 25.7)

 

 

 

Screenshot_1.png

New Microsoft Access Database.accdbFetching info...

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

بالافتراض أن صيغة الرقم المكتوبة في الحقل الأول بهذا الشكل 25 - 10

Private Sub TextBox1_LostFocus()
    ' التحقق من أن مربع النص ليس فارغًا
    If Not IsEmpty(Me.TextBox1.Value) Then
        ' تحويل القيمة إلى عددين
        Dim values() As String
        values = Split(Me.TextBox1.Value, " - ")
        
        ' التحقق من أن هناك قيمتين مفصولتين بفاصلة "-"
        If UBound(values) = 1 Then
            ' تحويل القيم إلى أرقام
            Dim lowValue As Double
            Dim highValue As Double
            lowValue = CDbl(values(0))
            highValue = CDbl(values(1))
            
            ' تحديث قيم low و high في مربعي النص المستهدفين
            Me.low.Value = lowValue
            Me.high.Value = highValue
        Else
            ' رسالة تنبيه إذا كان التنسيق غير صحيح
            MsgBox "يرجى إدخال القيم بالتنسيق الصحيح (على سبيل المثال: 10 - 15)"
        End If
    End If
End Sub

حيث أن TextBox1 هو مربع النص الذي به القيمة سابقة ، وعند الخروج منه سينقل القيم تلقائيا للمربعين low و high .

لعدم توافر جهاز كمبيوتر حالياً ، أعلميني بالنتيجة.

قام بنشر
  في 11‏/12‏/2023 at 19:44, Foksh said:

بالافتراض أن صيغة الرقم المكتوبة في الحقل الأول بهذا الشكل 25 - 10

Private Sub TextBox1_LostFocus()
    ' التحقق من أن مربع النص ليس فارغًا
    If Not IsEmpty(Me.TextBox1.Value) Then
        ' تحويل القيمة إلى عددين
        Dim values() As String
        values = Split(Me.TextBox1.Value, " - ")
        
        ' التحقق من أن هناك قيمتين مفصولتين بفاصلة "-"
        If UBound(values) = 1 Then
            ' تحويل القيم إلى أرقام
            Dim lowValue As Double
            Dim highValue As Double
            lowValue = CDbl(values(0))
            highValue = CDbl(values(1))
            
            ' تحديث قيم low و high في مربعي النص المستهدفين
            Me.low.Value = lowValue
            Me.high.Value = highValue
        Else
            ' رسالة تنبيه إذا كان التنسيق غير صحيح
            MsgBox "يرجى إدخال القيم بالتنسيق الصحيح (على سبيل المثال: 10 - 15)"
        End If
    End If
End Sub

حيث أن TextBox1 هو مربع النص الذي به القيمة سابقة ، وعند الخروج منه سينقل القيم تلقائيا للمربعين low و high .

لعدم توافر جهاز كمبيوتر حالياً ، أعلميني بالنتيجة.

Expand  

 

Screenshot_3.png

Screenshot_4.png

قام بنشر

جربي اكتبي القيم بدون الأقواس ، مثلاً 

10 - 25

 

قام بنشر

انواع الحقول مختلفه

وانا عايزه القيمه الاساسيه 

MEMO

علشان المعدل الطبيعى فى بعض التحاليل مش شكل ثابت

زى كدا

Detection limit      1,5
Low titer   1,5 - 100,000
Moderate 100,000 - 1000,000
High titer    >1000,000

  في 11‏/12‏/2023 at 20:10, safaa salem5 said:

انواع الحقول مختلفه

وانا عايزه القيمه الاساسيه 

MEMO

علشان المعدل الطبيعى فى بعض التحاليل مش شكل ثابت

زى كدا

Detection limit      1,5
Low titer   1,5 - 100,000
Moderate 100,000 - 1000,000
High titer    >1000,000

Expand  

لكن 80 فى المائه بالشكل دا

(1 - 20)

  في 11‏/12‏/2023 at 20:10, safaa salem5 said:

انواع الحقول مختلفه

وانا عايزه القيمه الاساسيه 

MEMO

علشان المعدل الطبيعى فى بعض التحاليل مش شكل ثابت

زى كدا

Detection limit      1,5
Low titer   1,5 - 100,000
Moderate 100,000 - 1000,000
High titer    >1000,000

لكن 80 فى المائه بالشكل دا

(1 - 20)

Expand  

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

قام بنشر (معدل)
  في 11‏/12‏/2023 at 20:15, Foksh said:

يعني ممكن يكون المحتوى في Reference نصي ورقمي ؟؟

Expand  

اه

  في 11‏/12‏/2023 at 20:06, Foksh said:

جربي اكتبي القيم بدون الأقواس ، مثلاً 

10 - 25

 

Expand  

فعلا لما شلت الاقواس اشتغلت 

بس عايزه اشغلها فى حالة وجود الاقواس او فى حالة عدم وجودها

تم تعديل بواسطه safaa salem5
قام بنشر
  في 11‏/12‏/2023 at 20:16, safaa salem5 said:

بس عايزه اضيف الاقواس

Expand  
Private Sub TextBox1_LostFocus()
    ' التحقق من أن مربع النص ليس فارغًا
    If Not IsEmpty(Me.TextBox1.Value) Then
        ' تحويل القيمة إلى عددين بدون الأقواس
        Dim cleanedValue As String
        cleanedValue = Replace(Me.TextBox1.Value, "(", "")
        cleanedValue = Replace(cleanedValue, ")", "")
        Dim values() As String
        values = Split(cleanedValue, " - ")
        
        ' التحقق من أن هناك قيمتين مفصولتين بفاصلة "-"
        If UBound(values) = 1 Then
            ' تحويل القيم إلى أرقام
            Dim lowValue As Double
            Dim highValue As Double
            lowValue = CDbl(values(0))
            highValue = CDbl(values(1))
            
            ' تحديث قيم low و high في مربعي النص المستهدفين
            Me.low.Value = lowValue
            Me.high.Value = highValue
        Else
            ' رسالة تنبيه إذا كان التنسيق غير صحيح
            MsgBox "يرجى إدخال القيم بالتنسيق الصحيح (على سبيل المثال: 10 - 15)"
        End If
    End If
End Sub

جربي كده مع الأقواس

قام بنشر
  في 11‏/12‏/2023 at 20:33, Foksh said:
Private Sub TextBox1_LostFocus()
    ' التحقق من أن مربع النص ليس فارغًا
    If Not IsEmpty(Me.TextBox1.Value) Then
        ' تحويل القيمة إلى عددين بدون الأقواس
        Dim cleanedValue As String
        cleanedValue = Replace(Me.TextBox1.Value, "(", "")
        cleanedValue = Replace(cleanedValue, ")", "")
        Dim values() As String
        values = Split(cleanedValue, " - ")
        
        ' التحقق من أن هناك قيمتين مفصولتين بفاصلة "-"
        If UBound(values) = 1 Then
            ' تحويل القيم إلى أرقام
            Dim lowValue As Double
            Dim highValue As Double
            lowValue = CDbl(values(0))
            highValue = CDbl(values(1))
            
            ' تحديث قيم low و high في مربعي النص المستهدفين
            Me.low.Value = lowValue
            Me.high.Value = highValue
        Else
            ' رسالة تنبيه إذا كان التنسيق غير صحيح
            MsgBox "يرجى إدخال القيم بالتنسيق الصحيح (على سبيل المثال: 10 - 15)"
        End If
    End If
End Sub

جربي كده مع الأقواس

Expand  

تمام الاخيره شغاله فى حالة اقواس اوبدون اقواس

بس بيرفض ادخال نص

 

انا عايزه اتاحه ادخال نص لو سمحت

هل ممكن استخلاص الارقام فى حالة وجود نص

لو عايز اشكال الريفرانس فى حالة وجود نص انا ممكن اجمعهملك

تقريبا 3 اشكال

 

قام بنشر
  في 11‏/12‏/2023 at 20:41, safaa salem5 said:

هل ممكن استخلاص الارقام فى حالة وجود نص

Expand  

جربي التعديل الاخير

Private Sub TextBox1_LostFocus()
    ' التحقق من أن مربع النص ليس فارغًا
    If Not IsEmpty(Me.TextBox1.Value) Then
        ' التحقق من وجود الأقواس وإزالتها إن وجدت
        Dim cleanedValue As String
        cleanedValue = Me.TextBox1.Value
        If cleanedValue Like "*(*" And cleanedValue Like "*)*" Then
            cleanedValue = Replace(cleanedValue, "(", "")
            cleanedValue = Replace(cleanedValue, ")", "")
        End If
        
        ' تحويل القيمة إلى عددين
        Dim values() As String
        values = Split(cleanedValue, " - ")
        
        ' التحقق من أن هناك قيمتين مفصولتين بفاصلة "-"
        If UBound(values) = 1 Then
            ' تحويل القيم إلى أرقام
            Dim lowValue As Double
            Dim highValue As Double
            lowValue = CDbl(values(0))
            highValue = CDbl(values(1))
            
            ' تحديث قيم low و high في مربعي النص المستهدفين
            Me.low.Value = lowValue
            Me.high.Value = highValue
        Else
            ' رسالة تنبيه إذا كان التنسيق غير صحيح
            MsgBox "يرجى إدخال القيم بالتنسيق الصحيح (على سبيل المثال: 10 - 15)"
        End If
    End If
End Sub

 

قام بنشر

هو شغال تمام بس مش بيسمح بادخال النصوص بسبب الرساله دى


        Else
            ' رسالة تنبيه إذا كان التنسيق غير صحيح
            MsgBox "يرجى إدخال القيم بالتنسيق الصحيح (على سبيل المثال: 10 - 15)"
        End If
    End If
End Sub
قام بنشر
  في 11‏/12‏/2023 at 21:34, safaa salem5 said:

لو صعبه موضوع النص مع الرقم خليه بكره تفكر براحتك

Expand  

هي الفكرة مش بصعوبتها ، بقدر ما هي في كمية المشاكل اللي ممكن تحصل أثناء إدخال البيانات .

غداً إن كان في العمر بقية نشوف الموضوع 

  • Like 1
قام بنشر

أخت @safaa salem5 ، تفضلي هذا التعديل الأخير على الكود ، في Reference

Private Sub reference_LostFocus()
If Not IsEmpty(Me.reference.Value) Then
    Dim inputText As String
    Dim i As Integer
    Dim currentChar As String
    Dim currentNumber As String
    Dim isNumberStarted As Boolean
    Dim numbersFound As Integer
    
    inputText = Me.reference.Value
    currentNumber = ""
    isNumberStarted = False
    numbersFound = 0
    
    For i = 1 To Len(inputText)
        currentChar = Mid(inputText, i, 1)
        
        If IsNumeric(currentChar) Then
            currentNumber = currentNumber & currentChar
            isNumberStarted = True
        ElseIf isNumberStarted Then
            numbersFound = numbersFound + 1
            If numbersFound = 1 Then
                Me.low.Value = currentNumber
            ElseIf numbersFound = 2 Then
                Me.high.Value = currentNumber
                Exit For
            End If
            currentNumber = ""
            isNumberStarted = False
        End If
    Next i
    
    If Len(Me.low.Value) = 0 Or Len(Me.high.Value) = 0 Then
        MsgBox "Error: No valid numeric values found"
    End If
End If
    End Sub

طبعاً هذا الكود بالإفتراض أن القيم الرقمية هي أرقام صحيحة وليست كسرية !

  • Like 1
قام بنشر
  في 12‏/12‏/2023 at 17:51, Foksh said:

أخت @safaa salem5 ، تفضلي هذا التعديل الأخير على الكود ، في Reference

Private Sub reference_LostFocus()
If Not IsEmpty(Me.reference.Value) Then
    Dim inputText As String
    Dim i As Integer
    Dim currentChar As String
    Dim currentNumber As String
    Dim isNumberStarted As Boolean
    Dim numbersFound As Integer
    
    inputText = Me.reference.Value
    currentNumber = ""
    isNumberStarted = False
    numbersFound = 0
    
    For i = 1 To Len(inputText)
        currentChar = Mid(inputText, i, 1)
        
        If IsNumeric(currentChar) Then
            currentNumber = currentNumber & currentChar
            isNumberStarted = True
        ElseIf isNumberStarted Then
            numbersFound = numbersFound + 1
            If numbersFound = 1 Then
                Me.low.Value = currentNumber
            ElseIf numbersFound = 2 Then
                Me.high.Value = currentNumber
                Exit For
            End If
            currentNumber = ""
            isNumberStarted = False
        End If
    Next i
    
    If Len(Me.low.Value) = 0 Or Len(Me.high.Value) = 0 Then
        MsgBox "Error: No valid numeric values found"
    End If
End If
    End Sub

طبعاً هذا الكود بالإفتراض أن القيم الرقمية هي أرقام صحيحة وليست كسرية !

Expand  

طيب الارقام الكسريه نضيفها ازاى

  في 12‏/12‏/2023 at 18:01, safaa salem5 said:

طيب الارقام الكسريه نضيفها ازاى

Expand  

فى حالة ارقام كسريه بينقلها كدا

Screenshot_5.png

قام بنشر

:blink:

كنت متوقع ، على العموم تفضلي , ومرفق فيديو للتوضيح

Private Sub reference_LostFocus()
If Not IsEmpty(Me.reference.Value) Then
    Dim inputText As String
    Dim i As Integer
    Dim currentChar As String
    Dim currentNumber As String
    Dim isNumberStarted As Boolean
    Dim numbersFound As Integer
    Dim hasDecimal As Boolean
    
    inputText = Me.reference.Value
    currentNumber = ""
    isNumberStarted = False
    numbersFound = 0
    hasDecimal = False
    For i = 1 To Len(inputText)
        currentChar = Mid(inputText, i, 1)
        
        If IsNumeric(currentChar) Or currentChar = "." Then
            If currentChar = "." Then
                If hasDecimal Then
                    MsgBox "Error: Invalid numeric format"
                    Exit Sub
                Else
                    hasDecimal = True
                End If
            End If
            currentNumber = currentNumber & currentChar
            isNumberStarted = True
        ElseIf isNumberStarted Then
            numbersFound = numbersFound + 1
            If numbersFound = 1 Then
                Me.low.Value = currentNumber
            ElseIf numbersFound = 2 Then
                Me.high.Value = currentNumber
                Exit For
            End If
            currentNumber = ""
            isNumberStarted = False
            hasDecimal = False
        End If
    Next i
    
    If Len(Me.low.Value) = 0 Or Len(Me.high.Value) = 0 Then
        MsgBox "Error: No valid numeric values found"
    End If
End If
    End Sub

 

 

2023_12_12_210437.zipFetching info...

  • Haha 1
قام بنشر

بص كمان فى مشكله بسيطه لازم القوس الاخير يتكتب غير كدا الرقم التانى مش بينزل 

تقسيم حقل الى حقلين.gif

  • تمت الإجابة
قام بنشر

أتمنى أن يكون هذا طلبك :rol:

 

Private Sub reference_LostFocus()
If Not IsEmpty(Me.reference.Value) Then
    Dim inputText As String
    Dim i As Integer
    Dim currentChar As String
    Dim currentNumber As String
    Dim isNumberStarted As Boolean
    Dim numbersFound As Integer
    Dim hasDecimal As Boolean
    
    inputText = Replace(Me.reference.Value, "(", "")
    inputText = Replace(inputText, ")", "")
    
    currentNumber = ""
    isNumberStarted = False
    numbersFound = 0
    hasDecimal = False
    
    For i = 1 To Len(inputText)
        currentChar = Mid(inputText, i, 1)
        
        If IsNumeric(currentChar) Or currentChar = "." Then
            If currentChar = "." Then
                If hasDecimal Then
                    MsgBox "Error: Invalid numeric format"
                    Exit Sub
                Else
                    hasDecimal = True
                End If
            End If
            currentNumber = currentNumber & currentChar
            isNumberStarted = True
        ElseIf isNumberStarted Then
            numbersFound = numbersFound + 1
            If numbersFound = 1 Then
                Me.low.Value = currentNumber
            ElseIf numbersFound = 2 Then
                Me.high.Value = currentNumber
                Exit For
            End If
            currentNumber = ""
            isNumberStarted = False
            hasDecimal = False
        End If
    Next i
    
    If numbersFound = 1 Then
        Me.high.Value = currentNumber
    End If
    
    If Len(Me.low.Value) = 0 Or Len(Me.high.Value) = 0 Then
        MsgBox "Error: No valid numeric values found"
    End If
End If
    End Sub

هذا الكود يدعم الأقواس أو بدونها ، ويدعم الأرقام الصحيحة والأرقام العشرية ، ويدعم ان كان في الحقل Reference حروف نصية أو لا .

قام بنشر
  في 12‏/12‏/2023 at 18:32, Foksh said:

أتمنى أن يكون هذا طلبك :rol:

 

Private Sub reference_LostFocus()
If Not IsEmpty(Me.reference.Value) Then
    Dim inputText As String
    Dim i As Integer
    Dim currentChar As String
    Dim currentNumber As String
    Dim isNumberStarted As Boolean
    Dim numbersFound As Integer
    Dim hasDecimal As Boolean
    
    inputText = Replace(Me.reference.Value, "(", "")
    inputText = Replace(inputText, ")", "")
    
    currentNumber = ""
    isNumberStarted = False
    numbersFound = 0
    hasDecimal = False
    
    For i = 1 To Len(inputText)
        currentChar = Mid(inputText, i, 1)
        
        If IsNumeric(currentChar) Or currentChar = "." Then
            If currentChar = "." Then
                If hasDecimal Then
                    MsgBox "Error: Invalid numeric format"
                    Exit Sub
                Else
                    hasDecimal = True
                End If
            End If
            currentNumber = currentNumber & currentChar
            isNumberStarted = True
        ElseIf isNumberStarted Then
            numbersFound = numbersFound + 1
            If numbersFound = 1 Then
                Me.low.Value = currentNumber
            ElseIf numbersFound = 2 Then
                Me.high.Value = currentNumber
                Exit For
            End If
            currentNumber = ""
            isNumberStarted = False
            hasDecimal = False
        End If
    Next i
    
    If numbersFound = 1 Then
        Me.high.Value = currentNumber
    End If
    
    If Len(Me.low.Value) = 0 Or Len(Me.high.Value) = 0 Then
        MsgBox "Error: No valid numeric values found"
    End If
End If
    End Sub

هذا الكود يدعم الأقواس أو بدونها ، ويدعم الأرقام الصحيحة والأرقام العشرية ، ويدعم ان كان في الحقل Reference حروف نصية أو لا .

Expand  

انا ممتنه جدا لحضرتك تسلم على كل لحظه من وقتك ربنا يبارك فى عمرك

  • Thanks 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information