بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
اريد طريقة صنع التقارير بلغة الhtml
ياليت الي يعرف الطريقة يضعه لنا هنا
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
اريد طريقة صنع التقارير بلغة الhtml
ياليت الي يعرف الطريقة يضعه لنا هنا
HTML
يمكنك أنشاء جدول
واضافة الأسطر والعمده وبتنسيق مناسب يظهر لك على شكل تقرير
ويمكن ربطه بداتا بيس
تعلم فليس المرء يولد عالماً------ وليس أخو علماً كمن هو جاهلا
العلم نور وجمال يقتبس--------------- صاحبه مكرم اين ما جلس
من فاته العلم ساعة تظعظع ونتكس----شتان شتان بين حمار وفرس
السلام عليكم
أضف معلومات التقرير لdatatable
ثم أضف هذا الSUB في الفورم لديك
Public Sub ExportHTML(ByVal Table As DataTable, ByVal Location As String)
Using Writer As New System.IO.StreamWriter(Location)
Writer.WriteLine("<HTML>")
Writer.WriteLine(" <HEAD>")
Writer.WriteLine(" <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>")
Writer.WriteLine(" </HEAD>")
Writer.WriteLine(" <BODY>")
Writer.WriteLine("<TABLE border='1'>")
Writer.WriteLine(" <TR>")
For Each Column As DataColumn In Table.Columns
Writer.WriteLine(" <TD>" & Column.ColumnName & "</td>")
Next
Writer.WriteLine(" </TR>")
For Each Row As DataRow In Table.Rows
Writer.WriteLine(" <TR>")
For Each Column As DataColumn In Table.Columns
Writer.WriteLine(" <TD>" & Row.Item(Column).ToString & "</TD>")
Next
Writer.WriteLine(" </TR>")
Next
Writer.WriteLine("</TABLE>")
Writer.WriteLine(" </BODY>")
Writer.WriteLine("</HTML>")
End Using
End Subفي زر الأمر أكتب الكود التالي مع إضافة اسم الجدول (datatable + مكان حفظ صفحة الويب)
ExportHTML(datatable1, "c:\report.html")
وبالتوفيق إن شاء الله
تم تعديل هذه المشاركة بواسطة MEGREN في 11 يونيو 2008 في 04:38
البرمجه منطق وذوق وخدع .............والمعرفة طريق سهل وعذب
شكراً لك اخوي MEGREN
لكن ياليت تشرح الكود شوي
يعني الصفحة تكون مصصمة من قبل
لكن كيف اضع مثلا النص المكتوب قي (textbox1)في الجهة اليسرى مثلا او اي مكان اريد
السلام عليكم أخي
بخصوص الشرح للكود فهو مثال بسيط لنقل جدول كامل بحقوله لصفحة ويب وإليك الشرح بالتفصيل:
مثلا لديك جدول في قاعدة بيانات أكسيس وبه جدول اسم (account)وتريد تصديره كتقرير لصفحة ويب
'إضافة جدول جديد
Dim account_tb As New DataTable
'إضافة كونكشن للإتصال بالقاعدة
Dim connection As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test.mdb;Jet OLEDB;")
'إضافة أدبتر لنقل البيانات
Dim adapter As New OleDb.OleDbDataAdapter("select * from account", connection )
Try
'نقل البيانات من جدول الأكسيس للجدول المنشئ في الذاكرة
adapter.Fill(account_tb)
'إضافة تصدير الجدول على هيئة صفحة ويب
ExportHTML(account_tb, "C:/report")
Catch ex As Exception
connection.Close()
MsgBox(ex.Message)
End Tryففي داخل كود ال SUB فأنت تقوم ببناء الصفحة مع إدارج الحقول والأعمدة المصدرة له
فبعد تصدير الصفحة قم مثلا بفتح المصدر (بالضغط بالزر الأيمن على صفحة الويب ثم ضط على VIEW SOURCE)
سوف تظهر لك الأكواد التي قمت بكتابتها من داخل برامجك..
أما إ1ذا أردت التحكم في مكان وألوان الحقول في صفحة الويب فلابد من توفر خلفية بسيطة عن الHTML
و<TAGS>
لكي يسهل لك التحكم في الSUB ويمكنك وفعل ذلك بطريقة سهلة في برنامج Frontpage لكي تتعلم عن هذه اللغة
بالتوفيق إن شاء الله
.......................
تم تعديل هذه المشاركة بواسطة MEGREN في 11 يونيو 2008 في 14:43
البرمجه منطق وذوق وخدع .............والمعرفة طريق سهل وعذب
شكراُ لك على الرد
هذا الملف المرفق فيه ملف الفاتورة وقاعدة البيانات
اتمنى انك تعدل فيه علشان افهم بالضبط
اعتذر عن ازعاجك
السلام عليكم
أخي العزيز في المرفقات مثال وافي لجلب البيانات للبرنامج ثم تصديرها على هيئة صفحة ويب
أما بخصوص التقرير الذي أرسلته فأنصحك إذا أردت أن تبني مثله بأن تستخدم الكرسيتال ريبورت أو أداة
Microsoft report viewer
فهم أسهل إليك من بناء صفحة ويب بنفس التنسيق
بالتوفيق
تم تعديل هذه المشاركة بواسطة MEGREN في 11 يونيو 2008 في 19:22
البرمجه منطق وذوق وخدع .............والمعرفة طريق سهل وعذب
شكراً لك اخوي
سأجرب المرفق
وإن شاء الله يضبط معي
انا كنت ناوي استخدم الكريستال ريبوت لكن لقيت ان الي يستخدم البرنامج مايقدر يعد في التصميم على الي يبي وهذي السلبية التي اجدها على الكريستال ريبوت
جربت المرفق لكن ماضبط لاني اريد تغيير الشكل على الي ابي
ياليت تعدل على الملف المرفق في مشاركتي رقم 6
السلام عليكم ورحمة الله وبركاته
أولا أعتذر عن التأخير
ثانيا تجد في المرفقات برنامج وبه لقد قمت بتصميم تقرير قريب من التقرير الذي طلبتها بالمكون Report
ويمكنك التعديل عليه
ملاحظة : دمجك لجميع المعلومات في جدول واحد يعتبر تحليل خاطئ...!
والأفضل أن تقسم إلى جداول
مثلا:
جدول الفاتورة:
-رقم الفاتورة(PK)
-الوقت
-المبلغ
-البائع
-رقم العميل(FK)
----------------------------
جدول الأصناف:
-رقم الصنف(PK)
-شرح الصنف
-الوحدات
-سعر الكمية
----------------------------
جدول البائعين:
-رقم البائع(PK)
-اسم البائع
-هاتف
---------------------------
جدول العملاء:
-رقم العميل(PK)
-اسم العميل
-هاتف
PK اختصار لمفتاح أساسي
FK اختصار لمفتاح خارجي
وأخيرأ أرجوا الدعاء لنا
البرمجه منطق وذوق وخدع .............والمعرفة طريق سهل وعذب
شكراً لك
لكن انا عندي الفيجوال بيسك 2008 مافيه الاداة الي استعملته انت في مثالك
السلام عليكم
أنا لدي النسخة كاملة من الفيجول 2008
ولكن Report ليسا آداة ويعتبر من عناصر المشروع ويمكن إضافته عن طريق الضغط بالزر الأيمن على المشروع ثم إضافة new Item
وبعدها سوف تجد Report من ضمن العناصر
أما بخصوص Microsoft Rerport viewer
فتجده في قسم أدوات Reporting مع أدوات الCrystal report
في نافذة الأدوات
البرمجه منطق وذوق وخدع .............والمعرفة طريق سهل وعذب
انا ماعندي البرنامج كامل
ولذلك لم اجد العناصر Report
اتمنى انك تضعه هنا
السلام عليكم ورحمة الله وبركاته
تم مناقشة هذا الموضوع من قبل في قسم VB 6
MEGREN و تم الوصول للحل بطريقة مشابهة لطريقة الأخ
و هي كتابة كود الـ HTML بطريقة التعامل مع الملفات
و إليك رابط الموضوع لمتابعة ما دار
أما في عصر الـ VS 2008 فأصبح ذلك سهلاً و أبسط بكثير
و خصوص في وجود LINQ To SQL أو LINQ To Dataset
انظر هذا المثال واطلع على الفيديو الموجود على الـ MSDN

