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

ظهور رقم اول سند ورقم اخر سند باليوميه


النجاشي
إذهب إلى أفضل إجابة Solved by jjafferr,

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

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

استاتذتي الكرام

المطلوب بنموذج اليوميه اريد ظهور رقم اول سند واخر رقم سند لكل يوم  يعني يعطيك  كل يوم بتاريخه وليس المقصود يظهر بتاريخ اليوم السابق تحياتي لكم

899999.rar

رابط هذا التعليق
شارك

5 دقائق مضت, jjafferr said:

وعليكم السلام أخي وضاح:smile:

 

اعطنا مثال لوسمحت بارقام من قاعدة بياناتك:smile:

 

جعفر

حياك الله اخي جعفر

دوما وانت سباق للخير الله يحفظك

غبنا عنكم بسبب السفر المثال اخي اليوم

عملت 3 مستندات بالايرادت  اريد ظهور رقم اول سند ايردات واخر رقم  لسند  الايردات بالمربعات النصيه بنموذج اليوميه بالمربعات الذي باللون الأخضر بالنموذج ان شاء الله تكون وصلت الفكره

رابط هذا التعليق
شارك

37 دقائق مضت, jjafferr said:

 

 

اعطنا مثال لوسمحت بارقام من قاعدة بياناتك:smile:

 

جعفر

عملت كمان  صوره توضيحيه ولم استطع ارفعها لك توضح اكثر

رابط هذا التعليق
شارك

جرب هذا ووافنا بالنتائج

هذا لأجل من سند رقم :  (توضع بمصدر سجلات مربع النص - Control Source)

=Nz(Dmin("SandNo";"SandatTable";"SandDate=#" & [Date] & "#");0)

وهذا لأجل الى سند رقم:

=Nz(Dmax("SandNo";"SandatTable";"SandDate=#" & [Date] & "#");0)

طبعا مع تغير المسميات التالية لما يتفق مع تصميمكم

sandNo  = حقل رقم السند

SandatTble = اسم الجدول الذى يحتوى على بيانات السندات

SandDate = حقل تاريخ السند 

ملاحظة:

1- لأن المعيار تاريخ  أضفنا هذه العلامة "#" 

   وان كان المعيار نص سنستخدم بدلا منها هذه " ' "

2- يمكن استخدام أكثر من معيار باضافة "And"  بين المعاير كتاريخ السند ونوع السند مثلا مع مراعات اختلاف نوع البيانات لكل معيار.

 

  • Like 1
رابط هذا التعليق
شارك

طبعا سيكون هناك اكثر من طريقة لعمل المطلوب ، وانا اخترت الطريقة الاسهل لي:smile:

 

تفضل الكود ، وقد اعدت مسمى الحقول من والى:

Private Sub Form_Load()
Me.Form.Caption = DLookup("[user]", "fbi")

    Dim rst As DAO.Recordset
'إيرادات
    mySQL = "Select [رقم السند]"
    mySQL = mySQL & " From السندات"
    mySQL = mySQL & " Where [نوع السند]='إيرادات'"
    mySQL = mySQL & " And التاريخ>=#" & Me.n1 & "#"
    mySQL = mySQL & " And التاريخ<=#" & Me.n2 & "#"
    mySQL = mySQL & " Order By [رقم السند]"
    
    Set rst = CurrentDb.OpenRecordset(mySQL)
    rst.MoveLast: rst.MoveFirst
    RC = rst.RecordCount
    Me.Erad_From = rst![رقم السند]
    rst.MoveLast
    Me.Erad_To = rst![رقم السند]
    
'اجل
    mySQL = "Select [رقم السند]"
    mySQL = mySQL & " From السندات"
    mySQL = mySQL & " Where [نوع السند]='اجل'"
    mySQL = mySQL & " And التاريخ>=#" & Me.n1 & "#"
    mySQL = mySQL & " And التاريخ<=#" & Me.n2 & "#"
    mySQL = mySQL & " Order By [رقم السند]"
    
    Set rst = CurrentDb.OpenRecordset(mySQL)
    rst.MoveLast: rst.MoveFirst
    RC = rst.RecordCount
    Me.Aajel_From = rst![رقم السند]
    rst.MoveLast
    Me.Aajel_To = rst![رقم السند]
    
