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

استخراج قيمة من حقل نصى_ فصل الارقام عن الحروف


mom20088

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

السلام عليكم

أريد معرفة دالة لاستخراج قيمة من حقل نصى فى القاعدة المرفقةواسمه weight

مرفق قاعدة البيانات 

New Microsoft Access Database.rar

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

13 ساعات مضت, mom20088 said:

السلام عليكم

أريد معرفة دالة لاستخراج قيمة من حقل نصى فى القاعدة المرفقةواسمه weight

مرفق قاعدة البيانات 

New Microsoft Access Database.rar

وعليكم السلام ورحمة الله وبركاته

القاعدة مش فيها غير جدول فقط شوف انتا محتاج القيمة المطلوبة فين بالظبط مثلا تقرير ام نموذج ام استعلام وانشئه ثم ارفق القاعدة مرة اخرى بالتوفيق

 

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

إذا كانت النصوص الممكنة مع الأرقام هي فقط رموز 

gr

kg

ml

l

يمكنك استعمال هذا التعبير في الاستعلام

weight number: Replace(Replace(Replace(Replace([weight];"gr";"");"kg";"");"ml";"");"l";"")

وهو لاستبدال النصوص بلا شيء لتظهر الأرقام فقط

 

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

وعليكم السلام ورحمة الله

يمكنك أيضا استخدام الوظيفة التالية في استعلام

Function GetNumbers(SText)
    For i = 1 To Len(SText)
        If Not (IsNumeric(Left(SText, i))) Then
            GetNumbers = Left(SText, i - 1)
            Exit Function
        End If
    Next
End Function

 New Microsoft Access Database.zip

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

الان, أبو إبراهيم الغامدي said:

وعليكم السلام ورحمة الله

يمكنك أيضا استخدام الوظيفة التالية في استعلام


Function GetNumbers(SText)
    For i = 1 To Len(SText)
        If Not (IsNumeric(Left(SText, i))) Then
            GetNumbers = Left(SText, i - 1)
            Exit Function
        End If
    Next
End Function

 New Microsoft Access Database.zip

استاذنا ابوابراهيم الغامدي

هل هناك وظيفة ان يستخرج الارقام كلها من بين نصوص

مثلا

34HRV5T765HH545 بيكون

345765545

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

نعم أستاذ شيفان.. إليك الوظيفة التالية

Function GetNumbersOnly(SText)
    Dim Numbers
    For i = 1 To Len(SText)
        If IsNumeric(Mid(SText, i, 1)) Then
            Numbers = Numbers & Mid(SText, i, 1)
        End If
    Next
    GetNumbersOnly = Trim(Numbers)
End Function

New Microsoft Access Database.zip

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

بارك الله لك أستاذ إبراهيم

ولإثراء الموضوع وتطوير الدالة وجعلها أكثر احترافية

Function GetNumbersOnly(SText as string) as double
    Dim Numbers as string
    For i = 1 To Len(SText)
        If IsNumeric(Mid(SText, i, 1)) or mid(sText,i,1) =  "." Then
            Numbers = Numbers & Mid(SText, i, 1)
        End If
    Next
    GetNumbersOnly = cdbl(Trim(Numbers))
End Function

تم إضافة تعريف بعض المتغيرات وشرط للعلامة العشرية وتحويل ناتج الدالة لرقم من نوع دبل

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

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

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

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



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

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

Important Information