shabrawy قام بنشر يناير 15 قام بنشر يناير 15 السلام عليكم تحياتي لاعضاء المنتدى الكرام عندي قاعدة بيانات وبها مجموعة من الحقول وقمت بعمل استعلام يضم كل هذه الحقول واريد عمل تقرير استطيع من خلاله اختيار اي من هذه البنود وربطها بتقرير يظهر فيه البنود التي تم اختيارها دون غيرها بمعني عندي حقول باسم ( الاسم ، السن ، محل الميلاد، البلد، المستوى العلمي) واريد عند فتح التقرير يكون عندي امكانيةاختيار اي بند من البنود المذكوره يعني لو احتاجت يظهر فى التقرير ( الاسم ، محل الميلاد ، البلد) ولو حبيت اعمل نفس التقرير ولكن ببنود مختلفه (الاسم والمستوى العلمي ) ... الخ بعتذر عن الاطاله فى الشرح واتمني حد يساعدني في طريقه لعمل ذلك شاكر ليكم جدا
ابوخليل قام بنشر يناير 15 قام بنشر يناير 15 عليكم السلام انظر هنا .. موضوع تم طرحه قبل يومين قد يساعدك ولو بحثت داخل المنتدى لوجدت امثلة كثيرة احترافية
shabrawy قام بنشر يناير 16 الكاتب قام بنشر يناير 16 @ابوخليل بشكر حضرتك على المساعده لكن انا دخلت الموضوع والحلول الموجوده به ليست كما اريد او مش قادر استوعب الحلول المطروحه انا بالفعل عامل اكتر من تقرير ومحدد فيه كل العناصر اللى محتاجها فيه وبالشروط اللى انا عايزها لكن انا كنت عايز طريقة من خلالها اقدر اعمل تصفيه لبعض البنود من كل العناصر الموجوده فى استعلام معين يعني انا عامل تقارير معينه لكنها محدده وبتقوم بعد الضغط على زر معين مخصص ليها . فكنت عايز اعمل نفس الفكره باني اضغط على زر ويكون عندي امكانيه لاختيار بعض البنود لتظهر فى التقرير الذي اريده وعند القيام بعمل التقرير مره اخرى استطيع اختيار بنود اخرى وبنفس الشكل الموجود بالتقرير للتوضيح اكتر: عندي جدول به بعض البنود التاليه الرقم - القطاعات - داخل مصر - خارج مصر - المحافظة - المدينة - اسم الشركة .. الخ ومن هذا الجدول عامل استعلامات مختلفه وكل استعلام به بنود معينه ثابته وبتختلف قيمة البنود باختلاف الشروط اللى وضعتها فى كل استعلام اريد عند قيامي بعمل تقرير معين بامكانية اختياري لاي من هذه البنود عند قيام التقرير وساقوم بارفاق نسخه من قاعدة البيانات لامكانية مساعدتي وبعتذر على الاطاله وجزاكم الله خير الجزاء datatest.accdb
gamal gamal قام بنشر يناير 16 قام بنشر يناير 16 فكرة رائعة جدا جدا وهى مجسدة فى ذهنى ... ولكن للأسف لا توجد لدى الخبرة لإخراجها الى النور ... وسأنتظر معك يا غالى حلا من خبراء المنتدى فهم لها ... فهم لها ...
shabrawy قام بنشر يناير 16 الكاتب قام بنشر يناير 16 الفكرة بتتم عن طريق عمل كود للقيام بهذه الطريقه ولكن تنفيذها بيكون صعب شويه ولازم اللى يعملها يكون متمرس فى كتابة الكود ولاني للاسف مش متمرس بشكل كامل فى كتابة الكود لذلك اجد صعوبه فى تنفيذ الفكرة حقيقة المنتدي واعضاءه لا يبخلون بالعطاء لاي شخص يحتاج مساعده في انتظار الاخوه ذوي الخبرات لتنفيذها ولهم جزيل الشكر فى كل الاحوال
safaa salem5 قام بنشر يناير 16 قام بنشر يناير 16 (معدل) 1. إنشاء نموذج وأضف إليه عناصر تحكم للاختيار، مثل صناديق اختيار أو قوائم منسدلة، للحقول التي ترغب في اختيارها في التقرير. 2. قم بتطبيق حدث في النموذج مع زر الطباعة لتنفيذ الاستعلام وعرض التقرير Private Sub btnGenerateReport_Click() ' استدعاء دالة لجمع الحقول المحددة Dim selectedFields As String selectedFields = GetSelectedFields() ' إنشاء استعلام استنادًا إلى الحقول المحددة Dim querySQL As String querySQL = "SELECT " & selectedFields & " FROM TableName;" DoCmd.SetWarnings False DoCmd.RunSQL querySQL ' إنشاء تقرير جديد وتعيينه للاستعلام DoCmd.OpenReport "ReportName", acViewPreview, , querySQL ' إعادة تشغيل تنفيذ الاستعلام DoCmd.SetWarnings True End Sub Private Function GetSelectedFields() As String ' حلقة من خلال عناصر تحكم الاختيار وجمع الحقول المحددة Dim selectedFields As String For Each ctrl In Me.Controls If TypeOf ctrl Is CheckBox Then If ctrl.Value = True Then selectedFields = selectedFields & ctrl.Caption & ", " End If End If Next ctrl ' إزالة الفاصلة الأخيرة If Len(selectedFields) > 0 Then selectedFields = Left(selectedFields, Len(selectedFields) - 2) End If GetSelectedFields = selectedFields End Function تم تعديل يناير 16 بواسطه safaa salem5
safaa salem5 قام بنشر يناير 16 قام بنشر يناير 16 جرب دا كمان 1. قم بإنشاء استعلام يتضمن جميع الحقول التي ترغب في تضمينها في التقرير. 2. قم بإضافة صندوق اختيار لاختيار الحقول المطلوبة في النموذج. يمكنك وضع صناديق اختيار بجانب اسم كل حقل. 3. استخدم حدث "BeforePrint" لتحديث استعلام التقرير بناءً على الحقول المحددة. يمكنك استخدام الشفرة التالية كنموذج للحدث: vba Private Sub Report_BeforePrint(Cancel As Integer) Dim strSQL As String strSQL = "SELECT " If Me.CheckBox1.Value = True Then strSQL = strSQL & "Field1, " End If If Me.CheckBox2.Value = True Then strSQL = strSQL & "Field2, " End If ' استمر في إضافة الحقول الأخرى هنا strSQL = Left(strSQL, Len(strSQL) - 2) ' قم بإزالة الفاصلة الأخيرة strSQL = strSQL & " FROM YourTable" Me.RecordSource = strSQL End Sub 5. قم بتعديل الشفرة أعلاه لكل صندوق اختيار واستبدل "CheckBox1" و "CheckBox2" بمعرف كل صندوق اختيار واستبدل "Field1" و "Field2" بمعرفات الحقول الخاصة بك.
shabrawy قام بنشر يناير 17 الكاتب قام بنشر يناير 17 # safaa salem5 بشكر حضرتك على تعبك لكن لاني مش متمرس فى كتابة الكود هستاذن حضرتك اني ارفق نسخه من قاعدة البيانات وتعملي تطبيق للكود في حقل او حقلين وانا هشوف الطريقه واكمل الخطوات بعد كده وبعتذر على الازعاج وربنا يجازيكي خير test.accdb
Foksh قام بنشر يناير 17 قام بنشر يناير 17 تفضل أخي الكريم ، موضوع جديد وحل لمشكلتك من الأستاذ الفاضل @ابوخليل ، في هذه المشاركة أدناه . عرض حقول محددة في التقرير حسب الاختيار 1
jo_2010 قام بنشر يناير 23 قام بنشر يناير 23 في 16/1/2024 at 22:18, safaa salem5 said: جرب دا كمان 1. قم بإنشاء استعلام يتضمن جميع الحقول التي ترغب في تضمينها في التقرير. 2. قم بإضافة صندوق اختيار لاختيار الحقول المطلوبة في النموذج. يمكنك وضع صناديق اختيار بجانب اسم كل حقل. 3. استخدم حدث "BeforePrint" لتحديث استعلام التقرير بناءً على الحقول المحددة. يمكنك استخدام الشفرة التالية كنموذج للحدث: vba Private Sub Report_BeforePrint(Cancel As Integer) Dim strSQL As String strSQL = "SELECT " If Me.CheckBox1.Value = True Then strSQL = strSQL & "Field1, " End If If Me.CheckBox2.Value = True Then strSQL = strSQL & "Field2, " End If ' استمر في إضافة الحقول الأخرى هنا strSQL = Left(strSQL, Len(strSQL) - 2) ' قم بإزالة الفاصلة الأخيرة strSQL = strSQL & " FROM YourTable" Me.RecordSource = strSQL End Sub 5. قم بتعديل الشفرة أعلاه لكل صندوق اختيار واستبدل "CheckBox1" و "CheckBox2" بمعرف كل صندوق اختيار واستبدل "Field1" و "Field2" بمعرفات الحقول الخاصة بك. ممكن حضرتك لو تكرمتى مثال بسيط بعد اذنك وذلك لقلة الخبرة فى التعامل مع الاكواد
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.