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

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

قام بنشر

 لدى عمودين فى جدول الحقل الاول فيه بيانات  الدرجه  وهى ( الاولى تنميه اداريه ( ب ) )  اريد ان  الحقل الثانى ياخل كلمة الاولى فقد من الحقل السابق  هل ممكن  ولكم جزيل الشكر 

قام بنشر

جرب هذا التحديث مع تعديل اسماء الحقول لديك

UPDATE اسم_الجدول
SET اسم_الحقل_الثاني = Left([اسم_الحقل_الأول], InStr([اسم_الحقل_الأول], " ") - 1);

 

قام بنشر

لو تقصد الحقل الثاني محسوب بالجدول  مايصير  ..........  أما من خلال نموذج فممكن وكما اشار اليك استاذ @ناقل  ..................... تفضل الشرح والمرفق . ووافنا بالرد .:fff:

                                                                                                                image.gif.59ac7562937f493618db572ea077707b.gif

ahmad2026.rar

  • Like 1
قام بنشر

اشكركم على سرعة الرد نعم هو المطلوب ولاكن اريد بعض التحديثات عليها 

  محتاج انها تكون بدون زر   تعمل من تلقاء نفسها  عند تحديث حقل الدرجه 

لكم جزيل الشكر 

 

قام بنشر
12 ساعات مضت, ahmad2026 said:

  محتاج انها تكون بدون زر   تعمل من تلقاء نفسها  عند تحديث حقل الدرجه 

بعد إذن الآخ @kkhalifa1960 قمت بتعديل المثال ليقوم بتنفيذ الطلب

ولكن لدي ملاحظة مهمة كل الحلول الواردة هنا تتعامل على أن العبارة المراد إجتزاؤها تتكون من كلمة واحدة بمعنى إذا كانت الدرجات مابين (الأولى والعاشرة) فهذه الحلول ستفي بالغرض ولكن لو كانت هناك درجات أعلى مثل (الحادية عشر أو السابعة عشر) فهذا يحتاج لمعالجة أخرى لهذا وجب التنويه

تحياتي

ahmad2026.rar

  • Like 1
قام بنشر
منذ ساعه, منتصر الانسي said:

العبارة المراد إجتزاؤها تتكون من كلمة واحدة بمعنى إذا كانت الدرجات مابين (الأولى والعاشرة) فهذه الحلول ستفي بالغرض ولكن لو كانت هناك درجات أعلى مثل (الحادية عشر أو السابعة عشر) فهذا يحتاج لمعالجة أخرى لهذا وجب التنويه

استاذنا @منتصر الانسي طبعاً لا تفوتنا وبما ان الطالب مصري فالدرجات بمصر أقل من أوتساوي التاسعة على ما أذكر .   ولو الطالب عاوز انا حاضر ..................

 

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

محتاج انها تكون بدون زر   تعمل من تلقاء نفسها  عند تحديث حقل الدرجه

تفضل .  الشرح والمرفق بعد التعديل .ووافني بالرد.:fff:      image.gif.b26effb0d988e2abb8acaeb17e2b93f8.gif

ahmad2026-111.rar

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

عظيم لكم جزيل الشكر والاحترام   فعلان  خير الناس انفعهم للناس

 

ممكن اطمع فى شرح لداله  like  مع الامثله وجزاك الله خيرا 

تم تعديل بواسطه ahmad2026
قام بنشر
13 ساعات مضت, ahmad2026 said:

ممكن اطمع فى شرح لداله  like  مع الامثله وجزاك الله خيرا 

* وظيفة LIKE

  • تستخدم لمقارنة النصوص مع نمط (Pattern) معيّن.

  • النمط يحتوي على رموز خاصة (Wildcards) تسمح بالبحث الجزئي أو المرن داخل النصوص.

                                                                             image.png.50a390022107ad7a18154abbb1a3c08d.png

* أمثلة عملية في VBA

Dim txt As String
txt = "Mahdi"

' مثال 1: البحث عن نص يبدأ بـ "M"
If txt Like "M*" Then
    MsgBox "يبدأ بحرف M"
End If

' مثال 2: نص مكون من 5 أحرف بالضبط
If txt Like "?????" Then
    MsgBox "النص يحتوي على 5 أحرف"
End If

' مثال 3: نص ينتهي بـ "di"
If txt Like "*di" Then
    MsgBox "ينتهي بـ di"
