moho58 قام بنشر بالامس في 14:15 قام بنشر بالامس في 14:15 السلام عليكم الإخوة الأفاضل في هذا المنتدى الجميل في هذا الموضوع اريد التعديل على كود الفلترة وانهاء الفلترة الكود موجود في نمودج frm_note_administratif النمودج frm_note_administratif يفتح عن طريق اختيار السنة من مربع السرد و التحرير الموجود في النموذج frm_AddMonth هنا عند الضغط على زر الفلترة لا يشتغل الكود من فضلكم اريد التعديل على الكود الخاص بالفلترة وانهاء الفلترة مع الابقاء على جميع الأكواد الأخرى كما هي و المتعلقة بعمليات أخرى الرجاء المساعدة والتوجيه وبارك الله فيكم BASER.accdb
Foksh قام بنشر بالامس في 14:50 قام بنشر بالامس في 14:50 انت عارف انه المشكلة في الاستعلام الحالي انه بيعتمد على وظائف مخصصة زي 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 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 1
moho58 قام بنشر بالامس في 19:55 الكاتب قام بنشر بالامس في 19:55 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 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 بعد التجربة: زر انهاء الفلترة: يشتغل زر الفلترة: لا يعطي النتيجة المطلوبة وتظهر البيانات فارغة كمافي الصورة المرفقة 1
Foksh قام بنشر بالامس في 20:33 قام بنشر بالامس في 20:33 (معدل) زر الفلترة من المفترض حسب ما فهمت هو باختيار الاسم واللقب . تريد الفلترة بالاسم الأول أو الثاني ؟؟؟؟ ولا كلاهما كشرط للفلترة !!!! جرب هذا التعديل BASER.accdb تم تعديل بالامس في 20:43 بواسطه Foksh إضافة مرفق 1
moho58 قام بنشر بالامس في 21:26 الكاتب قام بنشر بالامس في 21:26 47 دقائق مضت, Foksh said: زر الفلترة من المفترض حسب ما فهمت هو باختيار الاسم واللقب . تريد الفلترة بالاسم الأول أو الثاني ؟؟؟؟ ولا كلاهما كشرط للفلترة !!!! جرب هذا التعديل BASER.accdb 564 kB · 0 downloads تحية طيبة متجددة أخي بعد التجربة كود الفلترة وانهاء الفلترة يشتغل جيدا ورائع : سواء كانت الفلترة عن طريق الإسم الأول لوحده أو الاسم الثاني لوحده أو الاسم الاول والثاني معا. لكن مشكلة في حفظ البيانات : عند الضغط على زر حفظ الموجود في النموذج او عند الخروج من النموذج كود الحفظ لا يعمل كما كان سابقا وتأتي الرسالة كما في الصورة وجزاك الله كل خير وسامحني 1
Foksh قام بنشر بالامس في 21:50 قام بنشر بالامس في 21:50 (معدل) عند الحفظ ما الذي سيتم حفظه تم تعديل بالامس في 21:50 بواسطه Foksh
Foksh قام بنشر بالامس في 21:55 قام بنشر بالامس في 21:55 جرب تعديل زر الحفظ كالتالي :- 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
moho58 قام بنشر منذ 23 ساعات الكاتب قام بنشر منذ 23 ساعات أخي الفاضل @Foksh مزالت نفس المشكلة: عند الخروج من النموذج حتى و إن لم تضغط على زر حفظ الموجود في النموذج يتم حفظ التعديلات والتغيرات تلقائيا وكذلك عند الخروج من النموذج وعندما تأتي رسالة تأكيد حفظ التغيرات من عدمها يتم الحفظ تلقائيا حتى عند الضغط على زر "لا" بينما في السابق كانت تشتغل عادي مرة اخرى اخي جزاك الله كل الخير - وبارك الله فيك
Foksh قام بنشر منذ 23 ساعات قام بنشر منذ 23 ساعات (معدل) 24 دقائق مضت, moho58 said: أخي الفاضل @Foksh مزالت نفس المشكلة: عند الخروج من النموذج حتى و إن لم تضغط على زر حفظ الموجود في النموذج يتم حفظ التعديلات والتغيرات تلقائيا وكذلك عند الخروج من النموذج وعندما تأتي رسالة تأكيد حفظ التغيرات من عدمها يتم الحفظ تلقائيا حتى عند الضغط على زر "لا" بينما في السابق كانت تشتغل عادي مرة اخرى اخي جزاك الله كل الخير - وبارك الله فيك لم تظهر عندي المشاكل التي ذكرتها ,, قمت بالتعديل على قيمة بعد الفلترة وتم الحفظ والخروجمن النموذج دون اي رسائل خطأ !!!!!!!!! تم تعديل منذ 23 ساعات بواسطه Foksh إضافة صورة توضيحية 1
moho58 قام بنشر منذ 22 ساعات الكاتب قام بنشر منذ 22 ساعات 23 دقائق مضت, Foksh said: لم تظهر عندي المشاكل التي ذكرتها ,, قمت بالتعديل على قيمة بعد الفلترة وتم الحفظ والخروجمن النموذج دون اي رسائل خطأ !!!!!!!!! أخي الفاضل قم بتعديل : عند الخروج من النموذج : عندما تأتي الرسالة الخاصة بتأكيد الحفظ إضغط على "لا" : سوف يقوم بحفظ التعديلات تلقائيا من الرغم أني اخترت "لا" و شكرا كثيرا لك الصبر والمتابعة
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.