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

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

قام بنشر

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

عندي برنامج وفيه نموذج وفية نموذج فرعي وجدول يتكون من (موضوع الخطاب , كلمات ارشادية , رقم خطاب , وتاريخ الخطاب , وارد من , وصادر من )

وفي النموذج: وعندي 6 مربع نص ...علشان البحث لكل مربع نص مثلا: موضوع الخطاب يبحث فيه , والثاني مربع نص يبحث في كلمات ارشادية....

وعندي حدث عند التغيير :مربع نص : يبحث في كلمات ارشادية سميتها n2  , ومربع نص اخر سميتها n10 علشان يبحث سريع Dim x

x=n2.text

n10=x

me.تابع38.Requery

وعملت  كود في استعلامlike"*"&]![البحث في المستندات]![n10]&"*"

المشكلة: مثلا  في سجل: ميناء/جدة/لوجستيك

ابحث عنه عكسي مثلا : لوجستيك/ميناء ........ يختفي البحث 

علمأ: بان في السجل بين كلمة وكلمة ... اسلاش (/)

ممكن تحلوا المشكلة بارك الله فيكم ونفع بعلمك  .............

 

  • Like 1
قام بنشر

بارك الله فيك ومشكور على اهتمامك 

بس جربت هذي من قبل * و %  واليك هذا البرنامج  الذي فيه حقل ( كلمات ارشادية) 

تلاحظ : اثناء البحث عند كلمتين يختفي البحث او تعكس

اضرب مثال : موجود في السجل  :........  ميناء/جدة/لوجستيك , ابحث عن كلمتين واختار : ميناء/لوجستيك ... يختفي البحث لان لو كتبت :ميناء/جدة .... مايختفي البحث لاني بحثت بطريقه منظمة

والطريقة الاولة اخترت : ميناء/لوجستيك ... تختفي البحث لاني ماكتبت : جدة بعد كلمة ميناء .........

ياريت اذا في حل لهذا السبب ان تفيدونا بارك الله فيك 

وهذا البرنامج 

  • امتدادات الصور المسموح بها zip, rar, jpg, gif, bmp, png · الحد الاقصي 0.98MB
قام بنشر

اولا ، لا يوجد مرفق (المنتدى يقبل الملف المضغوط zip او rar)

ثانيا ، يعني تريد تبحث عن شئ غير موجود!!

 

جعفر

  • Like 1
قام بنشر

اخي بسام

انت قمت بطريقة بحث وتعمل تمام !

فانت قمت باستخدام وضع علامة البدل * في الاول والاخير للنص المراد البحث عنه ! وبرنامجك يطبق هذا بنجاح !

فالكمبيوتر لا يعرف مايدور في ذهنك !

فالجملة :"/لوجستيك" تختلف عن "لوجستيك/" فيعتبر / هنا حرف !

وهنا ساسالك : هل الجملة :" ميناء/لوجستيك "  موجودة؟ طبعا الجواب لا ! وهذا ماقام به البرنامج !

الان اعتقد انك تريد برنامج او فكرة اخرى : اعتبار الجملتين " ميناء/لوجستيك " و " ميناء/جدة/لوجستيك " هما واحدة عند البحث ؟ فهل هذا ماتريد؟

 

بالتوفيق

قام بنشر
19 ساعات مضت, بسام محمد صالح شعلان said:

بارك الله فيكم يا اساتذتي الاجلاء

رد على سؤالك يا استاذ: مهان

انا عند في السجل :ميناء/جدة/لوجستيك

ابحث عن شي موجود مثلا ابحث عن : ميناء/لوجستيك ...لازم يطلع في البحث واستعنت * كمان وضحت استاذي مهان والاستاذ جعفر فضبطمعايا بارك الله فيكم 

وعندي استفسار اخر ولو ثقلت عليكم نظراً لحاجتي الماسة:...

انا عندي في السجل :ميناء/جدة/لوجستيك

ابحث عن شي موجود مثلا ابحث عكسي  مثلآ ابحث : لوجستيك/ميناء  ....

ممكن تفيدوني بارك الله فيكم

 

 

 

المطلوب.rar

قام بنشر

السلام عليكم :rol:

 

المسألة كانت تحدي ، وقبلت التحدي :rol:

انا غيرت اسماء النموذج الرئيسي والفرعي الى اسماء frm_Search و sfrm_Search.

 