'مصاريف
    mySQL = "Select [رقم السند]"
    mySQL = mySQL & " From السندات"
    mySQL = mySQL & " Where [نوع السند]='مصاريف'"
    mySQL = mySQL & " And التاريخ>=#" & Me.n1 & "#"
    mySQL = mySQL & " And التاريخ<=#" & Me.n2 & "#"
    mySQL = mySQL & " Order By [رقم السند]"
    
    Set rst = CurrentDb.OpenRecordset(mySQL)
    rst.MoveLast: rst.MoveFirst
    RC = rst.RecordCount
    Me.Masareef_From = rst![رقم السند]
    rst.MoveLast
    Me.Masareef_To = rst![رقم السند]
    
'سداد
    mySQL = "Select [رقم السند]"
    mySQL = mySQL & " From السندات"
    mySQL = mySQL & " Where [نوع السند]='سداد'"
    mySQL = mySQL & " And التاريخ>=#" & Me.n1 & "#"
    mySQL = mySQL & " And التاريخ<=#" & Me.n2 & "#"
    mySQL = mySQL & " Order By [رقم السند]"
    
    Set rst = CurrentDb.OpenRecordset(mySQL)
    rst.MoveLast: rst.MoveFirst
    RC = rst.RecordCount
    Me.Sadad_From = rst![رقم السند]
    rst.MoveLast
    Me.Sadad_To = rst![رقم السند]
    
    rst.close: Set rst = Nothing
    
End Sub

 

جعفر

688.لازام نطوره.mdb.zip

8 دقائق مضت, أبو عبدالله الحلوانى said:

هذا لأجل من سند رقم : 


=Nz(Dmin("SandNo";"SandatTable";"SandDate=#" & [Date] & "#");0)

وهذا لأجل الى سند رقم:


=Nz(Dmax("SandNo";"SandatTable";"SandDate=#" & [Date] & "#");0)

 

أخي ابو عبد الله:smile:

 

انا فكرت في طريقتك ، وبهذه الطريقة يجب علينا زيارة الجدول مرتين لكل نوع من انواع السجلات ، وعندنا اربع سجلات ، فمعناه عندنا 8 زيارات للجدول لأخذ القيم المطلوبة ، ولكنك تأتي بمعلومة واحدة كل مرة:smile:

بينما الطريقة التي عملتها انا تقوم بـ 4 زيارات فقط ، ولكنها تأتي ببيانات اكثر من بياناتك ، ثم نصفيها:smile:

 

والطريقة الافضل هي ان لا نقوم بأي زيارة للجدول ، فالبيانات موجودة في النموذج الفرعي ، وما علينا إلا ان نستخرجها منها:smile:

 

جعفر

  • Like 2
رابط هذا التعليق
شارك

27 دقائق مضت, jjafferr said:

طبعا سيكون هناك اكثر من طريقة لعمل المطلوب ، وانا اخترت الطريقة الاسهل لي:smile:

 

تفضل الكود ، وقد اعدت مسمى الحقول من والى:


Private Sub Form_Load()
Me.Form.Caption = DLookup("[user]", "fbi")

    Dim rst As DAO.Recordset
'إيرادات
    mySQL = "Select [رقم السند]"
    mySQL = mySQL & " From السندات"
    mySQL = mySQL & " Where [نوع السند]='إيرادات'"
    mySQL = mySQL & " And التاريخ>=#" & Me.n1 & "#"
    mySQL = mySQL & " And التاريخ<=#" & Me.n2 & "#"
    mySQL = mySQL & " Order By [رقم السند]"
    
    Set rst = CurrentDb.OpenRecordset(mySQL)
    rst.MoveLast: rst.MoveFirst
    RC = rst.RecordCount
    Me.Erad_From = rst![رقم السند]
    rst.MoveLast
    Me.Erad_To = rst![رقم السند]
    
'اجل
    mySQL = "Select [رقم السند]"
    mySQL = mySQL & " From السندات"
    mySQL = mySQL & " Where [نوع السند]='اجل'"
    mySQL = mySQL & " And التاريخ>=#" & Me.n1 & "#"
    mySQL = mySQL & " And التاريخ<=#" & Me.n2 & "#"
    mySQL = mySQL & " Order By [رقم السند]"
    
    Set rst = CurrentDb.OpenRecordset(mySQL)
    rst.MoveLast: rst.MoveFirst
    RC = rst.RecordCount
    Me.Aajel_From = rst![رقم السند]
    rst.MoveLast
    Me.Aajel_To = rst![رقم السند]
    
