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

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

قام بنشر

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

لدي حقل فى اكسيس باسم  maal داخل جدول باسم TAGE

الحقل يحتوى على بيانات على سبيل المثال هكذا  (  025365396966  محمد سيد حسين )

اريد استعلام يقوم  بانشاء جدول يستخرج رقم الهاتف فى حقل مستقل وباقى الاسم فى حقل مستقل اخر

قام بنشر

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

مثل هذه

'فصل الحروف
Public Function textNum(fildHrfRqm As String)
Dim lets, lets2, lets3
Dim i, r As Integer
r = Len(fildHrfRqm)
For i = 1 To r
lets = Mid(fildHrfRqm, i, 1)
If IsNumeric(lets) Then
Else
lets3 = lets3 & lets
End If
Next
textNum = lets3
End Function

'فصل الارقام
Public Function Numtext(fildHrfRqm As String)
Dim lets, lets2, lets3
Dim i, r As Integer
r = Len(fildHrfRqm)
For i = 1 To r
lets = Mid(fildHrfRqm, i, 1)
If IsNumeric(lets) Then
lets2 = lets2 & lets
End If
Next
Numtext = lets2
End Function

ولإنشاء جدول جديد يمكنك استخدام الاستعلام نفسه

انظر المرفق

فصل الحروف عن الارقام دالة2 .rar

  • Like 1
قام بنشر

مشاركة مع معلمي الفاضل ..

جرب هذا الاستعلام وشوف النتيجة

SELECT maal, Trim(Left(Trim(maal), InStr(Trim(maal) & " ", " ") - 1)) AS الرقم, Trim(Mid(Trim(maal), InStr(Trim(maal), " ") + 1)) AS الاسم
FROM TAGE;

 

قام بنشر

وهاتان دالتان كتبتهم من زمان 🙂🌷 :
 

*دالة تفصل الأرقام عن الحروف ودالة تفصل الحروف عن الأرقام*

*شرح الكود:*
الدالة تستخرج الأرقام من جمله تحتوي على أرقام وحروف ..
مثال1 : " أسماء الله 99 أسما " - النتيجة: 99
مثال2 : " أسماء الله 99 أسما " - النتيجة:  أسماء الله أسما

*الكود:*
'==========================================(لاستخراج الأرقام فقط من النص)
Public Function ExtractNumbersFromText(strText As String)
Dim x As Long
Dim L As String
Dim r As String

For x = 1 To Len(strText)

    L = Mid(strText, x, 1)
    If IsNumeric(L) Then
    r = r & L
    End If
Next x
ExtractNumbersFromText = Trim(r)
End Function

'==========================================(ولإزالة الأرقام من النص والإبقاء على الحروف فقط)
Public Function RemoveNumbersFromText(strText As String)
Dim x As Long
Dim L As String
Dim r As String

For x = 1 To Len(strText)

    L = Mid(strText, x, 1)
    If Not IsNumeric(L) Then
    r = r & L
    End If
Next x
RemoveNumbersFromText = Trim(r)
End Function

*طريقة الاستدعاء (الاستخدام):*
ExtractNumbersFromText("Your text with 123456 Here")

RemoveNumbersFromText("Your text with 123456 Here")

*مكتبة الأكواد*

 

  • Like 1
قام بنشر

أيضاً كإضافة عن الإستعلام السابق ..

جرب هذا الإستعلام أيضاً لإنشاء جدول جديد ، واضافة القيم فيه بعد فصلها ..

SELECT maal, IIF(IsNumeric(Left(Trim(maal), 1)) = True,
        Trim(Left(Trim(maal), InStr(Trim(maal) & " ", " ") - 1)),
        Trim(Mid(Trim(maal), InStr(Trim(maal), " ") + 1))
    ) AS الرقم, IIF(IsNumeric(Left(Trim(maal), 1)) = True,
        Trim(Mid(Trim(maal), InStr(Trim(maal), " ") + 1)),
        Trim(Left(Trim(maal), InStr(Trim(maal) & " ", " ") - 1))
    ) AS الاسم INTO TAGE_F
FROM TAGE
WHERE maal Is Not Null;

 

  • 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.

×
×
  • اضف...

Important Information