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

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

قام بنشر

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

في المرفق جدول وتقرير

الجدول يشتمل على رقم معرف وثلاث حقول أخرى رقمية مختلفة

التقرير يشتمل على حقل المعرف وحقل للقيمة

المطلوب اظهار قيم الحقول في التقرير بأسهل طريقة ممكنة

لا اريد استخدام استعلام التوحيد

لان الحقول كثيرة جدا في التقرير

 

Db3.mdbFetching info...

قام بنشر

وعليكم السلام اخوي ابوخليل 🙂

 

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

ممكن ان تجمعهم يدويا (اذا كان عدد الحقول قليل) ، وممكن جمعهم برمجيا اذا كانوا كثير 🙂

 

هذا الموضوع فيه الطريقتين: كيفية جمع قيمه اكثر من حقل ب استعلام - قسم الأكسيس Access - أوفيسنا (officena.net)

 

جعفر

قام بنشر

شكرا لمرورك اخي جعفر

انا لا اريد الجمع .. اريد ان اعرض القيم تحت بعض كل قيمة في سجل ..  داخل الخلية نفسها

فلو انني عرضتها كما هي في الجدول لاحتجت الى 8 حقول (اعمدة) بجانب بعض

فالفكرة ان جميع الأعمدة نريد ان يتم عرضها من خلال خلية واحدة

قام بنشر

اعتذر منك اخوي ابوخليل ، فهمي بطيء هذه الايام 😞

يا ريت بمثال في الاكسل او صورة علشان افهم 🙂

 

جعفر

  • تمت الإجابة
قام بنشر

هممم

انت تنظر لها: تريد الحقل اللي فيه المبلغ فقط ، مثلا السجل الاول = 6093.69 ،

وانا انظر لها: نجمع الحقول (وليس نعرضهم جنب بعض) ،  مثلا السجل الاول = 6093.69 +0 +0 = 6093.69 ،

والنتيجة ، الطريقتين تعطي نفس النتيجة 🙂

 

هل كلامي صحيح ؟

  • Thanks 1
قام بنشر

انا اريد العرض اليومي بالمدخلات

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

 

آه يبدو اني فهمت وجهة نظرك

صح .. 

ما شاء الله عليك 

قام بنشر

تفضل 🙂
 

في الاستعلام ، ننادي الدالة Add_Fields ، ونرسل لها رقم المعرف id :

image.png.47171753b43a2b9ce6052327babbb832.png

.
 

وهذه هي دالة جمع بيانات حقول السجل الواحد :

Function Add_Fields(id As Long) As Double

    
    Dim rst As DAO.Recordset
    Dim fld As Field
    Dim T As Double
    
    'get this Name Record from the table
    Set rst = CurrentDb.OpenRecordset("Select * From [tblAmlyat] Where [id]= " & id)
    
    T = 0   'initial Total
    
    'loop through the fields
    For Each fld In rst.Fields
    
        'Debug.Print fld.Name & vbTab & fld.Value
        
        'skip the Full_Name field name
        If fld.Name <> "id" Then
            'add the field values
            T = T + fld.Value
        End If
        
    Next fld
    
    'now send this Total to the query
    Add_Fields = T
    
    'clear memory
    rst.Close: Set rst = Nothing
    
End Function

 

جعفر

1382.Db3.mdb.zipFetching info...

  • Like 4
قام بنشر (معدل)
  في 2‏/6‏/2021 at 10:11, jjafferr said:
Expand  

 

من الأفضل لكل شخص مبتدئ مثلي ان يقوم بتخزين جميع ما تكتبه من حلول وإجابات في ردودك :wub:

لكي تكون مرجع أساسي في برمجة الأكسس :yes:

تم تعديل بواسطه SEMO.Pa3x
  • Like 1
قام بنشر
  في 2‏/6‏/2021 at 10:20, SEMO.Pa3x said:

من الأفضل لكل شخص مبتدئ مثلي

Expand  

بسم الله عليك يا دكتور حسنين ، لا يكون صاير عندك انفصام في الشخصية 🙂

انتم النهر ، وانما انا شربة ماء فقط 🙂

 

جعفر

  • Like 2
  • Thanks 1
قام بنشر

حقيقة الحل جميل وهو اسهل طريق لتطبيق الفكرة

ولكن واجهت مشكلة منطقية وهي ان بعض السجلات تحتوي على اكثر من قيمة مثلا :