End If

' مثال 4: نص يحتوي على رقمين متتاليين
Dim code As String
code = "AB12"
If code Like "*##" Then
    MsgBox "ينتهي برقمين"
End If

 

  • Like 2
قام بنشر
6 ساعات مضت, kkhalifa1960 said:
  • تستخدم لمقارنة النصوص مع نمط (Pattern) معيّن.

  • النمط يحتوي على رموز خاصة (Wildcards) تسمح بالبحث الجزئي أو المرن داخل النصوص.

:excl:   معلومة جديدة علي .. هل لك أن توضحها لي اكثر أستاذي الفاضل :smile:

قام بنشر

جزاك الله خير ولكن لو قاعدة بيانات بها امثله اكثر  وذلك للاحتياج الشديد لها فى العمل 

قام بنشر (معدل)
5 ساعات مضت, Foksh said:
12 ساعات مضت, kkhalifa1960 said:
  • تستخدم لمقارنة النصوص مع نمط (Pattern) معيّن.

  • النمط يحتوي على رموز خاصة (Wildcards) تسمح بالبحث الجزئي أو المرن داخل النصوص.

:excl:   معلومة جديدة علي .. هل لك أن توضحها لي اكثر أستاذي الفاضل :smile:

* ما معنى "النمط"؟

النمط هو شكل عام (Template) تضعه لتصف نوع النص الذي تبحث عنه. بدل ما تقول "أريد كلمة اسمها بالضبط Ali"، تقول: "أريد أي كلمة تبدأ بـ A وتنتهي بـ i". هنا تدخل الرموز الخاصة (Wildcards) لتسمح بالمرونة.

 

* الرموز (Wildcards) بالتفصيل

  • *: أي عدد من الأحرف (حتى لو صفر).

    • "A*" يطابق "Ali", "Ahmed", "A".

  • ?: حرف واحد فقط.

    • "A?i" يطابق "Ali" و"Ami" لكن لا يطابق "Azii".

  • #: رقم واحد فقط (0–9).

    • "##" يطابق "12" أو "45".

  • [ ]: مجموعة أحرف مسموحة.

    • "A[bc]d" يطابق "Abd" أو "Acd".

  • [! ]: نفي المجموعة.

    • "A[!0-9]*" يطابق أي نص يبدأ بـ A ولا يليه رقم.

 

* مثال عملي في Access SQL

SELECT * 
FROM Employees
WHERE Name LIKE "M*";

هذا يسترجع كل الموظفين الذين تبدأ أسماؤهم بحرف M.

* مثال عملي في VBA

Dim txt As String
txt = "Mahdi"

If txt Like "M*" Then
    MsgBox "النص يبدأ بحرف M"
End If

If txt Like "*di" Then
    MsgBox "النص ينتهي بـ di"
End If

If txt Like "?????" Then
    MsgBox "النص مكون من 5 أحرف بالضبط"
End If

* الفكرة الجوهرية

  • أنت لا تبحث عن تطابق كامل، بل عن تطابق مع شكل عام.

  • النمط هو "قالب" يصف ما تريده، والـ Wildcards هي الأدوات التي تجعل القالب مرنًا

واليك خريطة ذهنية

                                                    image.png.8c99d087efa4e394c895c3174960b272.png

تم تعديل بواسطه kkhalifa1960
  • Like 1
قام بنشر
7 ساعات مضت, kkhalifa1960 said:

واليك خريطة ذهنية

ههههههه صعبتها علي يا رجل  :biggrin:

قام بنشر
6 ساعات مضت, Foksh said:
13 ساعات مضت, kkhalifa1960 said:

واليك خريطة ذهنية

ههههههه صعبتها علي يا رجل  :biggrin:

على سبيل الدعابة فقط .:fff:

  • Haha 1
قام بنشر
17 ساعات مضت, ahmad2026 said:

جزاك الله خير ولكن لو قاعدة بيانات بها امثله اكثر  وذلك للاحتياج الشديد لها فى العمل 

اكتب الحالات  وانا حاضر لك انا والاخوة في مشاركة جديدة .  ولاتنسى تضغط  تمت الاجابة على حلي لطلبك الاصلي بهذه المشاركة .:fff:

قام بنشر
في 28‏/3‏/2026 at 03:06, Foksh said:

:excl:   معلومة جديدة علي .. هل لك أن توضحها لي اكثر أستاذي الفاضل :smile:

أنظر هنا أيضا 🙂 :

 

 

قام بنشر
54 دقائق مضت, Moosak said:

أنظر هنا أيضا 🙂 :

 

 

ليس بغريب على الأستاذ جعفر هذا النور الثقافي ، والبساطة الجميلة في الشرح المصحوب بأمثلة توضيحية بسيطة..

 

شكراً لك مهندسنا الغالي على الإشارة له .

 

لكم الأجر والثواب إن شاء الله 🤗

قام بنشر
20 ساعات مضت, Foksh said:
في 28‏/3‏/2026 at 07:01, kkhalifa1960 said:

واليك خريطة ذهنية

ههههههه صعبتها علي يا رجل  :biggrin:

مش عارف الـ : Demo  ده هيصعب الموضوع اكثر واللا ايه حاولت جمع كل ما خطر على بالى فيما يخص حروف البدل 

Option Compare Database
Option Explicit

Private Function L1(Optional n As Integer = 50) As String
    L1 = String(n, "-")
End Function

Private Function L2(Optional n As Integer = 50) As String
    L2 = String(n, "=")
End Function

' ============================================================
'  STEP 0 : إنشاء الجداول التجريبية (شغلها مرة واحدة فقط)
' ============================================================
Public Sub Create_Demo_Tables()
    If MsgBox("هيتم مسح الجداول القديمة، متأكد؟", vbYesNo) = vbNo Then Exit Sub
    Dim db  As DAO.Database
    Dim ins As String
    Dim i   As Integer
    Dim emp As Variant
    Dim prd As Variant

    Set db = CurrentDb

    On Error Resume Next
    db.Execute "DROP TABLE Employees_Demo"
    db.Execute "DROP TABLE Products_Demo"
    On Error GoTo 0

    db.Execute "CREATE TABLE Employees_Demo (" & _
               "EmpID  AUTOINCREMENT PRIMARY KEY, " & _
               "EmpName TEXT(50), Email TEXT(80), " & _
               "Phone  TEXT(20),  City  TEXT(40))"

    db.Execute "CREATE TABLE Products_Demo (" & _
               "ProdID   AUTOINCREMENT PRIMARY KEY, " & _
               "ProdName TEXT(60), Code TEXT(10), " & _
               "Category TEXT(30))"

    ' -- بيانات الموظفين --------------------------------------
    ins = "INSERT INTO Employees_Demo (EmpName,Email,Phone,City) VALUES "
    emp = Array( _
        "('Mohamed Ali'   ,'m.ali@company.com'   ,'010-1234567','Cairo'      )", _
        "('Mona Samy'     ,'mona.s@company.com'  ,'011-2345678','Alexandria' )", _
        "('Ahmed Hassan'  ,'a.hassan@company.com','012-3456789','Giza'       )", _
        "('Sara Ahmed'    ,'sara.a@company.com'  ,'010-4567890','Cairo'      )", _
        "('Omar Khaled'   ,'omar.k@company.com'  ,'015-5678901','Mansoura'   )", _
        "('Layla Nour'    ,'l.nour@company.com'  ,'011-6789012','Alexandria' )", _
        "('Mariam Fady'   ,'mariam@company.com'  ,'010-7890123','Cairo'      )", _
        "('Youssef Basel' ,'y.basel@company.com' ,'012-8901234','Giza'       )", _
        "('Aya Mohamed'   ,'aya.m@company.com'   ,'015-9012345','Mansoura'   )", _
        "('Khaled Samy'   ,'k.samy@company.com'  ,'010-0123456','Cairo'      )", _
        "('Amira Hassan'  ,'amira.h@company.com' ,'011-1122334','Alexandria' )", _
        "('Rami Adel'     ,'rami.a@company.com'  ,'012-2233445','Giza'       )", _
        "('Dina Nabil'    ,'dina.n@company.com'  ,'015-3344556','Suez'       )", _
        "('Sami Waly'     ,'sami.w@company.com'  ,'010-4455667','Cairo'      )", _
        "('Hana Emad'     ,'hana.e@company.com'  ,'011-5566778','Alexandria' )")
    For i = LBound(emp) To UBound(emp)
        db.Execute ins & emp(i)
    Next i

    ' -- بيانات المنتجات --------------------------------------
    ins = "INSERT INTO Products_Demo (ProdName,Code,Category) VALUES "
    prd = Array( _
        "('Laptop Pro 15'      ,'LP-001','Electronics' )", _
        "('Laptop Air 13'      ,'LA-002','Electronics' )", _
        "('Samsung Galaxy S24' ,'SG-003','Phones'      )", _
        "('Samsung Galaxy A54' ,'SG-004','Phones'      )", _
        "('Apple iPhone 15'    ,'AI-005','Phones'      )", _
        "('50% Discount Card'  ,'DC-006','Offers'      )", _
        "('Headphone Bass Pro' ,'HP-007','Audio'       )", _
        "('Monitor 27 inch'    ,'MO-008','Electronics' )", _
        "('Keyboard Wireless'  ,'KB-009','Accessories' )", _
        "('Mouse Optical Pro'  ,'MS-010','Accessories' )")
    For i = LBound(prd) To UBound(prd)
        db.Execute ins & prd(i)
    Next i

    Debug.Print L2(50)
    Debug.Print "  تم إنشاء الجداول وإدخال البيانات بنجاح ?"
    Debug.Print L2(50)
    Set db = Nothing
