اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر

السلام عليكم الإخوة الأفاضل في هذا المنتدى الجميل

في هذا الموضوع اريد التعديل على كود الفلترة وانهاء الفلترة

الكود موجود في نمودج frm_note_administratif

النمودج frm_note_administratif  يفتح عن طريق اختيار السنة  من مربع السرد و التحرير الموجود في النموذج frm_AddMonth

هنا عند الضغط على زر الفلترة لا يشتغل الكود

من فضلكم اريد التعديل على الكود الخاص بالفلترة وانهاء الفلترة

مع الابقاء على جميع الأكواد الأخرى كما هي  و المتعلقة بعمليات أخرى

الرجاء المساعدة والتوجيه وبارك الله فيكم

BASER.accdb

قام بنشر

 

انت عارف انه المشكلة في الاستعلام الحالي انه بيعتمد على وظائف مخصصة زي
funMyCiretria()
funMyCiretria1()
funMyCiretria2()
 
علشان تعمل تصفية على السجلات ، وبنفس الوقت انت عايز إضافة فلترة إضافية عند الضغط على الزر Cm2 بحيث يتم جلب السجلات التي يتطابق فيها nom_arabe مع tx3 و prenom_arabe مع tx4 !!!!!
 
 
الحل هنا وباعتقادي انه يجب أولاً تعديل مصدر السجلات النموذج ليصبح الاستعلام كالتالي :-
SELECT tbl_note_administrative.classement_liste, tbl_note_administrative.situation_special, tbl_note_administrative.annet, tbl_note_administrative.nom_arabe, tbl_note_administrative.prenom_arabe, tbl_note_administrative.note_adminstative, tbl_note_administrative.note_directeur, tbl_note_administrative.note_fonctionnaire, tbl_note_administrative.situation_poste_travail, tbl_note_administrative.mm
FROM tbl_note_administrative
WHERE (((tbl_note_administrative.situation_special)=funMyCiretria1()) AND ((tbl_note_administrative.annet)=funMyCiretria()) AND ((tbl_note_administrative.situation_poste_travail)=funMyCiretria2())) OR (((tbl_note_administrative.nom_arabe)=[Forms]![frm_note_administratif]![tx3]) AND ((tbl_note_administrative.prenom_arabe)=[Forms]![frm_note_administratif]![tx4]))
ORDER BY tbl_note_administrative.classement_liste;

ثانياً في الزر الخاص بالفلترة = الكود التالي :-

Private Sub Cm2_Click()
    Dim filterCondition As String
    
    If Not IsNull(Me.tx3) And Not IsNull(Me.tx4) Then
        filterCondition = "nom_arabe = '" & Me.tx3 & "' AND prenom_arabe = '" & Me.tx4 & "'"
        
        Me.Filter = filterCondition
        Me.FilterOn = True
    Else
        Me.FilterOn = False
    End If
End Sub

 

وزر إنهاء الفلترة = الكود التالي :-

Private Sub Cm1_Click()
    Me.tx3 = ""
    Me.tx4 = ""
    Me.FilterOn = False
    Me.Requery
End Sub


وأما بخصوص الحدث عند التحميل ، فقد تم تعديله بحيث تم استخدام Me.Filter بدلاً من RecordSource :excl:

Private Sub Form_Load()
    Dim filterCondition As String

    filterCondition = "situation_special = '" & funMyCiretria1() & "' " & _
                      "AND annet = '" & funMyCiretria() & "' " & _
                      "AND situation_poste_travail = '" & funMyCiretria2() & "'"

    Me.Filter = filterCondition
    Me.FilterOn = True

    Dim WrkSpace As Workspace
    Set WrkSpace = DBEngine.Workspaces(0)
    WrkSpace.BeginTrans
End Sub

 

 

هذا من وجهة نظري ، والله أعلم ما لم يكن هناك حل أفضل من أحد الأخوة

 