الآن يمكنك البحث عن اي جزء من الكلمة ، واذا اردت البحث عن كلمة اخرى في السجل ، فما عليك الا ان تضع (مسافة او / او *) بين الكلمات ، فسيعتبرها البرنامج على انها كلمة اخرى يجب البحث عنها:

309.gif.f1fcb8ea977c76a06f71bed179ef5f44

.

والكود:

Option Compare Database

    Dim mySQL As String
    Dim mySQL1 As String

Private Sub Form_Load()

    mySQL = "Select * From [المستندات]"
    Me.n2 = ""
    If Len(Me.n2 & "") = 0 Then
        Me.sfrm_Search.Form.RecordSource = mySQL
    End If
    
End Sub

Private Sub n2_Change()

    'do the initial subform Record Source
    mySQL1 = "Select * From [المستندات]"
    mySQL = mySQL1 & " Where"
    
    'now we want to split the search code into smaller bits,
    'if seperate by / \ * or space, then change this seperator to | (a unique letter),
    'this way we will have more than ONE word to search for
    Dim x() As String
    Dim A As String
    
    A = Me.n2.Text
    A = Replace(A, "/", "|")
    A = Replace(A, "\", "|")
    A = Replace(A, " ", "|")
    A = Replace(A, "*", "|")
    
    'the words are split and ready
    x = Split(A, "|")
    
    If UBound(x) = 0 Then
        'Still one word, search for it
        mySQL = mySQL & " [كلمات ارشادية]"
        mySQL = mySQL & " Like '*" & x(i) & "*'"
    
    Else
        'it is ONE word and a seperate by / \ * or space,
        'so lets make a Where statement for each seperate word
        For i = LBound(x) To UBound(x)
        
            If i = 0 Then
                'its a word and a seperator, the NEXT word is NOT added yet
                mySQL = mySQL & " [كلمات ارشادية]"
                mySQL = mySQL & " Like '*" & x(i) & "*'"
            Else
                'its multiple words, add the AND command between each word
                mySQL = mySQL & " AND [كلمات ارشادية]"
                mySQL = mySQL & " Like '*" & x(i) & "*'"
            End If
            
        Next i
    End If
    
    'if the Search field is Empty, use the initial mySQL1
    Me.n2.SetFocus
    If Len(Me.n2.Text & "") = 0 Then
        mySQL = mySQL1
    End If
    
    'Debug.Print mySQL
    Me.sfrm_Search.Form.RecordSource = mySQL
    
    
End Sub

.

ملاحظة مهمة:

اذا كان برنامجك على الشبكة ، فلا تضع الكود على "حدث التغيير" (معناه ، كلما اضفت/حذفت حرف ، فارجع الى الجدول وخذ البيانات منه) ، لأنه سيجعل البرنامج جدا بطئ ، وانما استخدم زر البحث.

 

جعفر

309.Search_as_you_Type_jj.mdb.zip

309.gif

309.Search_as_you_Type_jj.mdb.zip

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

وعليكم السلام والرحمة,,                           استاذ: جعفر

بارك اللة فيك وجزاك اللة خير الجزاء  على تفاعلك معايا 

في ملاحظة اخيرة 

اذا اضفت مربع نص اخر في النموذج  بجانب نص (الكلمات الارشادية) 

علماً بان النص اسمة (موضوع الخطاب) بحيث لا يحتوي في السجل على / او فاصلة بحيث يبحث عكسي

مثلاً : اكتب في السجل مثلا: تفويض شركة ملاحة  ....... ابحث عكسي مثلا:  ملاحة تفويض لازم يطلع معايا

ملاحظة: انا جربت نفس كود عند التعبير في (كلمات ارشادية) حطيتة في نص (موضوع الخطاب)لان موضوع الخطاب لا يحتوي على / او فاصلة ... فما طلع معايا البحث في (موضوع الخطاب)

فمكن توفينا في الخلل وين : بارك الله فيكم جميعاً

تم تعديل بواسطه بسام محمد صالح شعلان
قام بنشر
في ٢٣‏/١٢‏/٢٠١٥ at 19:00, jjafferr said:

السلام عليكم :rol:

 

المسألة كانت تحدي ، وقبلت التحدي :rol:

انا غيرت اسماء النموذج الرئيسي والفرعي الى اسماء frm_Search و sfrm_Search.

 

الآن يمكنك البحث عن اي جزء من الكلمة ، واذا اردت البحث عن كلمة اخرى في السجل ، فما عليك الا ان تضع (مسافة او / او *) بين الكلمات ، فسيعتبرها البرنامج على انها كلمة اخرى يجب البحث عنها:

309.gif.f1fcb8ea977c76a06f71bed179ef5f44

.

والكود:


Option Compare Database

    Dim mySQL As String
    Dim mySQL1 As String

Private Sub Form_Load()

    mySQL = "Select * From [المستندات]"
    Me.n2 = ""
    If Len(Me.n2 & "") = 0 Then
        Me.sfrm_Search.Form.RecordSource = mySQL
    End If
    
End Sub

Private Sub n2_Change()

    'do the initial subform Record Source
    mySQL1 = "Select * From [المستندات]"
    mySQL = mySQL1 & " Where"
    
    'now we want to split the search code into smaller bits,
    'if seperate by / \ * or space, then change this seperator to | (a unique letter),
    'this way we will have more than ONE word to search for
    Dim x() As String
    Dim A As String
    
    A = Me.n2.Text
    A = Replace(A, "/", "|")
    A = Replace(A, "\", "|")
    A = Replace(A, " ", "|")
    A = Replace(A, "*", "|")
    
    'the words are split and ready
    x = Split(A, "|")
    
    If UBound(x) = 0 Then
        'Still one word, search for it
        mySQL = mySQL & " [كلمات ارشادية]"
        mySQL = mySQL & " Like '*" & x(i) & "*'"
    
    Else
        'it is ONE word and a seperate by / \ * or space,
        'so lets make a Where statement for each seperate word
        For i = LBound(x) To UBound(x)
        
            If i = 0 Then
                'its a word and a seperator, the NEXT word is NOT added yet
                mySQL = mySQL & " [كلمات ارشادية]"
                mySQL = mySQL & " Like '*" & x(i) & "*'"
            Else
                'its multiple words, add the AND command between each word
                mySQL = mySQL & " AND [كلمات ارشادية]"
                mySQL = mySQL & " Like '*" & x(i) & "*'"
            End If
            
        Next i
    End If
    
    'if the Search field is Empty, use the initial mySQL1
    Me.n2.SetFocus
    If Len(Me.n2.Text & "") = 0 Then
        mySQL = mySQL1
    End If
    
    'Debug.Print mySQL
    Me.sfrm_Search.Form.RecordSource = mySQL
    
    
End Sub

.

ملاحظة مهمة:

اذا كان برنامجك على الشبكة ، فلا تضع الكود على "حدث التغيير" (معناه ، كلما اضفت/حذفت حرف ، فارجع الى الجدول وخذ البيانات منه) ، لأنه سيجعل البرنامج جدا بطئ ، وانما استخدم زر البحث.

 

جعفر

309.Search_as_you_Type_jj.mdb.zip

309.gif

309.Search_as_you_Type_jj.mdb.zip

عمل رائع كصاحبه !

قام بنشر

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

تحية طيبة وبعد

ملاحظتي : عندي مربعين نص في النموذج   ...... وسميتهما الاول : من تاريخ    & والثانيسميتة: الى تاريخ 

اريد ان ابحث في هذين الحقلين بالاضافة الى الموجود سابقاً الذي هو : كلمات ارشادية وموضوع الخطاب

 ملاحظة :    انا ما اريد اضافة : بحث "موضوع الخطاب" في نفس مربع نص "كلمات ارشادية" 

انا اريد كل مربع نص يبحث في حقلة لوحدة فقط

مثلا: مربع نص اسمة "موضوع الخطاب" اريدة يبحث في حقل موضوع الخطاب فقط 

لا اريد ان يجتمع "موضوع الخطاب" و"كلمات ارشادية" يبحث في مربع نص واحد

 لازم يكون كل حقل لة مربع نص يبحث في نفس الحقل الذي هو اسمة في الحقل

والعفو على الاطالة

قام بنشر

السلام عليكم أخي بسام :rol:

 

الموضوع الان تغير عن السؤال الاساسي للموضوع الاصل ،

لذا ، واتباعا لقوانين المنتدى ، رجاء فتح سؤال جديد ،

ويا حبذا ترفق المرفق اللي انا ارفقته ، مع مرفقك ، والاشارة الى هذا الرابط ، حتى يستطيع الكل متابعة الموضوع بدل من الابتداء من الصفر :rol:

 

 

جعفر

  • 3 years later...
قام بنشر

لو سمحت يا استاذ جعفر انا جربت اعمل الى حضرتك عملته و مضبطتش معايا ممكن فيديو انا الفيس بوك بتاعى kiro.captain اكون شاكر جدا

  • 3 years later...

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