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

اختصار الكود


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

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

السلام عليكم و رحمة الله

هذا كود يقوم

1- حساب عدد حصص كل معلم وتسجيلها فى مربع نص اسمه sthu88

2 - حساب مجموع كل الحصص و تدوينها فى مربع نص اسمه total

وذلك بالتنقل عبر حقول الاستعلام Q_all و حساب الحصص و ذلك باستخدام رقم الحقل فى dao

وقد قمت بعمل دوارتين لهذا الغرض

و قد اضطررت لتكرار جزء من الدوارة الأولى و استخدامه فى الدوارة الثانية

Private Sub تفصيل_Format(Cancel As Integer, FormatCount As Integer)
Dim db As Database
Dim rs As DAO.Recordset
Dim i As Integer
Dim ii As Integer
Dim tt As Integer
Set db = CurrentDb
Set rs = db.OpenRecordset(Me.RecordSource)
rs.MoveFirst
Do Until rs.EOF
    For i = 3 To 47
                If rs(i) <> "" Then
                     ii = ii + 1
                End If
    Next i
 tt = tt + ii
 rs.MoveNext
   ii = 0
 Loop
rs.MoveFirst
  rs.FindFirst ("[tt_tname]=" & [tt_tname])
  For i = 3 To 47
                If rs(i) <> "" Then
                ii = ii + 1
                End If
    Next i
    Me.sthu88 = ii
Me.total = tt
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
End Sub

الجزء المكرر هو هذا الذى يحسب عدد حصص كل مدرس


                     
  For i = 3 To 47
                If rs(i) <> "" Then
                ii = ii + 1
                End If
    Next i
    Me.sthu88 = ii

هل يمكن ضم الدوارتين معا كما كنت أحاول سابقا

لكنى لم أنجح

شكرا لكم مقدما

الملف مرفق

و التقرير

rpt_alls

newTab113.rar

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

  • أفضل إجابة

وعليكم السلام اخي عبدالفتاح:smile:

 

مافي داعي للكود من اصله:smile:

اضف هذا الحقل الى الاستعلام Q_all ، ليحسب عدد حصص المدرسين:

sthu88: Nz([sun1]/[sun1],0)+Nz([sun2]/[sun2],0)+Nz([sun3]/[sun3],0)+Nz([sun4]/[sun4],0)+Nz([sun5]/[sun5],0)+Nz([sun6]/[sun6],0)+Nz([sun7]/[sun7],0)+Nz([sun8]/[sun8],0)+Nz([sun9]/[sun9],0)+Nz([mon1]/[mon1],0)+Nz([mon2]/[mon2],0)+Nz([mon3]/[mon3],0)+Nz([mon4]/[mon4],0)+Nz([mon5]/[mon5],0)+Nz([mon6]/[mon6],0)+Nz([mon7]/[mon7],0)+Nz([mon8]/[mon8],0)+Nz([mon9]/[mon9],0)+Nz([tu1]/[tu1],0)+Nz([tu2]/[tu2],0)+Nz([tu3]/[tu3],0)+Nz([tu4]/[tu4],0)+Nz([tu5]/[tu5],0)+Nz([tu6]/[tu6],0)+Nz([tu7]/[tu7],0)+Nz([tu8]/[tu8],0)+Nz([tu9]/[tu9],0)+Nz([wed1]/[wed1],0)+Nz([wed2]/[wed2],0)+Nz([wed3]/[wed3],0)+Nz([wed4]/[wed4],0)+Nz([wed5]/[wed5],0)+Nz([wed6]/[wed6],0)+Nz([wed7]/[wed7],0)+Nz([wed8]/[wed8],0)+Nz([wed9]/[wed9],0)+Nz([thu1]/[thu1],0)+Nz([thu2]/[thu2],0)+Nz([thu3]/[thu3],0)+Nz([thu4]/[thu4],0)+Nz([thu5]/[thu5],0)+Nz([thu6]/[thu6],0)+Nz([thu7]/[thu7],0)+Nz([thu8]/[thu8],0)+Nz([thu9]/[thu9],0)

 

وفي التقرير:

اجعل مصدر بيانات الحقل sthu88 تشير الى حقل الاستعلام sthu88 ،

واما حقل total ، فاجعل مصدره:

=Sum([sthu88])

 

جعفر

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

يا سلام على الأفكار النيرة

حيلة عظيمة

قسمة الحقل على نفسه

يعطينا 1  فى حال كان به أى رقم

وصفر إن كان فارغا

بارك الله فى علمك

وشكرا لاستحابتك

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

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.

×
×
  • اضف...

Important Information