BASER.accdb

 

 

  • Like 1
قام بنشر
5 ساعات مضت, Foksh said:

 

انت عارف انه المشكلة في الاستعلام الحالي انه بيعتمد على وظائف مخصصة زي
funMyCiretria()
funMyCiretria1()
funMyCiretria2()
 
علشان تعمل تصفية على السجلات ، وبنفس الوقت انت عايز إضافة فلترة إضافية عند الضغط على الزر Cm2 بحيث يتم جلب السجلات التي يتطابق فيها nom_arabe مع tx3 و prenom_arabe مع tx4 !!!!!
 
 
الحل هنا وباعتقادي انه يجب أولاً تعديل مصدر السجلات النموذج ليصبح الاستعلام كالتالي :-
SELECT tbl_note_administrative.classement_liste, tbl_note_administrative.situation_special, tbl_note_administrative.annet, tbl_note_administrative.nom_arabe, tbl_note_administrative.prenom_arabe, tbl_note_administrative.note_adminstative, tbl_note_administrative.note_directeur, tbl_note_administrative.note_fonctionnaire, tbl_note_administrative.situation_poste_travail, tbl_note_administrative.mm
FROM tbl_note_administrative
WHERE (((tbl_note_administrative.situation_special)=funMyCiretria1()) AND ((tbl_note_administrative.annet)=funMyCiretria()) AND ((tbl_note_administrative.situation_poste_travail)=funMyCiretria2())) OR (((tbl_note_administrative.nom_arabe)=[Forms]![frm_note_administratif]![tx3]) AND ((tbl_note_administrative.prenom_arabe)=[Forms]![frm_note_administratif]![tx4]))
ORDER BY tbl_note_administrative.classement_liste;

ثانياً في الزر الخاص بالفلترة = الكود التالي :-

Private Sub Cm2_Click()
    Dim filterCondition As String
    
    If Not IsNull(Me.tx3) And Not IsNull(Me.tx4) Then
        filterCondition = "nom_arabe = '" & Me.tx3 & "' AND prenom_arabe = '" & Me.tx4 & "'"
        
        Me.Filter = filterCondition
        Me.FilterOn = True
    Else
        Me.FilterOn = False
    End If
End Sub

 

وزر إنهاء الفلترة = الكود التالي :-

Private Sub Cm1_Click()
    Me.tx3 = ""
    Me.tx4 = ""
    Me.FilterOn = False
    Me.Requery
End Sub


وأما بخصوص الحدث عند التحميل ، فقد تم تعديله بحيث تم استخدام Me.Filter بدلاً من RecordSource :excl:

Private Sub Form_Load()
    Dim filterCondition As String

    filterCondition = "situation_special = '" & funMyCiretria1() & "' " & _
                      "AND annet = '" & funMyCiretria() & "' " & _
                      "AND situation_poste_travail = '" & funMyCiretria2() & "'"

    Me.Filter = filterCondition
    Me.FilterOn = True

    Dim WrkSpace As Workspace
    Set WrkSpace = DBEngine.Workspaces(0)
    WrkSpace.BeginTrans
End Sub

 

 

هذا من وجهة نظري ، والله أعلم ما لم يكن هناك حل أفضل من أحد الأخوة

 

BASER.accdb 992 kB · 3 downloads

 

 

تحية طيبة و شكرا كثيرا أخي الفاضل @Foksh

بعد التجربة:  زر انهاء الفلترة: يشتغل

زر الفلترة: لا يعطي النتيجة المطلوبة وتظهر البيانات فارغة كمافي الصورة المرفقة

صورة.jpg

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

زر الفلترة من المفترض حسب ما فهمت هو باختيار الاسم واللقب .

 

تريد الفلترة بالاسم الأول أو الثاني ؟؟؟؟

ولا كلاهما كشرط للفلترة !!!!

 

جرب هذا التعديل

 

BASER.accdb