'مصاريف
    mySQL = "Select [رقم السند]"
    mySQL = mySQL & " From السندات"
    mySQL = mySQL & " Where [نوع السند]='مصاريف'"
    mySQL = mySQL & " And التاريخ>=#" & Me.n1 & "#"
    mySQL = mySQL & " And التاريخ<=#" & Me.n2 & "#"
    mySQL = mySQL & " Order By [رقم السند]"
    
    Set rst = CurrentDb.OpenRecordset(mySQL)
    rst.MoveLast: rst.MoveFirst
    RC = rst.RecordCount
    Me.Masareef_From = rst![رقم السند]
    rst.MoveLast
    Me.Masareef_To = rst![رقم السند]
    
'سداد
    mySQL = "Select [رقم السند]"
    mySQL = mySQL & " From السندات"
    mySQL = mySQL & " Where [نوع السند]='سداد'"
    mySQL = mySQL & " And التاريخ>=#" & Me.n1 & "#"
    mySQL = mySQL & " And التاريخ<=#" & Me.n2 & "#"
    mySQL = mySQL & " Order By [رقم السند]"
    
    Set rst = CurrentDb.OpenRecordset(mySQL)
    rst.MoveLast: rst.MoveFirst
    RC = rst.RecordCount
    Me.Sadad_From = rst![رقم السند]
    rst.MoveLast
    Me.Sadad_To = rst![رقم السند]
    
    rst.close: Set rst = Nothing
    
End Sub

 

جعفر

688.لازام نطوره.mdb.zip

أخي ابو عبد الله:smile:

 

انا فكرت في طريقتك ، وبهذه الطريقة يجب علينا زيارة الجدول مرتين لكل نوع من انواع السجلات ، وعندنا اربع سجلات ، فمعناه عندنا 8 زيارات للجدول لأخذ القيم المطلوبة ، ولكنك تأتي بمعلومة واحدة كل مرة:smile:

بينما الطريقة التي عملتها انا تقوم بـ 4 زيارات فقط ، ولكنها تأتي ببيانات اكثر من بياناتك ، ثم نصفيها:smile:

 

والطريقة الافضل هي ان لا نقوم بأي زيارة للجدول ، فالبيانات موجودة في النموذج الفرعي ، وما علينا إلا ان نستخرجها منها:smile:

 

جعفر

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

38 دقائق مضت, أبو عبدالله الحلوانى said:

جرب هذا ووافنا بالنتائج

هذا لأجل من سند رقم :  (توضع بمصدر سجلات مربع النص - Control Source)


=Nz(Dmin("SandNo";"SandatTable";"SandDate=#" & [Date] & "#");0)

وهذا لأجل الى سند رقم:


=Nz(Dmax("SandNo";"SandatTable";"SandDate=#" & [Date] & "#");0)

طبعا مع تغير المسميات التالية لما يتفق مع تصميمكم

sandNo  = حقل رقم السند

SandatTble = اسم الجدول الذى يحتوى على بيانات السندات

SandDate = حقل تاريخ السند 

ملاحظة:

1- لأن المعيار تاريخ  أضفنا هذه العلامة "#" 

   وان كان المعيار نص سنستخدم بدلا منها هذه " ' "

2- يمكن استخدام أكثر من معيار باضافة "And"  بين المعاير كتاريخ السند ونوع السند مثلا مع مراعات اختلاف نوع البيانات لكل معيار.

 

اخي أبو عبدالله انا مبتدي ياليت تعملها لي بالقاعده مع مراعاه التاريخ لكل يوم لعلا تكون طريقتك المطلوب رغم الأخ جعفر عمل في القاعده بس بقي  لي المفروض يعطينا السندات الذي تصدر بنفس التاريخ لو عدلت تاريخ سند بتاريخ اخر بتعرف المشكله باذن الله نوصل لحل شاكر لك والاخ جعفر استاتذي الكرام

رابط هذا التعليق
شارك

3 دقائق مضت, ابو زاهر said:

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

عفوا ما فهمت قصدك ، لهذا السبب قلت لك من البداية اعطني مثال:blink:

والكود يجب وضعه على زر البحث ، وخطأ مني ان وضعته على حدث تحميل النموذج:blink:

 

اعمل التغيير ، وشوف اذا لازالت المشكلة موجودة.

 

جعفر

  • Like 1
رابط هذا التعليق
شارك

1 ساعه مضت, jjafferr said:

وعليكم السلام أخي وضاح:smile:

 

اعطنا مثال لوسمحت بارقام من قاعدة بياناتك:smile:

 

جعفر