الله يجزاك الف خير
فعلاً يتم الان الاستفادة من الفديو المقدم
لكن كيف اطبع التقرير من اداة web الي في اخر القائمة <<اعتذر عن عدم حفظ الاسم
أعددت لك مثال للطباعة
لكن بالتأكيد التقارير المصنوعة بأداة لصنع التقارير أفضل بكثير
من هذه الطريقة حاول أن تتعلم الكريستال ريبورت أو الـ Reporting Technology
الموجودة مع بيئة التطوير
ربما تجد صعوبة قليلة و لكن بعد ذلك ستتمكن من صنع تقارير رائعة
فكل شيء وله ما يناسبه أما إن كان التقرير بسيط و تريد عرضه على الشاشة فقط
أوإرسال بعض البيانات عبر الايميل فممكن تستخدم الـ HTML
بمعنى أن الأدوات أو البرامج السابقة تحتوي على الامكانيات التي
قد لا تتوفر لك في هذه الطريقة أو يصعب جداً تنفيذها
مثل التجميع و الفرز و الدوال الحسابية الموجودة فيها
ملاحظة المثال الذي أرفقته لك يحتاج الـ SQL Server وقاعدة البيانات Northwind
بالتوفيق

شكرأ لك..
أنا الان احمل الفيجوال بيسك 2008 الاصدار الكامل وراح اتعلم الكريستال ريبوت عليه إن شاء الله..
لكن احببت ان اتعلم هذه الطريقة لغرض التعلم وللتقارير البسيطة والتي لا تحتاج إلى تجميع او فرز..
شكرأ لك مرة اخرى..