زياد الحسناوي قام بنشر ديسمبر 18, 2018 قام بنشر ديسمبر 18, 2018 السلام عليكم عندي فكرة عمل تقرير حسب رغبة المستخدم فعند الضغط ع زر طباعة تقرير تظهر اسماء جميع الحقول الموجودة ضمن قاعدة البيانات في جميع الجداول و بجوار كل اسم حقل مربع اختيار و يختار ما يرغب به في التقرير فهل يمكن عمل مثل هكذا فكرة
أ / محمد صالح قام بنشر ديسمبر 18, 2018 قام بنشر ديسمبر 18, 2018 كل شيء ممكن ولكن ابدأ في تصميم الملف وحاول أنت أولا وإذا وقفت معك خطوة ستجد الجميع يساعدك لكن عرض الفكرة وغيرك ينفذ ربما لا تجدها 1
زياد الحسناوي قام بنشر ديسمبر 18, 2018 الكاتب قام بنشر ديسمبر 18, 2018 في 18/12/2018 at 19:10, أ / محمد صالح said: كل شيء ممكن ولكن ابدأ في تصميم الملف وحاول أنت أولا وإذا وقفت معك خطوة ستجد الجميع يساعدك لكن عرض الفكرة وغيرك ينفذ ربما لا تجدها Expand البرنامج كامل وما فيه نقص بس جتني فكرة التقرير بهالطريقة وحبيت اعرف تنجح ام لا اذا تنجح فشرح للطريقة او ملف يبين طريقة العمل
أ / محمد صالح قام بنشر ديسمبر 19, 2018 قام بنشر ديسمبر 19, 2018 كل شيء ممكن وينجح مع الإصرار ولكن أكره الكلام النظري فائدته قليلة جدا وحسب فهمي للمطلوب يمكن تصميم النموذج كما تشاء مع مراعاة أن جميع أسماء الحقول في قاعدة البيانات كلها غير ممكنة نظريا وعند اختيار الأعمدة يتم تجميع نص الاستعلام بلغة sql وبناء تقرير جديد بناء على الاستعلام بهذه الدالة المعرفة Function CreateDynamicReport(strSQL As String) Dim db As DAO.database ' database object Dim rs As DAO.Recordset ' recordset object Dim fld As DAO.Field ' recordset field Dim txtNew As Access.TextBox ' textbox control Dim lblNew As Access.Label ' label control Dim rpt As Report ' hold report object Dim lngTop As Long ' holds top value of control position Dim lngLeft As Long ' holds left value of controls position Dim title As String 'holds title of report 'set the title title = "Title for the Report" ' initialise position variables lngLeft = 0 lngTop = 0 'Create the report Set rpt = CreateReport ' set properties of the Report With rpt .Width = 8500 .RecordSource = strSQL .Caption = title End With ' Open SQL query as a recordset Set db = CurrentDb Set rs = db.OpenRecordset(strSQL) ' Create Label Title Set lblNew = CreateReportControl(rpt.Name, acLabel, _ acPageHeader, , "Title", 0, 0) lblNew.FontBold = True lblNew.FontSize = 12 lblNew.SizeToFit ' Create corresponding label and text box controls for each field. For Each fld In rs.Fields ' Create new text box control and size to fit data. Set txtNew = CreateReportControl(rpt.Name, acTextBox, _ acDetail, , fld.Name, lngLeft + 1500, lngTop) txtNew.SizeToFit ' Create new label control and size to fit data. Set lblNew = CreateReportControl(rpt.Name, acLabel, acDetail, _ txtNew.Name, fld.Name, lngLeft, lngTop, 1400, txtNew.Height) lblNew.SizeToFit ' Increment top value for next control lngTop = lngTop + txtNew.Height + 25 Next ' Create datestamp in Footer Set lblNew = CreateReportControl(rpt.Name, acLabel, _ acPageFooter, , Now(), 0, 0) ' Create page numbering on footer Set txtNew = CreateReportControl(rpt.Name, acTextBox, _ acPageFooter, , "='Page ' & [Page] & ' of ' & [Pages]", rpt.Width - 1000, 0) txtNew.SizeToFit ' Open new report. DoCmd.OpenReport rpt.Name, acViewPreview 'reset all objects rs.Close Set rs = Nothing Set rpt = Nothing Set db = Nothing End Function بالتوفيق 2
REDA.M.A قام بنشر ديسمبر 19, 2018 قام بنشر ديسمبر 19, 2018 السلام عليكم مرفق مثال تقريبا مشابه للطلب _ منقول يمكن تكون فى فكره حسب الطلب اختيار من الجدول.rar
زياد الحسناوي قام بنشر ديسمبر 19, 2018 الكاتب قام بنشر ديسمبر 19, 2018 (معدل) في 19/12/2018 at 00:52, أ / محمد صالح said: كل شيء ممكن وينجح مع الإصرار ولكن أكره الكلام النظري فائدته قليلة جدا وحسب فهمي للمطلوب يمكن تصميم النموذج كما تشاء مع مراعاة أن جميع أسماء الحقول في قاعدة البيانات كلها غير ممكنة نظريا وعند اختيار الأعمدة يتم تجميع نص الاستعلام بلغة sql وبناء تقرير جديد بناء على الاستعلام بهذه الدالة المعرفة Function CreateDynamicReport(strSQL As String) Dim db As DAO.database ' database object Dim rs As DAO.Recordset ' recordset object Dim fld As DAO.Field ' recordset field Dim txtNew As Access.TextBox ' textbox control Dim lblNew As Access.Label ' label control Dim rpt As Report ' hold report object Dim lngTop As Long ' holds top value of control position Dim lngLeft As Long ' holds left value of controls position Dim title As String 'holds title of report 'set the title title = "Title for the Report" ' initialise position variables lngLeft = 0 lngTop = 0 'Create the report Set rpt = CreateReport ' set properties of the Report With rpt .Width = 8500 .RecordSource = strSQL .Caption = title End With ' Open SQL query as a recordset Set db = CurrentDb Set rs = db.OpenRecordset(strSQL) ' Create Label Title Set lblNew = CreateReportControl(rpt.Name, acLabel, _ acPageHeader, , "Title", 0, 0) lblNew.FontBold = True lblNew.FontSize = 12 lblNew.SizeToFit ' Create corresponding label and text box controls for each field. For Each fld In rs.Fields ' Create new text box control and size to fit data. Set txtNew = CreateReportControl(rpt.Name, acTextBox, _ acDetail, , fld.Name, lngLeft + 1500, lngTop) txtNew.SizeToFit ' Create new label control and size to fit data. Set lblNew = CreateReportControl(rpt.Name, acLabel, acDetail, _ txtNew.Name, fld.Name, lngLeft, lngTop, 1400, txtNew.Height) lblNew.SizeToFit ' Increment top value for next control lngTop = lngTop + txtNew.Height + 25 Next ' Create datestamp in Footer Set lblNew = CreateReportControl(rpt.Name, acLabel, _ acPageFooter, , Now(), 0, 0) ' Create page numbering on footer Set txtNew = CreateReportControl(rpt.Name, acTextBox, _ acPageFooter, , "='Page ' & [Page] & ' of ' & [Pages]", rpt.Width - 1000, 0) txtNew.SizeToFit ' Open new report. DoCmd.OpenReport rpt.Name, acViewPreview 'reset all objects rs.Close Set rs = Nothing Set rpt = Nothing Set db = Nothing End Function بالتوفيق Expand ممنون جدا استاذ @أ / محمد صالحع الشرح جربته ولم ينغع هذا ملف تجريبي يرجى التعديل عليه في 19/12/2018 at 02:54, رضا محمد علي said: السلام عليكم مرفق مثال تقريبا مشابه للطلب _ منقول يمكن تكون فى فكره حسب الطلب اختيار من الجدول.rarFetching info... Expand مشكور استاذ ولكن هذا الملف يختار الحقول من جدول واحد وانا بحاجة للاختيار من اكثر من جدول 000 - Copy.rarFetching info... تم تعديل ديسمبر 19, 2018 بواسطه zYo
محمد عبد الشفيع قام بنشر ديسمبر 19, 2018 قام بنشر ديسمبر 19, 2018 في 18/12/2018 at 18:14, zYo said: السلام عليكم عندي فكرة عمل تقرير حسب رغبة المستخدم فعند الضغط ع زر طباعة تقرير تظهر اسماء جميع الحقول الموجودة ضمن قاعدة البيانات في جميع الجداول و بجوار كل اسم حقل مربع اختيار و يختار ما يرغب به في التقرير فهل يمكن عمل مثل هكذا فكرة Expand عزيزى ارح بالك هذا الموضع العظيم فيه ماتريد واكثر للاستاذ والخبير القدير @jjafferr بالتوفيق باذن الله
زياد الحسناوي قام بنشر ديسمبر 19, 2018 الكاتب قام بنشر ديسمبر 19, 2018 في 19/12/2018 at 16:01, محمد عبد الشفيع said: عزيزى ارح بالك هذا الموضع العظيم فيه ماتريد واكثر للاستاذ والخبير القدير @jjafferr بالتوفيق باذن الله Expand تمام و رائع ولكن يجب الاختيار من جدول واحد وليس عدة جداول
محمد عبد الشفيع قام بنشر ديسمبر 19, 2018 قام بنشر ديسمبر 19, 2018 في 19/12/2018 at 17:21, zYo said: تمام و رائع ولكن يجب الاختيار من جدول واحد وليس عدة جداول Expand اذن عليك محاولة التعديل لجعله ياخذ من اكتر من جدول وستكون رائعة بالتاكيد 1
زياد الحسناوي قام بنشر ديسمبر 19, 2018 الكاتب قام بنشر ديسمبر 19, 2018 في 19/12/2018 at 18:20, محمد عبد الشفيع said: اذن عليك محاولة التعديل لجعله ياخذ من اكتر من جدول وستكون رائعة بالتاكيد Expand اكيد طبعا ان شاءالله احاول بعد ان اتواصل مع استاذ @jjafferr
ابوآمنة قام بنشر ديسمبر 19, 2018 قام بنشر ديسمبر 19, 2018 في 19/12/2018 at 17:21, zYo said: تمام و رائع ولكن يجب الاختيار من جدول واحد وليس عدة جداول Expand حاول عمل استعلام يضم الحقول التي تريد من الجداول . 1
زياد الحسناوي قام بنشر ديسمبر 19, 2018 الكاتب قام بنشر ديسمبر 19, 2018 في 19/12/2018 at 18:33, saleh204 said: حاول عمل استعلام يضم الحقول التي تريد من الجداول . Expand @saleh204 جربت ولم تنجح هل يمكنك التعديل ع الملف وارساله
Hamdi Edlbi-khalf قام بنشر ديسمبر 30, 2018 قام بنشر ديسمبر 30, 2018 (معدل) السلام عليكم .. أرغب بأن أضيف تجربتي المتواضعة عسى أن يكون بها طلبك . الفكرة بالخطوات المختصرة : 1- عمل تقرير يتضمن جميع الحقول التي نرغب بعرضها. 2- جعل خاصة يقبل النمو لمربعات النص ( و يمكن اللجوء إلى بعض الأكواد التي تسمح بنمو مربعات النص في التقارير طولاً و عرضاً مع أني لم أجربها و ليست لدي كوني لم أحتجها). 3- اجعل مصدر التقرير استعلاماً مصمماً من جميع الجداول التي لديك. 4-أخيراً اعتمد التنسيق الشرطي ففي حال خلو مربع النص من أية بيانات تختفي الليبل ( تكون بلون خلفية التقرير). 5-في حال كنت ترغب بتسجيل كامل البيانات في جميع الجداول و لكن عرض ما ترغب به منها، يمكن أن تلجأ إلى التنسيق الشرطي أيضاً( كعمل مربع نص عند وجود قيمة معينة فيه تختفي الليبل) لم أجرب استخدام تطبيق الفكرة بخاصية VISIBLE و إنما استخدمت التنسيق الشرطي فقط . يمكن ملائمة الفكرة حسب الحاجة. و سأكون بالخدمة عند وجود أي استفسار. و أضيف إلم ترق لك هذه الطريقه فهي ليست احترافية كونها من غير محترف - لا يمتهن هذا الاختصاص- حديث العهد إلى حد ما في هذا المجال إلا أنها قد لبت احتياجاتي سابقاً و أحببت أن أشارككم بها. تم تعديل ديسمبر 30, 2018 بواسطه Khalf
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.