الان بعمل لك سندات بتاريخ اليوم وامس  عشان تتضح الفكره اكثر رغم انك اخي في تقدم بعملك كثير وبقي القليل الان دقايق برفع قاعده  توضح اكثر

رابط هذا التعليق
شارك

30 دقائق مضت, jjafferr said:

عفوا ما فهمت قصدك ، لهذا السبب قلت لك من البداية اعطني مثال:blink:

والكود يجب وضعه على زر البحث ، وخطأ مني ان وضعته على حدث تحميل النموذج:blink:

 

اعمل التغيير ، وشوف اذا لازالت المشكلة موجودة.

 

جعفر

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

رابط هذا التعليق
شارك

السلام عليكم

وزيادة الخير خير وللاثراء

هذه طريقة اخرى  لتمرير البيانات بين النموذج الرئيس والفرعي

او بمعنى اصح  جلب البيانات الى النموذج الرئيس بعد معالجتها في الفرعي

2نطوره.rar

  • Like 1
رابط هذا التعليق
شارك

  • أفضل إجابة

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

 

شكرا أخوي ابو خليل ، فانت شجعتني ان اقوم بأخذ البيانات من النموذج الفرعي ، بدل زيارة الجدول ، وهذه ستكون اسرع الطرق:smile:

عملت زر جديد ، ووضعت عليه هذا الكود:

Private Sub cmd_Search2_Click()
On Error GoTo error_Capture2

    تابع15.Requery
    
    Dim rst As DAO.Recordset
    Dim rst2 As DAO.Recordset
    
    Set rst = Me.تابع15.Form.RecordsetClone
    
'إيرادات
    rst.Filter = "[نوع السند]='إيرادات'"
    rst.Sort = "[رقم السند]"
    
    Set rst2 = rst.OpenRecordset
    Me.Erad_From = rst2![رقم السند]
    rst2.MoveLast
    Me.Erad_To = rst2![رقم السند]
    
'اجل
    rst.Filter = "[نوع السند]='اجل'"
    rst.Sort = "[رقم السند]"
    
    Set rst2 = rst.OpenRecordset
    Me.Aajel_From = rst2![رقم السند]
    rst2.MoveLast
    Me.Aajel_To = rst2![رقم السند]
    
'مصاريف
    rst.Filter = "[نوع السند]='مصاريف'"
    rst.Sort = "[رقم السند]"
    
    Set rst2 = rst.OpenRecordset
    Me.Masareef_From = rst2![رقم السند]
    rst2.MoveLast
    Me.Masareef_To = rst2![رقم السند]
    
'سداد
    rst.Filter = "[نوع السند]='سداد'"
    rst.Sort = "[رقم السند]"
    
    Set rst2 = rst.OpenRecordset
    Me.Sadad_From = rst2![رقم السند]
    rst2.MoveLast
    Me.Sadad_To = rst2![رقم السند]
    
Exit_error_Capture2:
    rst.close: Set rst = Nothing
    rst2.close: Set rst2 = Nothing
    
Exit Sub
error_Capture2:

    If Err.Number = 3021 Then
        MsgBox "لا توجد بيانات"
        Resume Exit_error_Capture2
    Else
    Debug.Print Err.Number
        MsgBox Err.Number & vbCrLf & Err.Description
    End If
        
        
End Sub

 

جعفر

688.1.لازام نطوره - Copy.mdb.zip

  • Like 1
رابط هذا التعليق
شارك

19 ساعات مضت, ابوخليل said:

السلام عليكم

وزيادة الخير خير وللاثراء

هذه طريقة اخرى  لتمرير البيانات بين النموذج الرئيس والفرعي

او بمعنى اصح  جلب البيانات الى النموذج الرئيس بعد معالجتها في الفرعي

2نطوره.rar

السلام عليكم اخي  أبو خليل كما قلت سلفا زياده الخير خير ونشكرك عللى مشاركتك معنا مع تقدير لاستاذي جعفر ما قصر فكرته صائبه ولكن يوجد بعض الملاحظات اذا غيرت التاريخ  ما يحدث الأرقام الصحيحه أي مثلا اذا عملت اليوم 2 سندات وعملت بحث بيوميه امس وارجع ابحث بيوميه تاريخ اليوم ستجد ارقام السندات معلقه المفروض لا تظهر ما دام وانا لم اعمل سندات  على العموم اخي جربت فكرتك وجدت لاباس  فيها ولكن  لا ينظر الى نوع السند المفروض أي عندي

1 ايردات

2 اجل

3 مصاريف

4 سداد