End Sub

' ============================================================
'  دالة مساعدة : طباعة نتائج أي Recordset كجدول
' ============================================================
Private Sub PrintRS(rs As DAO.Recordset, sTitle As String, sSQL As String)
    Dim i      As Integer
    Dim sRow   As String
    Dim iCount As Integer

    Debug.Print ""
    Debug.Print "  " & sTitle
    Debug.Print "  SQL : " & sSQL
    Debug.Print "  " & L1(50)

    '  أسماء الأعمدة
    sRow = "  "
    For i = 0 To rs.fields.Count - 1
        sRow = sRow & PadRight(rs.fields(i).name, 22)
    Next i
    Debug.Print sRow
    Debug.Print "  " & String(rs.fields.Count * 22, "-")

    '  الصفوف
    iCount = 0
    Do While Not rs.EOF
        sRow = "  "
        For i = 0 To rs.fields.Count - 1
            sRow = sRow & PadRight(Nz(rs.fields(i).Value, "NULL"), 22)
        Next i
        Debug.Print sRow
        iCount = iCount + 1
        rs.MoveNext
    Loop

    Debug.Print "  " & L1(50)
    Debug.Print "  >>-->  عدد النتائج : " & iCount & " صف"
End Sub

'  دالة محاذاة النص
Private Function PadRight(s As Variant, n As Integer) As String
    Dim str As String
    str = CStr(Nz(s, "NULL"))
    If Len(str) >= n Then
        PadRight = Left(str, n - 1) & " "
    Else
        PadRight = str & Space(n - Len(str))
    End If
End Function

' ============================================================
'  SECTION 1 :  * Wildcard  (يعادل % في SQL Server)
' ============================================================
Public Sub Section1_Star_Wildcard()
    Dim db  As DAO.Database
    Dim rs  As DAO.Recordset
    Dim sql As String

    Set db = CurrentDb
    Debug.Print "": Debug.Print L2(55)
    Debug.Print "  SECTION 1 :  * Wildcard  —  أي عدد من الحروف"
    Debug.Print "  ملاحظة : * في Access = % في SQL Server"
    Debug.Print L2(55)

    sql = "SELECT EmpID,EmpName,Email,City FROM Employees_Demo WHERE EmpName LIKE 'M*' ORDER BY EmpName"
    Set rs = db.OpenRecordset(sql)
    Call PrintRS(rs, "[1-A]  EmpName LIKE 'M*'   <<--<   يبدأ الاسم بحرف M", sql): rs.Close

    sql = "SELECT EmpID,EmpName,City FROM Employees_Demo WHERE EmpName LIKE '*Hassan' ORDER BY EmpName"
    Set rs = db.OpenRecordset(sql)
    Call PrintRS(rs, "[1-B]  EmpName LIKE '*Hassan'   <<--<   ينتهي بـ Hassan", sql): rs.Close

    sql = "SELECT EmpID,EmpName,Email FROM Employees_Demo WHERE EmpName LIKE '*Ali*' ORDER BY EmpName"
    Set rs = db.OpenRecordset(sql)
    Call PrintRS(rs, "[1-C]  EmpName LIKE '*Ali*'   <<--<   يحتوي على Ali في أي مكان", sql): rs.Close

    sql = "SELECT EmpName,Email FROM Employees_Demo WHERE Email LIKE '*@company.com' ORDER BY EmpName"
    Set rs = db.OpenRecordset(sql)
    Call PrintRS(rs, "[1-D]  Email LIKE '*@company.com'   <<--<   كل إيميلات الشركة", sql): rs.Close

    sql = "SELECT EmpName,Phone,City FROM Employees_Demo WHERE Phone LIKE '010*' ORDER BY EmpName"
    Set rs = db.OpenRecordset(sql)
    Call PrintRS(rs, "[1-E]  Phone LIKE '010*'   <<--<   أرقام تبدأ بـ 010", sql): rs.Close

    Set db = Nothing
