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

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

قام بنشر
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

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