تم تعديل بواسطه Foksh
إضافة مرفق
  • Like 1
قام بنشر
47 دقائق مضت, Foksh said:

زر الفلترة من المفترض حسب ما فهمت هو باختيار الاسم واللقب .

 

تريد الفلترة بالاسم الأول أو الثاني ؟؟؟؟

ولا كلاهما كشرط للفلترة !!!!

 

جرب هذا التعديل

 

BASER.accdb 564 kB · 0 downloads

تحية طيبة متجددة أخي

بعد التجربة كود الفلترة وانهاء الفلترة يشتغل جيدا ورائع : سواء كانت الفلترة عن طريق الإسم الأول لوحده أو الاسم الثاني لوحده   أو الاسم الاول والثاني معا.

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

وتأتي الرسالة كما في الصورة

وجزاك الله كل خير  وسامحني

صورة 4.jpg

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

عند الحفظ ما الذي سيتم حفظه :blink:

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

 

جرب تعديل زر الحفظ كالتالي :-

Private Sub cmdSave_Click()
    On Error GoTo ErrorHandler
    
    If WrkSpace Is Nothing Then
        Set WrkSpace = DBEngine.Workspaces(0)
    End If
    
    If WrkSpace Is Nothing Then
        MsgBox "حدث خطأ", , ""
        Exit Sub
    End If
    
    With WrkSpace
        .CommitTrans
        Me.Recordset.Requery
        .BeginTrans
    End With
    m_dirty = False
    
    Exit Sub
    
ErrorHandler:
    MsgBox "حدث خطأ", , ""
End Sub

 

قام بنشر

أخي الفاضل @Foksh  مزالت نفس المشكلة: عند الخروج من النموذج حتى و إن لم تضغط على زر حفظ الموجود في النموذج يتم حفظ التعديلات والتغيرات تلقائيا

وكذلك عند الخروج من النموذج وعندما تأتي رسالة تأكيد حفظ التغيرات من عدمها يتم الحفظ تلقائيا حتى عند الضغط على زر   "لا"

بينما في السابق كانت تشتغل عادي

مرة اخرى اخي  جزاك الله كل الخير - وبارك الله فيك

قام بنشر (معدل)
24 دقائق مضت, moho58 said:

أخي الفاضل @Foksh  مزالت نفس المشكلة: عند الخروج من النموذج حتى و إن لم تضغط على زر حفظ الموجود في النموذج يتم حفظ التعديلات والتغيرات تلقائيا

وكذلك عند الخروج من النموذج وعندما تأتي رسالة تأكيد حفظ التغيرات من عدمها يتم الحفظ تلقائيا حتى عند الضغط على زر   "لا"

بينما في السابق كانت تشتغل عادي

مرة اخرى اخي  جزاك الله كل الخير - وبارك الله فيك

لم تظهر عندي المشاكل التي ذكرتها ,,

قمت بالتعديل على قيمة بعد الفلترة وتم الحفظ والخروجمن النموذج دون اي رسائل خطأ !!!!!!!!!

 

How.thumb.gif.1e89615f25cff876cce0d40e5f027836.gif

تم تعديل بواسطه Foksh
إضافة صورة توضيحية
  • Like 1
قام بنشر
23 دقائق مضت, Foksh said:

لم تظهر عندي المشاكل التي ذكرتها ,,

قمت بالتعديل على قيمة بعد الفلترة وتم الحفظ والخروجمن النموذج دون اي رسائل خطأ !!!!!!!!!

 

How.thumb.gif.1e89615f25cff876cce0d40e5f027836.gif

أخي الفاضل

قم بتعديل : عند الخروج من النموذج : عندما تأتي الرسالة الخاصة بتأكيد الحفظ إضغط على "لا"  : سوف يقوم بحفظ التعديلات تلقائيا من الرغم أني اخترت "لا"

و شكرا كثيرا لك الصبر والمتابعة

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