المطلوب ظهور كل سند بالمكان المخصص له كما موضح بنموذج اليوميه

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

 

9 ساعات مضت, jjafferr said:

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

 

شكرا أخوي ابو خليل ، فانت شجعتني ان اقوم بأخذ البيانات من النموذج الفرعي ، بدل زيارة الجدول ، وهذه ستكون اسرع الطرق:smile:

عملت زر جديد ، ووضعت عليه هذا الكود:


Private Sub cmd_Search2_Click()
On Error GoTo error_Capture2

    تابع15.Requery
    
    Dim rst As DAO.Recordset
    Dim rst2 As DAO.Recordset
    
    Set rst = Me.تابع15.Form.RecordsetClone
    
'إيرادات
    rst.Filter = "[نوع السند]='إيرادات'"
    rst.Sort = "[رقم السند]"
    
    Set rst2 = rst.OpenRecordset
    Me.Erad_From = rst2![رقم السند]
    rst2.MoveLast
    Me.Erad_To = rst2![رقم السند]
    
'اجل
    rst.Filter = "[نوع السند]='اجل'"
    rst.Sort = "[رقم السند]"
    
    Set rst2 = rst.OpenRecordset
    Me.Aajel_From = rst2![رقم السند]
    rst2.MoveLast
    Me.Aajel_To = rst2![رقم السند]
    
'مصاريف
    rst.Filter = "[نوع السند]='مصاريف'"
    rst.Sort = "[رقم السند]"
    
    Set rst2 = rst.OpenRecordset
    Me.Masareef_From = rst2![رقم السند]
    rst2.MoveLast
    Me.Masareef_To = rst2![رقم السند]
    
'سداد
    rst.Filter = "[نوع السند]='سداد'"
    rst.Sort = "[رقم السند]"
    
    Set rst2 = rst.OpenRecordset
    Me.Sadad_From = rst2![رقم السند]
    rst2.MoveLast
    Me.Sadad_To = rst2![رقم السند]
    
Exit_error_Capture2:
    rst.close: Set rst = Nothing
    rst2.close: Set rst2 = Nothing
    
Exit Sub
error_Capture2:

    If Err.Number = 3021 Then
        MsgBox "لا توجد بيانات"
        Resume Exit_error_Capture2
    Else
    Debug.Print Err.Number
        MsgBox Err.Number & vbCrLf & Err.Description
    End If
        
        
End Sub

 

جعفر

688.1.لازام نطوره - Copy.mdb.zip

السلام عليكم اخي واستاذي جعفر الذي عملته بالبدايه ممتاز ولكن  عند تغير التاريخ الي اليوم السابق وارجع ثاني لليوم الثاني اجد بعض ارقام السندات  تظهر من اليوم السابق  لو نظرنا لاستاذنا أبو خليل ما عمله ممتاز ولكن لم ينتبه لنوع السند كل عل يظهر بالمكان المخصص شاكر لك اخي وان شاء الله نوصل لنتيجه  ولو عملنا طريقه انه مثلا عند فتح النماذج لا تظهر البيانات بالجدول الفرعي والريسي الا بعد الضغط على زر البحث فيكون افضل باذن الله نكون خلصنا من المشكله  تحياتي

تم تعديل بواسطه ابو زاهر
رابط هذا التعليق
شارك

اخي وضاح:smile:

 

الكود يعمل بشكل صحيح ، ولكن ملاحظتك هي حول:

متى استعمال الكود ، اي متى تريد الكود القيام بالحسبة ،

55 دقائق مضت, ابو زاهر said:

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

 

وهذا الذي يصير في المرفق اعلاه:smile:

 

جعفر

  • Like 1
رابط هذا التعليق
شارك

5 دقائق مضت, jjafferr said:

اخي وضاح:smile:

 

الكود يعمل بشكل صحيح ، ولكن ملاحظتك هي حول:

متى استعمال الكود ، اي متى تريد الكود القيام بالحسبة ،

 

وهذا الذي يصير في المرفق اعلاه:smile:

 

جعفر

استاذي اذا عملت بحث بتاريخ امس يظهر معي كويس لكن لو قمت بإصدار سند جديد بتاريخ اليوم او غدا لم يظهر الترقيم بينما تظهر بالجدول الفرعي

رابط هذا التعليق
شارك

10 دقائق مضت, jjafferr said:

هل استعملت زر البحث2

نعم استاذي استخدمه ويقول القيمه غير صحيحه  رغم ان السند يظهر بالجدول الفرعي انت لو عملت سند بتاريخ احدث ستعرف المشكله  استاذي