End Sub

' ============================================================
'  SECTION 2 :  ? Wildcard  (يعادل _ في SQL Server)
' ============================================================
Public Sub Section2_Question_Wildcard()
    Dim db  As DAO.Database
    Dim rs  As DAO.Recordset
    Dim sql As String

    Set db = CurrentDb
    Debug.Print "": Debug.Print L2(55)
    Debug.Print "  SECTION 2 :  ? Wildcard  —  حرف واحد بالضبط"
    Debug.Print "  ملاحظة : ? في Access = _ في SQL Server"
    Debug.Print L2(55)

    sql = "SELECT EmpID,EmpName,City FROM Employees_Demo WHERE EmpName LIKE '?a*' ORDER BY EmpName"
    Set rs = db.OpenRecordset(sql)
    Call PrintRS(rs, "[2-A]  EmpName LIKE '?a*'   <<--<   الحرف الثاني من الاسم هو a", sql): rs.Close

    sql = "SELECT EmpID,EmpName,City FROM Employees_Demo WHERE EmpName LIKE '???? *' ORDER BY EmpName"
    Set rs = db.OpenRecordset(sql)
    Call PrintRS(rs, "[2-B]  EmpName LIKE '???? *'   <<--<   الاسم الأول 4 حروف بالضبط", sql): rs.Close

    sql = "SELECT EmpName,Phone FROM Employees_Demo WHERE Phone LIKE '0??-*' ORDER BY Phone"
    Set rs = db.OpenRecordset(sql)
    Call PrintRS(rs, "[2-C]  Phone LIKE '0??-*'   <<--<   كود تليفون 3 أرقام يبدأ بـ 0", sql): rs.Close

    sql = "SELECT ProdName,Code,Category FROM Products_Demo WHERE Code LIKE 'L?-0??' ORDER BY Code"
    Set rs = db.OpenRecordset(sql)
    Call PrintRS(rs, "[2-D]  Code LIKE 'L?-0??'   <<--<   كود يبدأ بـ L + حرف + -0 + رقمان", sql): rs.Close

    Set db = Nothing
End Sub

' ============================================================
'  SECTION 3 :  [ ]  Wildcard  (قائمة حروف محددة)
' ============================================================
Public Sub Section3_CharList_Wildcard()
    Dim db  As DAO.Database
    Dim rs  As DAO.Recordset
    Dim sql As String

    Set db = CurrentDb
    Debug.Print "": Debug.Print L2(55)
    Debug.Print "  SECTION 3 :  [قائمة] Wildcard  —  حرف من قائمة محددة"
    Debug.Print "  ملاحظة : [abc] تعني أي حرف من a أو b أو c"
    Debug.Print L2(55)

    sql = "SELECT EmpName,Email,City FROM Employees_Demo WHERE EmpName LIKE '[AMS]*' ORDER BY EmpName"
    Set rs = db.OpenRecordset(sql)
    Call PrintRS(rs, "[3-A]  EmpName LIKE '[AMS]*'   <<--<   يبدأ بـ A أو M أو S", sql): rs.Close

    sql = "SELECT EmpName,City FROM Employees_Demo WHERE EmpName LIKE '[A-M]*' ORDER BY EmpName"
    Set rs = db.OpenRecordset(sql)
    Call PrintRS(rs, "[3-B]  EmpName LIKE '[A-M]*'   <<--<   يبدأ بحرف من A حتى M", sql): rs.Close

    sql = "SELECT EmpName,City FROM Employees_Demo WHERE EmpName LIKE '[!A-M]*' ORDER BY EmpName"
    Set rs = db.OpenRecordset(sql)
    Call PrintRS(rs, "[3-C]  EmpName LIKE '[!A-M]*'   <<--<   لا يبدأ بحرف من A حتى M", sql): rs.Close

    Set db = Nothing
