ابوخليل قام بنشر يناير 17 قام بنشر يناير 17 السلام عليكم تكثر الحاجة الى اخراج تقرير حسب حقول محددة يختارها المستخدم وهذا الباب تم التطرق اليه في هذا المنتدى ومن يبحث يجد الكثير .. علما اني قد استفدت واخذت من تلك المواضيع فما انا الا ناقل . ورب ناقل علم الى من هو اعلم منه . وحتى يكون هذا الموضوع مرجع مختصر لكيفية تصميم واعداد التقرير لذا عملت على اعداد مثال صغير وهو عبارة عن جدول ونموذج وتقرير اولا : عمل قائمة في النموذج يتم فيها عرض حقول الجدول عند تحميل النموذج ... وهذه الاكواد هي المسؤولة : 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 قام بنشر يناير 17 أحسنت وأبدعت معلمنا @ابوخليل ، هذه الفكرة تقريباً مشابهة لإحدى أفكارك سابقاً التي تقوم بعرض اعمدة محددة في النموذج حسب المستخدم ، ولكن هذه المرة في التقارير . وهذا يجعل الأمر متكاملاً جزاك الله كل الخير لما صنعت 1
shabrawy قام بنشر يناير 17 قام بنشر يناير 17 ربنا يجازيك خير ويجعله فى ميزان حسناتك ويبعد عنك كل شر ويكثر من امثالك 1
شايب قام بنشر يناير 17 قام بنشر يناير 17 1 ساعه مضت, ابوخليل said: DoCmd.OpenReport "Rep1", acViewDesign, , , acHidden تمام يا استاذنا بارك فيكم ولكم ولكن وجب التنويه انه عند تحويل القاعدة الى accde فلن يتم تنفيذ الامر 1
ابوخليل قام بنشر يناير 17 الكاتب قام بنشر يناير 17 37 دقائق مضت, شايب said: تمام يا استاذنا بارك فيكم ولكم ولكن وجب التنويه انه عند تحويل القاعدة الى accde فلن يتم تنفيذ الامر كما تفضلت استاذنا .. فلكل شيء ضريبته في هذه الايام انهج نهجا مختلفا .. حيث رأيت ان accdr تقوم بالمهمة مع بعض الاحتياطات ، وتوفر الكثير من التوافق الذي ينعدم احيانا في accde
محمد بن سعود قام بنشر يناير 17 قام بنشر يناير 17 ما شاء الله تبارك الرحمن عليك ابو خليل دائماً تبدع لنا بأفكار جميله و مميزة بصمتك في اوفيسنا تبقى تاريخية ان شاء الله
gamal gamal قام بنشر يناير 18 قام بنشر يناير 18 ما شاء الله جهد عظيم وأفكار مبدعه لفتح مجال الإبداع أمام الكافة سلمت يداك يا رجل
shabrawy قام بنشر يناير 21 قام بنشر يناير 21 بشكرك مره تانيه على تعاونك ومساعدتك وجعله الله فى ميزان حسناتك ولكن لي استفسار عندي حقل قمت بتسميته (Program value) بالنموذج الخاص بقاعدة البيانات الخاصه بي وهذا الحقل عند اختياره ضمن البنود التي ستظهر فى التقرير يظهر بشكل طبيعي ولكني اريد اضافة امكانية جمع هذا الحقل . اي انه تظهر فى نهاية التقرير اجمالي لهذا الحقل . لذا اريد المساعده فى امكانية اضافة هذه الخاصية الى التقرير . اعلم انه يتم ذلك من خلال التعديل على الكود الموجود بالتقرير وللامانه حاولت ان اقوم بذلك ولكنني لم استطع. لذا اريد المساعده ان امكن ولكم جزيل الشكر
شامل2 قام بنشر يناير 21 قام بنشر يناير 21 في 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 قام بنشر يناير 21 (معدل) في 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 بواسطه jo_2010
ابوخليل قام بنشر يناير 22 الكاتب قام بنشر يناير 22 15 ساعات مضت, jo_2010 said: الخبير الفاضل شكرا على ابداعاتك ممكن لوتكرمت جعل التقرير كما بالصورة رقم 2 حتى تشبة نتيجة التحليل اعتذر منك اخي الكريم المثال تم تصميمه لحاجة محددة .. وهي اخراج تقرير حسب حقول محددة يختارها المستخدم علما انه يمكن التعديل وتطوير المثال من خلال النموذج كــــ : - اضافة حقول في النموذج يتم من خلالها فرز و تصفية الجدول - ترتيب الحقول في التقرير حسب الرغبة من خلال توظيف استعلام وسيط - ضبط اتجاه مربع القائمة .
العنزي العنزي قام بنشر يناير 25 قام بنشر يناير 25 الله يبارك بعمرك ويحفظك استاذي الفاضل ابو خليل جزاك الله خيرا اللهم ربي يجعل اعمالك في ميزان حسناتك اللهم أمين يارب العالمين
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.