رابط هذا التعليق
شارك

تفضل:smile:

 

وهذا الكود الاول

Private Sub أمر20_Click()
On Error GoTo error_Capture
تابع15.Requery


    Dim rst As DAO.Recordset
'إيرادات
    iField = "إيرادات"
    mySQL = "Select [رقم السند]"
    mySQL = mySQL & " From السندات"
    mySQL = mySQL & " Where [نوع السند]='إيرادات'"
    mySQL = mySQL & " And التاريخ>=#" & Me.n1 & "#"
    mySQL = mySQL & " And التاريخ<=#" & Me.n2 & "#"
    mySQL = mySQL & " Order By [رقم السند]"
    
    Set rst = CurrentDb.OpenRecordset(mySQL)
    rst.MoveLast: rst.MoveFirst
    rc = rst.RecordCount
    Me.Erad_From = rst![رقم السند]
    rst.MoveLast
    Me.Erad_To = rst![رقم السند]
    
'اجل
    iField = "اجل"
    mySQL = "Select [رقم السند]"
    mySQL = mySQL & " From السندات"
    mySQL = mySQL & " Where [نوع السند]='اجل'"
    mySQL = mySQL & " And التاريخ>=#" & Me.n1 & "#"
    mySQL = mySQL & " And التاريخ<=#" & Me.n2 & "#"
    mySQL = mySQL & " Order By [رقم السند]"
    
    Set rst = CurrentDb.OpenRecordset(mySQL)
    rst.MoveLast: rst.MoveFirst
    rc = rst.RecordCount
    Me.Aajel_From = rst![رقم السند]
    rst.MoveLast
    Me.Aajel_To = rst![رقم السند]
    
'مصاريف
    iField = "مصاريف"
    mySQL = "Select [رقم السند]"
    mySQL = mySQL & " From السندات"
    mySQL = mySQL & " Where [نوع السند]='مصاريف'"
    mySQL = mySQL & " And التاريخ>=#" & Me.n1 & "#"
    mySQL = mySQL & " And التاريخ<=#" & Me.n2 & "#"
    mySQL = mySQL & " Order By [رقم السند]"
    
    Set rst = CurrentDb.OpenRecordset(mySQL)
    rst.MoveLast: rst.MoveFirst
    rc = rst.RecordCount
    Me.Masareef_From = rst![رقم السند]
    rst.MoveLast
    Me.Masareef_To = rst![رقم السند]
    
'سداد
    iField = "سداد"
    mySQL = "Select [رقم السند]"
    mySQL = mySQL & " From السندات"
    mySQL = mySQL & " Where [نوع السند]='سداد'"
    mySQL = mySQL & " And التاريخ>=#" & Me.n1 & "#"
    mySQL = mySQL & " And التاريخ<=#" & Me.n2 & "#"
    mySQL = mySQL & " Order By [رقم السند]"
    
    Set rst = CurrentDb.OpenRecordset(mySQL)
    rst.MoveLast: rst.MoveFirst
    rc = rst.RecordCount
    Me.Sadad_From = rst![رقم السند]
    rst.MoveLast
    Me.Sadad_To = rst![رقم السند]
    
    MsgBox "لا توجد سندات من نوع" & vbCrLf & msg
        
Exit_error_Capture:
    rst.close: Set rst = Nothing
    
Exit Sub
error_Capture:

    If Err.Number = 3021 Then
        If InStr(msg, iField) = 0 Then
            msg = msg & iField & vbCrLf
        End If
        Resume Next
    
    ElseIf Err.Number = -2147352567 Then
        If InStr(msg, iField) = 0 Then
            msg = msg & iField & vbCrLf
        End If
        Resume Next
    
    Else
        MsgBox Err.Number & vbCrLf & Err.Description
        Resume Exit_error_Capture
    End If
    
End Sub

 

وهذا كود قراءة النموذج الفرعي

Private Sub cmd_Search2_Click()
On Error GoTo error_Capture2

    تابع15.Requery
    
    Dim rst As DAO.Recordset
    Dim rst2 As DAO.Recordset
    
    Set rst = Me.تابع15.Form.RecordsetClone
    
'إيرادات
    iField = "إيرادات"
    rst.Filter = "[نوع السند]='إيرادات'"
    rst.Sort = "[رقم السند]"
    
    Set rst2 = rst.OpenRecordset
    Me.Erad_From = rst2![رقم السند]
    rst2.MoveLast
    Me.Erad_To = rst2![رقم السند]
    