End Sub

' ============================================================
'  SECTION 4 :  NOT LIKE
' ============================================================
Public Sub Section4_Not_Like()
    Dim db  As DAO.Database
    Dim rs  As DAO.Recordset
    Dim sql As String

    Set db = CurrentDb
    Debug.Print "": Debug.Print L2(55)
    Debug.Print "  SECTION 4 :  NOT LIKE  —  استبعاد النمط"
    Debug.Print L2(55)

    sql = "SELECT EmpName,City,Phone FROM Employees_Demo WHERE City NOT LIKE 'Cairo' ORDER BY City"
    Set rs = db.OpenRecordset(sql)
    Call PrintRS(rs, "[4-A]  City NOT LIKE 'Cairo'   <<--<   موظفون ليسوا في القاهرة", sql): rs.Close

    sql = "SELECT EmpName,Email FROM Employees_Demo WHERE Email NOT LIKE '?.*@*' ORDER BY EmpName"
    Set rs = db.OpenRecordset(sql)
    Call PrintRS(rs, "[4-B]  Email NOT LIKE '?.*@*'   <<--<   إيميلات لا تبدأ بـ x.x@", sql): rs.Close

    Set db = Nothing
End Sub

' ============================================================
'  SECTION 5 :  AND / OR مع LIKE
' ============================================================
Public Sub Section5_Combined()
    Dim db  As DAO.Database
    Dim rs  As DAO.Recordset
    Dim sql As String

    Set db = CurrentDb
    Debug.Print "": Debug.Print L2(55)
    Debug.Print "  SECTION 5 :  AND / OR  —  شروط LIKE متعددة"
    Debug.Print L2(55)

    sql = "SELECT EmpName,Email,City FROM Employees_Demo WHERE EmpName LIKE 'A*' OR EmpName LIKE 'M*' ORDER BY EmpName"
    Set rs = db.OpenRecordset(sql)
    Call PrintRS(rs, "[5-A]  LIKE 'A*' OR LIKE 'M*'   <<--<   يبدأ بـ A أو M", sql): rs.Close

    sql = "SELECT EmpName,Email,City FROM Employees_Demo WHERE City LIKE 'Cairo' AND Email LIKE '*.*@*' ORDER BY EmpName"
    Set rs = db.OpenRecordset(sql)
    Call PrintRS(rs, "[5-B]  Cairo AND Email LIKE '*.*@*'   <<--<   قاهرة + إيميل بنقطة", sql): rs.Close

    sql = "SELECT ProdName,Code,Category FROM Products_Demo WHERE Category LIKE 'Electronics' AND (ProdName LIKE '*Pro*' OR ProdName LIKE '*Air*') ORDER BY ProdName"
    Set rs = db.OpenRecordset(sql)
    Call PrintRS(rs, "[5-C]  Electronics + (Pro OR Air)   <<--<   لابتوبات متقدمة", sql): rs.Close

    Set db = Nothing
End Sub

