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