'اجل
    iField = "اجل"
    rst.Filter = "[نوع السند]='اجل'"
    rst.Sort = "[رقم السند]"
    
    Set rst2 = rst.OpenRecordset
    Me.Aajel_From = rst2![رقم السند]
    rst2.MoveLast
    Me.Aajel_To = rst2![رقم السند]
    
'مصاريف
    iField = "مصاريف"
    rst.Filter = "[نوع السند]='مصاريف'"
    rst.Sort = "[رقم السند]"
    
    Set rst2 = rst.OpenRecordset
    Me.Masareef_From = rst2![رقم السند]
    rst2.MoveLast
    Me.Masareef_To = rst2![رقم السند]
    
'سداد
    iField = "سداد"
    rst.Filter = "[نوع السند]='سداد'"
    rst.Sort = "[رقم السند]"
    
    Set rst2 = rst.OpenRecordset
    Me.Sadad_From = rst2![رقم السند]
    rst2.MoveLast
    Me.Sadad_To = rst2![رقم السند]
    
    MsgBox "لا توجد سندات من نوع" & vbCrLf & msg
    
Exit_error_Capture2:
    rst.close: Set rst = Nothing
    rst2.close: Set rst2 = Nothing
    
Exit Sub
error_Capture2:

    If Err.Number = 3021 Then
        If InStr(msg, iField) = 0 Then
            msg = msg & iField & vbCrLf
        End If
        Resume Next
    
    ElseIf Err.Number = -2147352567 Then
        If InStr(msg, iField) = 0 Then
            msg = msg & iField & vbCrLf
        End If
        Resume Next
    
    Else
        MsgBox Err.Number & vbCrLf & Err.Description
        Resume Exit_error_Capture2
    End If
        
        
End Sub

 

جعفر

688.1.لازام نطوره - Copy.mdb.zip

  • Like 1
رابط هذا التعليق
شارك

26 دقائق مضت, jjafferr said:

تفضل:smile:

 

وهذا الكود الاول


Private Sub أمر20_Click()
On Error GoTo error_Capture
تابع15.Requery


    Dim rst As DAO.Recordset
'إيرادات
    iField = "إيرادات"
    mySQL = "Select [رقم السند]"
    mySQL = mySQL & " From السندات"
    mySQL = mySQL & " Where [نوع السند]='إيرادات'"
    mySQL = mySQL & " And التاريخ>=#" & Me.n1 & "#"
    mySQL = mySQL & " And التاريخ<=#" & Me.n2 & "#"
    mySQL = mySQL & " Order By [رقم السند]"
    
    Set rst = CurrentDb.OpenRecordset(mySQL)
    rst.MoveLast: rst.MoveFirst
    rc = rst.RecordCount
    Me.Erad_From = rst![رقم السند]
    rst.MoveLast
    Me.Erad_To = rst![رقم السند]
    
'اجل
    iField = "اجل"
    mySQL = "Select [رقم السند]"
    mySQL = mySQL & " From السندات"
    mySQL = mySQL & " Where [نوع السند]='اجل'"
    mySQL = mySQL & " And التاريخ>=#" & Me.n1 & "#"
    mySQL = mySQL & " And التاريخ<=#" & Me.n2 & "#"
    mySQL = mySQL & " Order By [رقم السند]"
    
    Set rst = CurrentDb.OpenRecordset(mySQL)
    rst.MoveLast: rst.MoveFirst
    rc = rst.RecordCount
    Me.Aajel_From = rst![رقم السند]
    rst.MoveLast
    Me.Aajel_To = rst![رقم السند]
    
'مصاريف
    iField = "مصاريف"
    mySQL = "Select [رقم السند]"
    mySQL = mySQL & " From السندات"
    mySQL = mySQL & " Where [نوع السند]='مصاريف'"
    mySQL = mySQL & " And التاريخ>=#" & Me.n1 & "#"
    mySQL = mySQL & " And التاريخ<=#" & Me.n2 & "#"
    mySQL = mySQL & " Order By [رقم السند]"
    
    Set rst = CurrentDb.OpenRecordset(mySQL)
    rst.MoveLast: rst.MoveFirst
    rc = rst.RecordCount
    Me.Masareef_From = rst![رقم السند]
    rst.MoveLast
    Me.Masareef_To = rst![رقم السند]
    