' ============================================================
'  SECTION 6 :  ملخص إحصائي
' ============================================================
Public Sub Section6_Summary()
    Dim db          As DAO.Database
    Dim rs          As DAO.Recordset
    Dim patterns    As Variant
    Dim descriptions As Variant
    Dim i           As Integer

    Set db = CurrentDb
    Debug.Print "": Debug.Print L2(55)
    Debug.Print "  SECTION 6 :  ملخص — كل الأنماط ونتائجها"
    Debug.Print L2(55): Debug.Print ""

    patterns = Array( _
        "SELECT COUNT(*) FROM Employees_Demo WHERE EmpName LIKE 'M*'", _
        "SELECT COUNT(*) FROM Employees_Demo WHERE EmpName LIKE '*Hassan'", _
        "SELECT COUNT(*) FROM Employees_Demo WHERE EmpName LIKE '*Ali*'", _
        "SELECT COUNT(*) FROM Employees_Demo WHERE EmpName LIKE '?a*'", _
        "SELECT COUNT(*) FROM Employees_Demo WHERE Phone LIKE '010*'", _
        "SELECT COUNT(*) FROM Employees_Demo WHERE City NOT LIKE 'Cairo'", _
        "SELECT COUNT(*) FROM Employees_Demo WHERE EmpName LIKE '[A-M]*'")

    descriptions = Array( _
        "EmpName LIKE 'M*'        يبدأ بـ M", _
        "EmpName LIKE '*Hassan'   ينتهي بـ Hassan", _
        "EmpName LIKE '*Ali*'     يحتوي على Ali", _
        "EmpName LIKE '?a*'       الحرف الثاني a", _
        "Phone   LIKE '010*'      تليفون 010", _
        "City NOT LIKE 'Cairo'    مش قاهرة", _
        "EmpName LIKE '[A-M]*'    من A إلى M")

    Debug.Print "  " & PadRight("النمط", 46) & "النتائج"
    Debug.Print "  " & L1(55)

    For i = LBound(patterns) To UBound(patterns)
        Set rs = db.OpenRecordset(patterns(i))
        Debug.Print "  " & PadRight(descriptions(i), 46) & rs.fields(0).Value & " صف"
        rs.Close
    Next i

    Debug.Print "  " & L1(55)
    Debug.Print "": Debug.Print L2(55)
    Debug.Print "WILDCARDS  —  Microsoft Access VBA Demo انتهى — كل الأمثلة اتنفذت بنجاح في"
    Debug.Print L2(55)
    Set db = Nothing
End Sub

' ============================================================
'  RUN ALL : شغل كل الأقسام دفعة واحدة
' ============================================================
Public Sub Run_All_Examples()
    Create_Demo_Tables
    Debug.Print "": Debug.Print L2(50)
    Debug.Print "   LIKE & WILDCARDS  —  Microsoft Access VBA Demo"
    Debug.Print L2(50)

    Call Section1_Star_Wildcard
    Call Section2_Question_Wildcard
    Call Section3_CharList_Wildcard
    Call Section4_Not_Like
    Call Section5_Combined
    Call Section6_Summary
End Sub


 

رموز الـ Wildcards

 
الرمز المعنى مثال النتيجة
* أي عدد من الحروف (0 أو أكثر) LIKE 'M*' Mohamed, Mona, Mariam
? حرف واحد بالضبط LIKE '?a*' Rami, Layla, Hana
# رقم واحد بالضبط (0-9) LIKE '01#-*' 010-, 011-, 012-
[قائمة] حرف من قائمة محددة LIKE '[AMS]*' Ahmed, Mona, Sara
[A-Z] حرف من نطاق LIKE '[A-M]*' Ahmed, Hana, Layla
[!قائمة] أي حرف خارج القائمة LIKE '[!A-M]*'

Omar, Rami, Sami

أشكال الاستخدام

-- يبدأ بـ M WHERE EmpName LIKE 'M*'

-- ينتهي بـ Hassan WHERE EmpName LIKE '*Hassan'

-- يحتوي على Ali في أي مكان WHERE EmpName LIKE '*Ali*'

-- الاسم الأول 4 حروف بالضبط WHERE EmpName LIKE '???? *'

-- استبعاد نمط معين WHERE City NOT LIKE 'Cairo'

-- شرطان معا WHERE City LIKE 'Cairo' AND Email LIKE '*.*@*'

 

الكود المرفق

الكود يحتوي على 6 أقسام عملية كاملة مع جدول تجريبى :

القسم المحتوى
Create_Demo_Tables إنشاء جداول وبيانات تجريبية
Section1 * Wildcard — أي عدد من الحروف
Section2 ? Wildcard — حرف واحد بالضبط
Section3 [] Wildcard — قائمة حروف
Section4 NOT LIKE — استبعاد النمط
Section5 AND / OR مع LIKE
Section6 ملخص إحصائي للنتائج

 

وفى نهاية الكود اجراء عام : Run_All_Examples لطباعة نتائج كل الاقسام فى النافذة الفورية 

 

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

وفى هذا الموضوع تم التطرق الى هذه الجزئية ايضا

 

وقمت بالشرح والتفنيد ولكن تحول الحساب الى اسم زائر ولا اعرف السب هههههههههههههه

تم تعديل بواسطه Debug Ace

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

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

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

Important Information