عمود المشتريات وبجانبه عمود المدفوعات فعند تسجيل شراء جديد يتم رصد القيمة الكلية في حقل المشتريات  واحيانا يتم دفع بعض القيمة فترصد في حقل المدفوعات

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

للعلم ان التقرير يعرض قائمة كاملة بجميع البنود : المشتريات/المصروفات/المدفوع كتسديد آجل/المبيعات / المرتجعات / وبنود اخرى تخص هذا المتجر

فلو اضطررت لتطبق هذا الحل فانا مضطر ايضا لتقسيم التقرير

وكما ذكرت في مشاركتي السابقة ان التقرير عبارة عن كشف مفصل للحركات اليومية

قام بنشر
  في 2‏/6‏/2021 at 13:05, ابوخليل said:

عمود المشتريات وبجانبه عمود المدفوعات فعند تسجيل شراء جديد يتم رصد القيمة الكلية في حقل المشتريات  واحيانا يتم دفع بعض القيمة فترصد في حقل المدفوعات

Expand  

 

  في 2‏/6‏/2021 at 13:05, ابوخليل said:

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

Expand  

حسب فهمي ان كان التجميع رأسيا علي مستوي كامل العمود فلن يحدث مشكلة فكل عمود يجمع بيانات موحدة فعمود الشراء سيكون به قيم المشتريات فحسب وهكذا - اللهم الا ان كان التجميع افقيا علي مستوي الصف ففي هذه الحالة كما ذكر أستاذنا خالد يمكن التعديل علي شرط اسم الحقل لاستبعاد او حتي خصم قيم حقول معينة وأعتقد أن هذا لن يكون صعبا عليكم.

مثال:

' a = مشتريات
' b = مدفوعات
' c = مصروفات
' d = مرتجع مشتريات
' e = مبيعات
' f = مرتجع مبيعات

	If fld.Name <> "id" Then
            'add the field values
            T =IIf(fld.Name= a, (T + fld.Value),IIf(fld.Name=b,(T - fld.Value),IIf(fld.Name=C,(T - fld.Value), _
			IIf(fld.Name=d,(T + fld.Value),IIf(fld.Name=e,(T + fld.Value),(T - fld.Value))))))
        End If

ولا ازعم ان قد فهمت المطلوب بشكل كافي ولكن محاولة من طويلب علم بمدرستكم لتطبيق ما تعلم منكم من قبل (فهذه بضاعتكم ردت اليكم) :yes:

وجزاكم الله خيرا 

قام بنشر

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

اعتقد ان المسألة لا حل لها سوى تجاوز احد الاعمدة ، واخراجه في تقرير يخصه

المشكلة هي انها في سجل واحد والمعرف واحد ، والتقرير يعرض حسب المعرف

هنا كما تشاهدون في الصورة  المشتريات والمدفوعات ضمن سجل واحد ، وبما ان المدفوعات اشمل حيث يدخل ضمنها أشياء تدفع لأغراض شتى فسوف يتم اعتماده 

فالحل الذي اعتمدته هو ان افرد للمشتريات تقرير يخصها

Untitled2.jpg

  • Like 2
قام بنشر
  في 3‏/6‏/2021 at 02:00, ابوخليل said:

لا حل لها سوى تجاوز احد الاعمدة ،

....

فالحل الذي اعتمدته هو ان افرد للمشتريات تقرير يخصها

Expand  

اعتقد الحل هو بإضافة عمود خاص للمشتريات في الاستعلام ، ولا يدخل هذا العمود في الجمع ، انظر ملاحظة اخونا خالد اعلاه ، واضف اسم العمود في السطر المُشار اليه :

If fld.Name <> "id" or fld.Name <> "المشتريات" Then

هكذا يصبح عندك 4 اعمدة في الاستعلام/التقرير:

المعرف ، المشتريات ، مجموع بقية الحقول ، المجموع العام (=المشتريات + مجموع بقية الحقول) 🙂

 

جعفر

  • Like 1
قام بنشر

شكرا لكم اساتذتي الكرام  الاستاذ جعفر والاستاذخالد والاستاذ محمدالحلواني

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

وكما ذكرت سابقا ان هذا التقرير  لعرض ما تم ادخاله خلال يوم .. حتى يتأكد صاحب العمل ان الفواتير اليومية تم ادخالها جميعا .

  • Like 3

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