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

ستحل كثير من المشاكل : المطلوب وحدة نمطية تستدعي اي رصيد في حقل في اي فترة زمنية بنفس طريقة الوحدة النمطية التفقيط


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

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

هل يوجد او باستطاعة عبقري ايجاد وحدة نمطية استخدمها في كل مكان بمجرد استدعائها في حقل بنفس طريقة الوحدة النمطية لتفقيط 

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

طيب وليه ما تستخدم استعلام فيه حقل التاريخ واختر منه Where واكتب المعيار Between أو اى معيار تريده واستخدم Dlookup على هذا الاستعلام هتطلعلك النتيجة لحد التاريخ اللى حددته فقط وطبعا على حسب معيارك هل هتحدده يساوى تاريخ او اقل او بين تاريخين وهكذا لو مش واضحة الفكرة ارفق مثال اعدل عليه

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

هنا بداية تصميم وحدة نمطية من يكمل الباقي علما انها احدى مشاركات للاستاذ محمد طاهر السابقة


و يتناول ثلاث امور هي 

الأول الجمع لكل صفحة على حده و الثاني نقل مجموع الصفحة إلى التي بعدها ( ما قبله ) وفى آخر صفحة محموع الصفحات كلها الامر الثالث هو استدعاء اي قيمة من اي حقل بشرط تاريخ معين او غيره .

بالنسبة الامر الأول من السؤال فهذه إجابته :

كود لحساب مجموع رقمي لكل صفحة في تقرير

ضع الكود التالي في الوحدة النمطية الخاصة بالتقرير:

Option Compare Database

Option Explicit

Public PageSum As Double


Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer)

PageSum = 0

End Sub

Private Sub تفصيل_Print(Cancel As Integer, PrintCount As Integer)

PageSum = PageSum + Reports![اسم التقرير]![اسم الحقل المطلوب جمع بياناته]

End Sub

أنشى في مقطع تذييل الصفحة مربع نص وسمه txtPageTotal واجعل مصدر عنصر التحكم له :

=[ PageSum]
بخصوص سؤال الشق الثاني فقد قمت بتجارب حتى وصلت لما أظنه جواب له : 1- في مقطع رأس الصفحة أنشئ مربع نص واجعله مباشرة فوق حقل المبلغ الموجود في مقطع تفصيل واجعل مصدر مصدر عنصر التحكم له : =[PagePreviousSum] 2- في مقطع تذييل الصفحة أنشئ مربعي نص أحدهما باسمtxtPageTotal والآخر باي اسم لايهم ، واجعل مصدر عنصر التحكم للأول : =[PageSum] وللثاني : =[Total]+[txtPageTotal] وفي الوحدة النمطية الخاصة بالتقرير ضع :
Option Compare Database

Public PagePreviousSum As Double

Public PageSum As Double

Public Total As Double

Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer)

  PageSum = 0

  If Me.Page = 1 Then PagePreviousSum = 0

  Total = PagePreviousSum

  End Sub

Private Sub تفصيل_Print(Cancel As Integer, PrintCount As Integer)

PageSum = PageSum + Reports![اسم التقرير]![اسم حقل المبلغ]

PagePreviousSum =اسم مربع النص    

' ضع اسم مربع النص بي [] اذا كان به مسافة

End Sub
لقد جربت الكود على 21 صفحة مليئة بالأرقام وتنقلت بينها وكانت النتيجة صحيحة .

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

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

 

 

صممت نموذج وتقارير نفس الطريقة  الفيديوا

لكن اريد حل الاظهار الرصيد لفترة سابقة فوق حقل المدين اذا اكان الرصيد مدينا وفوق حقل الدائن ان كان الرصيد دائنة في تقارير  اكد مرة ثانية في التقارير بحيث تظهر النتيجة التقرير الفترة الحالية صحيحا في نفس الطريقة المشروحه في الفيديو

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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information