ابوخليل قام بنشر يناير 17, 2024 قام بنشر يناير 17, 2024 السلام عليكم تكثر الحاجة الى اخراج تقرير حسب حقول محددة يختارها المستخدم وهذا الباب تم التطرق اليه في هذا المنتدى ومن يبحث يجد الكثير .. علما اني قد استفدت واخذت من تلك المواضيع فما انا الا ناقل . ورب ناقل علم الى من هو اعلم منه . وحتى يكون هذا الموضوع مرجع مختصر لكيفية تصميم واعداد التقرير لذا عملت على اعداد مثال صغير وهو عبارة عن جدول ونموذج وتقرير اولا : عمل قائمة في النموذج يتم فيها عرض حقول الجدول عند تحميل النموذج ... وهذه الاكواد هي المسؤولة : Private Sub Form_Load() Dim dbs As DAO.Database Dim tbl As DAO.TableDef Dim sCaption As String DoCmd.Restore Set dbs = CurrentDb Set tbl = dbs.TableDefs("table1") For Each fld In tbl.Fields sCaption = "" On Error Resume Next sCaption = fld.Properties("Caption") On Error GoTo 0 lstFields.AddItem fld.Name & ";" & sCaption Next fld Set dbs = Nothing Set tbl = Nothing End Sub ثانيا عملت زر لإعداد الحقول في التقرير ثم فتحه ، وخلف هذا الزر يتم تنفيذ هذه الشفرة Dim i As Integer Dim txt As TextBox Dim lbl As Label Dim intSelectedCount As Integer Dim lngWidth As LoadPictureConstants Dim intSelectedNo As Integer With lstFields If .ItemsSelected.Count = 0 Then MsgBox "يجب اختيار حقل واحد على الأقل", vbExclamation, "خطأ" Exit Sub End If DoCmd.OpenReport "Rep1", acViewDesign, , , acHidden intSelectedCount = .ItemsSelected.Count lngWidth = Reports("Rep1").Width / intSelectedCount Reports("Rep1").Section("PageHeaderSection").Height = 310 Reports!Rep1!Label2.Caption = Nz(Me.Textlabl) Reports("Rep1").Section("Detail").Height = 310 intSelectedNo = 0 For i = 0 To .ListCount - 1 If .Selected(i) Then Set lbl = CreateReportControl("Rep1", acLabel, acPageHeader, , , intSelectedNo * (lngWidth + 50), 5, lngWidth, 300) lbl.Caption = .Column(1, i) lbl.BackStyle = 1 lbl.BackColor = RGB(200, 200, 200) lbl.BorderStyle = 1 lbl.FontBold = True lbl.TextAlign = 2 Set txt = CreateReportControl("Rep1", acTextBox, acDetail, , .Column(0, i), intSelectedNo * (lngWidth + 50), 5, lngWidth, 300) txt.BorderStyle = 1 txt.TextAlign = 2 intSelectedNo = intSelectedNo + 1 End If Next i End With DoCmd.OpenReport "Rep1", acViewReport ملحوظات : جعلت زر الخروج في التقرير يغلق التقرير ( من غير حفظ ) متجاوزا رسالة تأكيد الحفظ حفظ التقرير يسبب تراكم الحقول المصنوعة داخل الكود .. ومن ثم تظهر المشكلات والأخطاء ختاما لا تنسوني من دعواتكم الصالحة واتمنى ان تجدوا فيه الفائدة والمتعة اختيار حقول التقرير.rar 8 2
Foksh قام بنشر يناير 17, 2024 قام بنشر يناير 17, 2024 أحسنت وأبدعت معلمنا @ابوخليل ، هذه الفكرة تقريباً مشابهة لإحدى أفكارك سابقاً التي تقوم بعرض اعمدة محددة في النموذج حسب المستخدم ، ولكن هذه المرة في التقارير . وهذا يجعل الأمر متكاملاً جزاك الله كل الخير لما صنعت 1
shabrawy قام بنشر يناير 17, 2024 قام بنشر يناير 17, 2024 ربنا يجازيك خير ويجعله فى ميزان حسناتك ويبعد عنك كل شر ويكثر من امثالك 1
شايب قام بنشر يناير 17, 2024 قام بنشر يناير 17, 2024 1 ساعه مضت, ابوخليل said: DoCmd.OpenReport "Rep1", acViewDesign, , , acHidden تمام يا استاذنا بارك فيكم ولكم ولكن وجب التنويه انه عند تحويل القاعدة الى accde فلن يتم تنفيذ الامر 1
ابوخليل قام بنشر يناير 17, 2024 الكاتب قام بنشر يناير 17, 2024 37 دقائق مضت, شايب said: تمام يا استاذنا بارك فيكم ولكم ولكن وجب التنويه انه عند تحويل القاعدة الى accde فلن يتم تنفيذ الامر كما تفضلت استاذنا .. فلكل شيء ضريبته في هذه الايام انهج نهجا مختلفا .. حيث رأيت ان accdr تقوم بالمهمة مع بعض الاحتياطات ، وتوفر الكثير من التوافق الذي ينعدم احيانا في accde
محمد بن سعود قام بنشر يناير 17, 2024 قام بنشر يناير 17, 2024 ما شاء الله تبارك الرحمن عليك ابو خليل دائماً تبدع لنا بأفكار جميله و مميزة بصمتك في اوفيسنا تبقى تاريخية ان شاء الله
gamal gamal قام بنشر يناير 18, 2024 قام بنشر يناير 18, 2024 ما شاء الله جهد عظيم وأفكار مبدعه لفتح مجال الإبداع أمام الكافة سلمت يداك يا رجل
shabrawy قام بنشر يناير 21, 2024 قام بنشر يناير 21, 2024 بشكرك مره تانيه على تعاونك ومساعدتك وجعله الله فى ميزان حسناتك ولكن لي استفسار عندي حقل قمت بتسميته (Program value) بالنموذج الخاص بقاعدة البيانات الخاصه بي وهذا الحقل عند اختياره ضمن البنود التي ستظهر فى التقرير يظهر بشكل طبيعي ولكني اريد اضافة امكانية جمع هذا الحقل . اي انه تظهر فى نهاية التقرير اجمالي لهذا الحقل . لذا اريد المساعده فى امكانية اضافة هذه الخاصية الى التقرير . اعلم انه يتم ذلك من خلال التعديل على الكود الموجود بالتقرير وللامانه حاولت ان اقوم بذلك ولكنني لم استطع. لذا اريد المساعده ان امكن ولكم جزيل الشكر
شامل2 قام بنشر يناير 21, 2024 قام بنشر يناير 21, 2024 في 17/1/2024 at 15:37, ابوخليل said: السلام عليكم تكثر الحاجة الى اخراج تقرير حسب حقول محددة يختارها المستخدم وهذا الباب تم التطرق اليه في هذا المنتدى ومن يبحث يجد الكثير .. علما اني قد استفدت واخذت من تلك المواضيع فما انا الا ناقل . ورب ناقل علم الى من هو اعلم منه . وحتى يكون هذا الموضوع مرجع مختصر لكيفية تصميم واعداد التقرير لذا عملت على اعداد مثال صغير وهو عبارة عن جدول ونموذج وتقرير اولا : عمل قائمة في النموذج يتم فيها عرض حقول الجدول عند تحميل النموذج ... وهذه الاكواد هي المسؤولة : Private Sub Form_Load() Dim dbs As DAO.Database Dim tbl As DAO.TableDef Dim sCaption As String DoCmd.Restore Set dbs = CurrentDb Set tbl = dbs.TableDefs("table1") For Each fld In tbl.Fields sCaption = "" On Error Resume Next sCaption = fld.Properties("Caption") On Error GoTo 0 lstFields.AddItem fld.Name & ";" & sCaption Next fld Set dbs = Nothing Set tbl = Nothing End Sub ثانيا عملت زر لإعداد الحقول في التقرير ثم فتحه ، وخلف هذا الزر يتم تنفيذ هذه الشفرة Dim i As Integer Dim txt As TextBox Dim lbl As Label Dim intSelectedCount As Integer Dim lngWidth As LoadPictureConstants Dim intSelectedNo As Integer With lstFields If .ItemsSelected.Count = 0 Then MsgBox "يجب اختيار حقل واحد على الأقل", vbExclamation, "خطأ" Exit Sub End If DoCmd.OpenReport "Rep1", acViewDesign, , , acHidden intSelectedCount = .ItemsSelected.Count lngWidth = Reports("Rep1").Width / intSelectedCount Reports("Rep1").Section("PageHeaderSection").Height = 310 Reports!Rep1!Label2.Caption = Nz(Me.Textlabl) Reports("Rep1").Section("Detail").Height = 310 intSelectedNo = 0 For i = 0 To .ListCount - 1 If .Selected(i) Then Set lbl = CreateReportControl("Rep1", acLabel, acPageHeader, , , intSelectedNo * (lngWidth + 50), 5, lngWidth, 300) lbl.Caption = .Column(1, i) lbl.BackStyle = 1 lbl.BackColor = RGB(200, 200, 200) lbl.BorderStyle = 1 lbl.FontBold = True lbl.TextAlign = 2 Set txt = CreateReportControl("Rep1", acTextBox, acDetail, , .Column(0, i), intSelectedNo * (lngWidth + 50), 5, lngWidth, 300) txt.BorderStyle = 1 txt.TextAlign = 2 intSelectedNo = intSelectedNo + 1 End If Next i End With DoCmd.OpenReport "Rep1", acViewReport ملحوظات : جعلت زر الخروج في التقرير يغلق التقرير ( من غير حفظ ) متجاوزا رسالة تأكيد الحفظ حفظ التقرير يسبب تراكم الحقول المصنوعة داخل الكود .. ومن ثم تظهر المشكلات والأخطاء ختاما لا تنسوني من دعواتكم الصالحة واتمنى ان تجدوا فيه الفائدة والمتعة اختيار حقول التقرير.rar 31.7 kB · 45 downloads احسنت استاذنا ومعلمنا الرائع
jo_2010 قام بنشر يناير 21, 2024 قام بنشر يناير 21, 2024 (معدل) في 17/1/2024 at 14:37, ابوخليل said: السلام عليكم تكثر الحاجة الى اخراج تقرير حسب حقول محددة يختارها المستخدم وهذا الباب تم التطرق اليه في هذا المنتدى ومن يبحث يجد الكثير .. علما اني قد استفدت واخذت من تلك المواضيع فما انا الا ناقل . ورب ناقل علم الى من هو اعلم منه . وحتى يكون هذا الموضوع مرجع مختصر لكيفية تصميم واعداد التقرير لذا عملت على اعداد مثال صغير وهو عبارة عن جدول ونموذج وتقرير اولا : عمل قائمة في النموذج يتم فيها عرض حقول الجدول عند تحميل النموذج ... وهذه الاكواد هي المسؤولة : Private Sub Form_Load() Dim dbs As DAO.Database Dim tbl As DAO.TableDef Dim sCaption As String DoCmd.Restore Set dbs = CurrentDb Set tbl = dbs.TableDefs("table1") For Each fld In tbl.Fields sCaption = "" On Error Resume Next sCaption = fld.Properties("Caption") On Error GoTo 0 lstFields.AddItem fld.Name & ";" & sCaption Next fld Set dbs = Nothing Set tbl = Nothing End Sub ثانيا عملت زر لإعداد الحقول في التقرير ثم فتحه ، وخلف هذا الزر يتم تنفيذ هذه الشفرة Dim i As Integer Dim txt As TextBox Dim lbl As Label Dim intSelectedCount As Integer Dim lngWidth As LoadPictureConstants Dim intSelectedNo As Integer With lstFields If .ItemsSelected.Count = 0 Then MsgBox "يجب اختيار حقل واحد على الأقل", vbExclamation, "خطأ" Exit Sub End If DoCmd.OpenReport "Rep1", acViewDesign, , , acHidden intSelectedCount = .ItemsSelected.Count lngWidth = Reports("Rep1").Width / intSelectedCount Reports("Rep1").Section("PageHeaderSection").Height = 310 Reports!Rep1!Label2.Caption = Nz(Me.Textlabl) Reports("Rep1").Section("Detail").Height = 310 intSelectedNo = 0 For i = 0 To .ListCount - 1 If .Selected(i) Then Set lbl = CreateReportControl("Rep1", acLabel, acPageHeader, , , intSelectedNo * (lngWidth + 50), 5, lngWidth, 300) lbl.Caption = .Column(1, i) lbl.BackStyle = 1 lbl.BackColor = RGB(200, 200, 200) lbl.BorderStyle = 1 lbl.FontBold = True lbl.TextAlign = 2 Set txt = CreateReportControl("Rep1", acTextBox, acDetail, , .Column(0, i), intSelectedNo * (lngWidth + 50), 5, lngWidth, 300) txt.BorderStyle = 1 txt.TextAlign = 2 intSelectedNo = intSelectedNo + 1 End If Next i End With DoCmd.OpenReport "Rep1", acViewReport ملحوظات : جعلت زر الخروج في التقرير يغلق التقرير ( من غير حفظ ) متجاوزا رسالة تأكيد الحفظ حفظ التقرير يسبب تراكم الحقول المصنوعة داخل الكود .. ومن ثم تظهر المشكلات والأخطاء ختاما لا تنسوني من دعواتكم الصالحة واتمنى ان تجدوا فيه الفائدة والمتعة اختيار حقول التقرير.rar 31.7 kB · 47 downloads الخبير الفاضل شكرا على ابداعاتك ممكن لوتكرمت جعل التقرير كما بالصورة رقم 2 حتى تشبة نتيجة التحليل تم تعديل يناير 21, 2024 بواسطه jo_2010
ابوخليل قام بنشر يناير 22, 2024 الكاتب قام بنشر يناير 22, 2024 15 ساعات مضت, jo_2010 said: الخبير الفاضل شكرا على ابداعاتك ممكن لوتكرمت جعل التقرير كما بالصورة رقم 2 حتى تشبة نتيجة التحليل اعتذر منك اخي الكريم المثال تم تصميمه لحاجة محددة .. وهي اخراج تقرير حسب حقول محددة يختارها المستخدم علما انه يمكن التعديل وتطوير المثال من خلال النموذج كــــ : - اضافة حقول في النموذج يتم من خلالها فرز و تصفية الجدول - ترتيب الحقول في التقرير حسب الرغبة من خلال توظيف استعلام وسيط - ضبط اتجاه مربع القائمة .
العنزي العنزي قام بنشر يناير 25, 2024 قام بنشر يناير 25, 2024 الله يبارك بعمرك ويحفظك استاذي الفاضل ابو خليل جزاك الله خيرا اللهم ربي يجعل اعمالك في ميزان حسناتك اللهم أمين يارب العالمين
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.