'سداد
    iField = "سداد"
    mySQL = "Select [رقم السند]"
    mySQL = mySQL & " From السندات"
    mySQL = mySQL & " Where [نوع السند]='سداد'"
    mySQL = mySQL & " And التاريخ>=#" & Me.n1 & "#"
    mySQL = mySQL & " And التاريخ<=#" & Me.n2 & "#"
    mySQL = mySQL & " Order By [رقم السند]"
    
    Set rst = CurrentDb.OpenRecordset(mySQL)
    rst.MoveLast: rst.MoveFirst
    rc = rst.RecordCount
    Me.Sadad_From = rst![رقم السند]
    rst.MoveLast
    Me.Sadad_To = rst![رقم السند]
    
    MsgBox "لا توجد سندات من نوع" & vbCrLf & msg
        
Exit_error_Capture:
    rst.close: Set rst = Nothing
    
Exit Sub
error_Capture:

    If Err.Number = 3021 Then
        If InStr(msg, iField) = 0 Then
            msg = msg & iField & vbCrLf
        End If
        Resume Next
    
    ElseIf Err.Number = -2147352567 Then
        If InStr(msg, iField) = 0 Then
            msg = msg & iField & vbCrLf
        End If
        Resume Next
    
    Else
        MsgBox Err.Number & vbCrLf & Err.Description
        Resume Exit_error_Capture
    End If
    
End Sub

 

وهذا كود قراءة النموذج الفرعي


Private Sub cmd_Search2_Click()
On Error GoTo error_Capture2

    تابع15.Requery
    
    Dim rst As DAO.Recordset
    Dim rst2 As DAO.Recordset
    
    Set rst = Me.تابع15.Form.RecordsetClone
    
'إيرادات
    iField = "إيرادات"
    rst.Filter = "[نوع السند]='إيرادات'"
    rst.Sort = "[رقم السند]"
    
    Set rst2 = rst.OpenRecordset
    Me.Erad_From = rst2![رقم السند]
    rst2.MoveLast
    Me.Erad_To = rst2![رقم السند]
    
'اجل
    iField = "اجل"
    rst.Filter = "[نوع السند]='اجل'"
    rst.Sort = "[رقم السند]"
    
    Set rst2 = rst.OpenRecordset
    Me.Aajel_From = rst2![رقم السند]
    rst2.MoveLast
    Me.Aajel_To = rst2![رقم السند]
    
'مصاريف
    iField = "مصاريف"
    rst.Filter = "[نوع السند]='مصاريف'"
    rst.Sort = "[رقم السند]"
    
    Set rst2 = rst.OpenRecordset
    Me.Masareef_From = rst2![رقم السند]
    rst2.MoveLast
    Me.Masareef_To = rst2![رقم السند]
    
'سداد
    iField = "سداد"
    rst.Filter = "[نوع السند]='سداد'"
    rst.Sort = "[رقم السند]"
    
    Set rst2 = rst.OpenRecordset
    Me.Sadad_From = rst2![رقم السند]
    rst2.MoveLast
    Me.Sadad_To = rst2![رقم السند]
    
    MsgBox "لا توجد سندات من نوع" & vbCrLf & msg
    
Exit_error_Capture2:
    rst.close: Set rst = Nothing
    rst2.close: Set rst2 = Nothing
    
Exit Sub
error_Capture2:

    If Err.Number = 3021 Then
        If InStr(msg, iField) = 0 Then
            msg = msg & iField & vbCrLf
        End If
        Resume Next
    
    ElseIf Err.Number = -2147352567 Then
        If InStr(msg, iField) = 0 Then
            msg = msg & iField & vbCrLf
        End If
        Resume Next
    
    Else
        MsgBox Err.Number & vbCrLf & Err.Description
        Resume Exit_error_Capture2
    End If
        
        
End Sub

 

جعفر

688.1.لازام نطوره - Copy.mdb.zip

اشكرك استاذي جعفر ما شاء الله لمسات اعجبتني كثير جزاك الله خير

اخي   لمسه أخير ه   اذا ممكن عند التحميل يكون يظهر الأرقام  بدل ما نظغط علي الزر 

ملاحظه بسيطه اذا عملت بحث بتاريخ اليوم وقمت بعمل بحث بتاريخ بكره يقوم يظهر لي الأرقام  وهو أساس ما عندي سندات بتاريخ بكره

تحياتي لك استاذي القدير ولكل من شارك معنا

رابط هذا التعليق
شارك

8 دقائق مضت, jjafferr said:

استاذي كم انت رائع بابداعتك    اسال الله ان ينفع بك الإسلام والمسلمين

رابط هذا التعليق
شارك

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