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

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

قام بنشر

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

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

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

899999.rar

قام بنشر
  في 22‏/7‏/2017 at 19:24, jjafferr said:

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

 

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

 

جعفر

Expand  

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

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

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

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

قام بنشر
  في 22‏/7‏/2017 at 19:24, jjafferr said:

 

 

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

 

جعفر

Expand  

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

قام بنشر

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

هذا لأجل من سند رقم :  (توضع بمصدر سجلات مربع النص - 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

  في 22‏/7‏/2017 at 20:09, أبو عبدالله الحلوانى said:

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

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

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

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

 

Expand  

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

 

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

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

 

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

 

جعفر

  • Like 2
قام بنشر
  في 22‏/7‏/2017 at 20:16, 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.zipFetching info...

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

 

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

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

 

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

 

جعفر

Expand  

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

  في 22‏/7‏/2017 at 20:09, أبو عبدالله الحلوانى said:

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

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

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

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

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

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

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

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

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

ملاحظة:

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

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

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

 

Expand  

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

قام بنشر
  في 22‏/7‏/2017 at 20:45, ابو زاهر said:

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

Expand  

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

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

 

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

 

جعفر

  • Like 1
قام بنشر
  في 22‏/7‏/2017 at 19:24, jjafferr said:

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

 

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

 

جعفر

Expand  

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

قام بنشر
  في 22‏/7‏/2017 at 20:50, jjafferr said:

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

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

 

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

 

جعفر

Expand  

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

قام بنشر

السلام عليكم

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

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

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

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.zipFetching info...

  • Like 1
قام بنشر (معدل)
  في 22‏/7‏/2017 at 22:10, ابوخليل said:

السلام عليكم

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

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

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

2نطوره.rarFetching info...

Expand  

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

1 ايردات

2 اجل

3 مصاريف

4 سداد

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

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

 

  في 23‏/7‏/2017 at 08:00, 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.zipFetching info...

Expand  

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

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

اخي وضاح:smile:

 

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

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

  في 23‏/7‏/2017 at 17:13, ابو زاهر said:

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

Expand  

 

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

 

جعفر

  • Like 1
قام بنشر
  في 23‏/7‏/2017 at 18:08, jjafferr said:

اخي وضاح:smile:

 

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

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

 

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

 

جعفر

Expand  

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

قام بنشر
  في 23‏/7‏/2017 at 18:17, jjafferr said:

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

Expand  

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

قام بنشر

تفضل: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
قام بنشر

السلام عليكم اخي عبدالله ياليت تعمل فكرتك بالقاعده بعد اذن الأستاذ جعفر وأبو خليل

قام بنشر
  في 23‏/7‏/2017 at 19:06, 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.zipFetching info...

Expand  

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

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

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

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

قام بنشر
  في 23‏/7‏/2017 at 19:49, jjafferr said:
Expand  

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

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