منتدى برمجة التقارير

 اسم العضو:FunctionSys  الأربعاء,10/ذو الحجة/1428 هـ,09:21 صباحاً
شرح طريقة اضافة تقرير Crystal Reports في الـ ASP.NET بكلا اللغتين VB.NET ,C#.NET بسم الله الرحمن الرحيم اللهم صلي على محمد وآل محمد ... في البداية حبيت اطرح هذا الموضوع لكي يستفيد من الكثير من الاعضاء وبخصوص هذا المنتدى الرائع .. ولاحظت انه لا توجد مصادر كثيرة او شروحات لهذا الشيء .. فقلت لما لا اضع هذا الشيء ,, وبما اني اعرفه جيداً ليستفيد منه الغير .. سوف نقوم بكتابة الكود على كلا اللغتين الـ VB.NET and C#.NET لتعم الاستفادة للجميع .. اولاً سوف نقوم بالتطبيق على الـ ASP.NET VB.NET افتح الـ Microsoft Visual Studio 2005 واختر من File >>> New >>> Web Site [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_1.JPG[/IMG] ثم بعد ذلك سوف تظهر لك نافذة أنشاء ويب جديد .. اختر منها ASP.NET Web Site مع التاكد من الـ Language انها Visual Basic وكذلك الـ location انه File System وكذلك لا تنسى ان تغير اسم المجلد او تدعه كما هو باسمه الافتراضي ,, وسوف يتم حفظ الملفات في الـ My Documents في مجلد الـ Visual Studio 2005 [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_2.JPG[/IMG] ثم اضغط على Ok لكي يتم انشاء الموقع... طيب الان لا بد من وجود داتا بيس .. ليكي يتم الاتصال بها .. أنشأ داتا بيس بأي اسم يعجبك .. وانا عن نفسي انشات داتا بيس باسم db1 من نوع Microsoft Access وكذلك انشا جدول بأي اسم .. وانا انشات جدول باسم tbl_Client للعملاء .. وكذلك انشأ حقول في الجدول على حسب متطلباتك .. وعن نفسي انشات هذه الحقول .. ID من نوع AutoNumber C_Name من نوع Text C_Phone من نوع Text C_Address من نوع Text [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_3.JPG[/IMG] بعد انشاء الداتا بيس .. اضف فيها بيانات مبدئية لكي نعرضها في التقرير .. فيما بعد .. الان قم بنسخ الداتا بيس لديك إلى المشروع .. وضعها في مجلد الـ App_Data وهذا المجلد موجود في الـ [CODE]My Documents\Visual Studio 2005\Your_WebSite\App_Data[/CODE] Your_WebSite تعني اسم مشروعك الذي انشاته مسبقا الان اذهب إلى المشروع لكي نقوم باضافة الكرستال ريبوت من خلال شريط الادوات ToolBox اذهب إلى ادوات الكرستال ريبوت .. وهي تكون تحت كلمه Crystal Reports اضغط دبل كلك على الاداة CrystalReportViewer [IMG]http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_4.JPG[/IMG] سوف يتم ادراجها على الصفحة بهذه الصورة [IMG]http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_5.JPG[/IMG] الان دع الاداة .. سوف نرجع لها لاحقاً ... اذهب إلى شريط الادوات .. سوف ترى ايقونه شكلها مربع ... اضغط عليها واختر منها Add New Item... [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_6.JPG[/IMG] او من خلال Solution Explorer ثم كلك يمين على اسم الموقع ثم اختار منها Add New Item... [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_7.JPG[/IMG] ثم بعد ذلك سوف يظهر لك مربع حوار Add New Item اختر منه CrystalReport واجعل اسمه الافتراضي كما هو .. [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_8.JPG[/IMG] ثم بعد ذلك اضغط على Ok لكي يتم اضافة التقرير .. بعد ذلك سوف تظهر لك نافذة الـ Crystal Reports Gallery [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_9.JPG[/IMG] دع الخيارات كما هي واضغط على زر OK لكي تظهر لك نافذة Standard Report Create Wizard [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_10.JPG[/IMG] انتق الخيار Create New Connection ثم انتق الخيار OLE DB ADO سوف تظهر لك نافذة تحديد مزودات الربط بقواعد البيانات ... وبما اننا نستخدم مايكروسوفت اكسس لابد من اختيار [CODE]Microsoft Jet 4.0 OLE DB Provider [/CODE] [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_11.JPG[/IMG] بعد اختيار المزود للاتصال اضغط على زر Next لكي تظهر لك نافذة تحديد قاعدة البيانات .. قم بتحديد القاعدة التي تم انشاءها مسبقا في بداية الشرح .. من خلال الضغط على الزر المقابل النص Database Name [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_12.JPG[/IMG] بعد تحديد الداتا بيس .. [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_13.JPG[/IMG] الان اضغط على زر التالي Next لكي تظهر لك النافذة التالية [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_14.JPG[/IMG] دع الخيارات كما هي .. واضغط على كلمه Finish لكي ترجع إلى اول نافذة ومن خلالها يتم اظهار الجداول التي في الداتا بيس .. قم بتحديد الجدول tbl_Client ثم اضغط على الزر الذي في الاعلى ( < [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_15.JPG[/IMG] لكي تم اختيار الجدول .. ومن ثم اضغط على زر Next لكي تظهر لك نافذة تحديد الاعمدة المراد اظهارها في التقرير [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_16.JPG[/IMG] قم بالضغط على زر (<< لكي تم اضافة كل الاعمدة .. وفي حالة تريد فقط عدد من الاعمدة يمكنك تحديد واحداُ تلوا الآخر ... بعد تحديد الاعمدة .. قم بالضغط على زر التالي Next سوف تظهر لك نافذة آخرى هنا يتم فيها اذا كنت تريد عمل علاقات او قروب وغيرها .. دعها كما هي اضغط على Next حتى تصل إلى تحديد شكل التقرير ... سوف تظهر لك نافذة تحديد الثيم للكرستال ريبوت ... اختر اي شكل مناسب لتقريرك .. [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_17.JPG[/IMG] ثم بعد ذلك اضغط على زر Finish لكي يتم انشاء التقرير .. ووضع الحقول في التقرير وسوف يكون الشكل النهائي بهذا الشكل .. [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_18.JPG[/IMG] وهذا هو شكل التقرير .. وشكله غير مثير للاهتمام .. الان اذهب إلى صفحة الـ Default.aspx وقم بتحديد الاداة CrystalReportViewer1 سوف يظهر لك الوسم الذكي .. على الاداة انتقه واختر من خلال الـ Choose Report Source [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_18.JPG[/IMG] أختر New Report Source لكي تظهر لك نافذة آخرى Create Report Source [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_19.JPG[/IMG] دع الاسم الافتراضي كما هو .....وقم بتحديد الكرستال ريبوت الذي انشأناه مسبقا .. [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_20.JPG[/IMG] من خلال القائمة المنسدلة .. ثم اضغط على OK [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_21.JPG[/IMG] بعد ذلك سوف يتصل التقرير مع الداتا بيس .. وسوف يعرض لك الاعمدة في الجدول ومعها بيانات يتم عرضها لكي يبن لك انه تم الاتصال ملاحظة يتم ادراج بيانات افتراضية في التقرير .. وليس لها علاقة بالجدول.. ولكن فقط يبين لك شكل التقرير سيكون بهذا الشكل في العرض وعند التشغيل سوف ترى البيانات الفعلية في الجدول .. [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_22.JPG[/IMG] الان لنجرب التقرير ... اذهب من خلال القائمة Build واختر منها Build Solution [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_22.JPG[/IMG] بعد ان ترى انه تم Build Succeeded [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_24.JPG[/IMG] قم بتشغيل المشروع من خلال الزر للتشغيل [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_25.JPG[/IMG] لكي يتم اظهار البيانات الفعلية التي في الجدول المختار .. [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_26.JPG[/IMG] الان انتهينا من كل شيء .. ولكن ... السؤال يطرح نفسه .. ماذا لو اردت ان اطبع سجل واحد ؟ ماهي الطريقة .. وفي هذا الشرح يعرض لنا كل البيانات .. وكذلك الاتصال ليس مربوط بالكود وكذلك قاعدة البيانات .. فهذا يعني عندما تقوم بتشغيل المشروع على جهاز آخر سوف لا يتعرف على الداتا بيس .. وهذه مشكلة .. اذا لنقوم بكتابة الكود لكي يكون التقرير ديناميكي .. وليس البيانات تكون فيه Static اذهب إلى صفحة الـ Default.aspx واضغط دبل كلك على الصفحة لكي تنفتح لك نافذة الكود ... إذهب مباشرة إلى أعلى صفحة الكود وقم بكتابة هذه التعريفات للاتصال بقواعد البيانات والكرسيتال ريبوت .. [CODE]Imports System.Data.OleDb Imports System.Data Imports CrystalDecisions.CrystalReports.Engine Imports CrystalDecisions.Shared Imports System.Collections[/CODE] ثم اذهب الى الـ بيج لود Page_Load وقم بكتابة هذه الكود التالي .. سوف نقوم بالتعديل عليه .. [CODE] Dim rpt As New ReportDocument rpt.Load(Server.MapPath("CrystalReport.rpt")) Dim db As New OleDbConnection("Provider=Microsoft.JET.OLEDB.4.0;Data Source=" + Server.MapPath(".\\db1.mdb")) db.Open() Dim SQLs As String SQLs = "" Dim ad As New OleDbDataAdapter(SQLs, db) Dim da As New DataSet ad.Fill(da, "Earth") rpt.SetDataSource(da) rpt.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.DefaultPaperOrientation CrystalReportViewer1.ReportSource = rpt db.Close() ad.Dispose() da.Dispose()[/CODE] كما هو موضح ... [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_27.JPG[/IMG] لاحظ اخي القارئ .. اننا تركنا هذا المتغير فارغ .. [CODE] SQLs = ""[/CODE] سوف نقوم باخذ جملة الاستعلام من خلال الكرستال ريبوت .. ونضع له شرط .. الان اجعل الكرستال ريبوت هو المحدد حاليا CrystalReport.rpt ثم من خلال شريط الادوت الذي يكون على اليسار الخاص للكرستال ريبوت Field Explorer [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_28.JPG[/IMG] اضغط على Show SQL Query لكي تظهر لك هذه النافذة [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_29.JPG[/IMG] قم بنسخ جملة الاستعلام.. لكي نقوم بالتعديل عليها .. الان ارجع إلى صفحة الديفولت .. Default.aspx.vb وقم باسناد جملة الاستعلام إلى المتغير SQLs وسوف نسنده بشرط معين بشرط رقم الـ ID= 1 لكي يصبح المتغير قيمة المتغير بهذا الشكل [CODE] SQLs = "SELECT `tbl_Client`.`ID`, `tbl_Client`.`C_Name`, `tbl_Client`.`C_Phone`, `tbl_Client`.`C_Address`FROM `tbl_Client` `tbl_Client` Where ID=1"[/CODE] وبهذه الطريقة انتهينا .. قم بتشغيل التقرير .. لكي يظهر لك فقط سجل واحد .. كما هو مبين .. [IMG] http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/Crystal_Report_30.JPG[/IMG] شرح بعض الاكواد للتوضيح استخدمنا امر [CODE]Imports System.Data.OleDb Imports System.Data[/CODE] لتعريف مكتبات الربط بقواعد البيانات وكذلك اظهار او اتاحة الخصائص للتقرير [CODE]Imports CrystalDecisions.CrystalReports.Engine Imports CrystalDecisions.Shared Imports System.Collections[/CODE] عرفنا متغير من نوع rpt لياخذ خصائص التقرير [CODE] Dim rpt As New ReportDocument rpt.Load(Server.MapPath("CrystalReport.rpt"))[/CODE] ومن ثم التعرف على مسار التقرير وتحديده .. في الموقع .. وهنا [CODE] Dim db As New OleDbConnection("Provider=Microsoft.JET.OLEDB.4.0;Data Source=" + Server.MapPath(".\\App_Data\\db1.mdb")) db.Open() Dim SQLs As String SQLs = "SELECT `tbl_Client`.`ID`, `tbl_Client`.`C_Name`, `tbl_Client`.`C_Phone`, `tbl_Client`.`C_Address`FROM `tbl_Client` `tbl_Client` Where ID=1"[/CODE] قمنا بتعرف متغير للاتصال ومن ثم فتحه .. وعرفنا متغير SQLs لياخذ لكي يتحفظ بقيمة او بالاحرى يخزن جملة الاستعلام في المتغير .. ومن ثم عرفنا الادبتر .. لكي يتم تنفيد جملة السكيول وعرفنا الداتا ست لكي ياخذ القيم المرجعه من خلال الادبتر .. [CODE] Dim ad As New OleDbDataAdapter(SQLs, db) Dim da As New DataSet ad.Fill(da, "tbl_Client")[/CODE] ثم بعد ذلك اسندنا قيمة الداتا ست إلى التقرير .لياخذ البيانات منها [CODE] rpt.SetDataSource(da)[/CODE] ثم بعد ذلك كتبنا هذا الكود التالي لكي يهيئ التقرير للطباعة بالعرض والطول .. [CODE] rpt.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.DefaultPaperOrientation[/CODE] ويمكن تجاهل هذا السطر .. ثم اسندنا لعارض الكرستال ريبوت مصدر الريبوت وهو الـ rpt لكي يتعرف على الريبوت [CODE] CrystalReportViewer1.ReportSource = rpt[/CODE] ومن ثم اغلاق كلاُ من [CODE] db.Close() ad.Dispose() da.Dispose()[/CODE] خلاصة الحديث كله .. انه يمكن تمرير جملة SQL للصفحة سواء مشروطه ام بدون شرط سوف تيم تنفيذها وعرضها في التقرير .. وسوف يتم جلب البياانات إلى التقرير سواء سجل واحد او عدة سجلات على حسب القيمة المرجعة من الاستعلام .. الان الكود بلغة الـ C#.NET ضع هذا الكود في اعلى النافذة [CODE] using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.OleDb; using CrystalDecisions.CrystalReports.Engine; using CrystalDecisions.Shared; using System.Collections;[/CODE] وضع هذا الكود في البيج لود .. [CODE] ReportDocument rpt = new ReportDocument(); rpt.Load(Server.MapPath("CrystalReport.rpt")); String SQLs; SQLs = "SELECT `tbl_Client`.`ID`, `tbl_Client`.`C_Name`, `tbl_Client`.`C_Phone`, `tbl_Client`.`C_Address`FROM `tbl_Client` `tbl_Client` Where ID=1"; String strConnection = "Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=" + Server.MapPath(".\\App_Data\\db1.mdb"); //create a new OleDbConnection object using the connection string OleDbConnection objConnect = new OleDbConnection(strConnection); //open the connection to the database objConnect.Open(); OleDbDataAdapter ad = new OleDbDataAdapter(SQLs, objConnect); DataSet da = new DataSet(); ad.Fill(da, "tbl_Client"); rpt.SetDataSource(da); rpt.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.DefaultPaperOrientation; CrystalReportViewer1.ReportSource = rpt; objConnect.Close(); ad.Dispose(); da.Dispose();[/CODE] وهذا والله أعلم.. ربي اني لَمَا انزلتَ اليّ من خيرٍ فقير  

 اسم العضو:FunctionSys  الأربعاء,10/ذو الحجة/1428 هـ,09:28 صباحاً
هذا المثال بالـ VB.NET  

 اسم العضو:FunctionSys  الأربعاء,10/ذو الحجة/1428 هـ,09:29 صباحاً
وهذا المثال بالـ C#.NET تحياتي ... 

 اسم العضو:MiniDisgner  الأربعاء,10/ذو الحجة/1428 هـ,10:02 صباحاً
بسم الله الرحمن الرحيم والصلاه والسلام على سيدنا محمد وعلى اله وصحبه اجمعين الاستاذ القدير FuctionSys جزاك الله خيرا على هذا الموضوع الرائع وهذا الشرح المفصل جعله الله في موازين حسناتك وكثر الله من امثالك فانا ممن عانا كثيرا في البحث عن درس كهذا ينفعني ويساعدني والله انني وجميع اعضاء المنتدى نعلم ان هذا العطاء ليس بشي غريب عليك ولااملك الاشكرك والدعاء لك وتقبل تحياتي  

 اسم العضو:FunctionSys  الأربعاء,10/ذو الحجة/1428 هـ,10:44 صباحاً
بسم الله الرحمن الرحيم اللهم صلي على محمد وآل محمد... شكرا لكِ اختي .. على هذا الاطراء اخجلتي تواضعي .. موفقين يارب  

 اسم العضو:MiniDisgner  الأربعاء,10/ذو الحجة/1428 هـ,09:36 مساءً
اخي القدير FunctionSysصدقني ماقلت الا الحقيقه بس فيه عندي سوال زغيرون نفسي اعرف كيف اسويه وهو انت في المثال قدرت تعرض لنا سجل واحد اوعده سجلات لكن لما كنت تعرض سجل واحد كان رقم IDمكتوب في الكود يعني نفسي اعرف مافي طريقه مثلا اخلي المستخدم هو يدخل رقم السجل الي عاوز يعرضه ويتعرض في الريبورت زي مثلا تكست بوكس يدخل فيه رقم العميل وليكن 2 ويتعرض في الريبورت بيانات العميل التاني اتمنى القى اجابه منك ومشكوووووووووووووور مره تانيه وتالته...الخ وتقبل تحياتي 

 اسم العضو:FunctionSys  الخميس,11/ذو الحجة/1428 هـ,03:28 صباحاً
بسم الله الرحمن الرحيم اللهم صلي على محمد وآل محمد ... لو تلاحظين في الشرح .. في البداية انا تركت المتغير SQLs فارغ .. ثم اسندت له قيمة ... وبما انك تبين المستخدم يدخل الرقم او الاسم .. او اي شيء مشروط .. كل ماعليك هو تمرير جملة سكيول إلى الصفحة وتشغيلها .. على سبيل المثال .. احنا عرفنا متغير SQLs كالتالي واسندنا له جملة الأستعلام المشروط ... الكود بالسي شارب .. [CODE] String SQLs; SQLs = "SELECT `tbl_Client`.`ID`, `tbl_Client`.`C_Name`, `tbl_Client`.`C_Phone`, `tbl_Client`.`C_Address`FROM `tbl_Client` `tbl_Client` Where ID=1";[/CODE] ومن ثم قمنا بتشغيلها .. بهذا الامر .. [CODE] OleDbDataAdapter ad = new OleDbDataAdapter(SQLs, objConnect);[/CODE] طبعا بأمكانا نستغني على الجملة التالية الا وهي [CODE] SQLs = "SELECT `tbl_Client`.`ID`, `tbl_Client`.`C_Name`, `tbl_Client`.`C_Phone`, `tbl_Client`.`C_Address`FROM `tbl_Client` `tbl_Client` Where ID=1";[/CODE] يعني نعرف فقط String SQLs; ونسند له القيمة القادمة من صفحة آخرى ادخلها المستخدم .. على سبيل المثال .. نقول SQLs="القيمة القادمة من صفحة آخرى ادخلها المستخدم" ومن ثم نشغل الجملة [CODE] OleDbDataAdapter ad = new OleDbDataAdapter(SQLs, objConnect);[/CODE] السؤال يطرح نفسه .. كيف امرر قيمة من صفحة آلى آخرى ... تستطيعين بعدة طرق .. والشائع هو استخدام السشن .. لكي يحمل لك جملة السكيول .. واسنده إلى المتغير الي هو SQLs على سبيل المثال .. لدنيا صفحة يتم فيها وضع قيمة المنتج .. وعند الضغط على الزر ينقله إلى صفحة التقرير ليتم عرض البيانات من خلال الرقم المدخل.. نعمل التالي بكل سهولة . نعرف سشن ..في الزر ويكون قيمة السشن جملة استعلام مشروط .. [CODE] Session["MySQL"] = "Select * from emp where id='" + TextBox1.text + "'";[/CODE] ومن ثمَ في صفحة عرض التقرير .. في البيج لود ... نسند الـ Session["MySQL"] إلى متغير السكيول بهذه الطريقة [CODE] SQLs = Session["MySQL"].ToString;[/CODE] وسوف يتم تنفيذ الجملة وتشغيلها وعرض البيانات في التقرير ... اتمنى الفكرة وضحت .. تحياتي لك 

 اسم العضو:يوفي VIP  الخميس,11/ذو الحجة/1428 هـ,09:36 صباحاً
بسم الله ماشاء الله .. الله يوفقك استاذنا القدير والفاضل FunctionSys .. الله يجعلها في ميزان حسناتك .. اللهم امين .. 

 اسم العضو:FunctionSys  الخميس,11/ذو الحجة/1428 هـ,04:12 مساءً
بسم الله الرحمن الرحيم اللهم صلي على محمد وآل محمد .. العفوا اخي العزيز يوفي VIP كل مااصبوا اليه هو نشر العلم الكامن في هالعقول .. تحياتي لك 

 اسم العضو:يوسف جميل جادالله  الاثنين,15/ذو الحجة/1428 هـ,05:54 صباحاً
كلام جميل اخي الكريم و فققك الله لكل خير و تشكر على هذه الجهود الطيبة.  

 اسم العضو:FunctionSys  الاثنين,15/ذو الحجة/1428 هـ,06:26 صباحاً
بسم الله الرحمن الرحيم . اللهم صلي على محمد وآل محمد ... تسلم يالغالي .. استاذي جوزيف .. انا لا انسى اياديك عليّ .. تحياتي لك Keep in touch 

 اسم العضو:Bandar7971  السبت,18/محرم/1429 هـ,01:01 مساءً
مشكور اخي FunctionSys على هذا الشكر الممتاز وجعله الله في موازين حسناتك، وبما انك تكلمت عن الكريستال ريبورت فساطرح عليك مشكلة متعبتني قليلاً وجعلتني اعمل ريستارت للسيرفر كل اسبوع في اسكجولد جوب وهي: انه لا يمكن تشغيل اكثر من 75 مرة او تقرير ، وللمعلومية انا استخدم VS 2005، فهل صادفتك هذه المشكلة. مع التحية،، 

 اسم العضو:FunctionSys  السبت,18/محرم/1429 هـ,06:55 مساءً
بسم الله الرحمن الرحيم اللهم صلي على محمد وآل محمد .. اخي الفاضل Bandar7971 .. بصراحة لم تمر بي هذي المشكلة .. ولكن اظن اذا لم يكون هناك ترخيص للتقرير لا تنسى انه الكرستال ريبورت اضافي يعني برنامج منعزل عن الدوت نت .. لازم سريال نمبر .. وتنشيط والخ ..  

 اسم العضو:DEEF  الاثنين,04/فر/1429 هـ,07:43 صباحاً
انت راجل طيب شرح صراحه ولا اروع . الله يخليك لنا؟؟؟؟؟؟؟؟؟؟ 

 اسم العضو:المطورة  الخميس,21/فر/1429 هـ,07:29 صباحاً
السلام عليكم و بعد شرح وافي و رائع جدا تم تطبيقة على قاعدة البيانات Access و كان العمل OK ولما تم التحول على قاعدة البيانات SQL يتم طلب Server name: ??? كتبت localhost يطلع رساله خطأ server name does not exist User ID: ??? Password: ??? Database: ???? اسم الداتابيس و لما ينتهي wizard يطلع login failed بسبب أحد الأشياء الأربعة السابقة و حاولت عملة بالكود بدون wizard يطلع في في التشغيل أن report لا يحتوي على جداول !!! علما أني استخدم crystal report المرفق مع visual studio 2005 وقد تم عمل لها تسجيل ما الحل ؟؟  

 اسم العضو:FunctionSys  الاثنين,25/فر/1429 هـ,07:37 مساءً
بسم الله الرحمن الرحيم اللهم صلي على محمد وآل محمد ... طبعا لابد ان يكون لديك الـ SQL Server Management Studio واذا كان لديك.. اضيفي التقرير ثم انشأي اتصال جديد لكي تظهر لك هذه الصورة [IMG]http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/ConnectionSQL_Server2005_2.JPG[/IMG] لتحديد المزود الخاص بالـ SQL Server وبعد ذلك دبل كلك على اسم المزود لكي تظهر لك هذه الصورة التالية [IMG]http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/ConnectionSQL_Server2005_1.JPG[/IMG] وفيها تحددي التالي اسم السيرفر واجعليه الافتراضي وهو localhost اسم المستخدم : المنشا للجدول في الداتا بيس .. لابد من انشاء مستخدم الباسورد : الباسورد للمستخدم تحديد قاعدة البيانات : بمجرد كتابة اسم المستخدم الصحيح وكلمه المرور .. سوف تظهر لك قائمة بأسماء الداتا بيس المخزنه في السكيول سيرفر .... أتمنى هذا الشيء افادك ولو بالقليل ... تحياتي لك 

 اسم العضو:المطورة  الأحد,16/ربيع الأول/1429 هـ,04:52 مساءً
جزيت خيرا تم بالفعل حل المشكلة التي أخذت من وقتي كثيرا و أنا ابحث عن حل لها و حتى يستفيد أعضاء المنتدى تم تحميل SQL Server Management Studio من [URL=http://www.microsoft.com/downloads/details.aspx?FamilyID=c243a5ae-4bd1-4e3d-94b8-5a0f62bf7796&displaylang=en]هنا[/URL] قد يقول البعض انه لابد من حذف النسخة السابقة المدمجة مع الفيجوال ستديو قبل تثبيت الجديدة و هذا الكلام لا صحة لة و لكن السؤال الذي يطرح نفسه لماذا لا يوجد طريقة لاستخدام الكريستال ريبورت في sql المدمجة مع الفيجوال ستديو بدون الحاجة إلى SQL server management ؟؟ و ما الفرق بين استخدام SQL server management وبين SQL express المدمجة مع الفيجوال ماهي الايجابيات و السلبيات ؟؟ و شكرااااا جزيلاااااااا  

 اسم العضو:Positive.Muslim  الأحد,16/ربيع الأول/1429 هـ,10:47 مساءً
جزاك الله خيري الدنيا و الآخرة و نفع بك بارك الله فيك 

 اسم العضو:FunctionSys  الاثنين,17/ربيع الأول/1429 هـ,12:37 مساءً
بسم الله الرحمن الرحيم اللهم صلي على محمد وآل محمد ... العفوا على كل من رد في هذا الموضوع وشاركنا . والله يوفقكم ... بالنسبة للاخت .. [CODE]و ما الفرق بين استخدام SQL server management وبين SQL express المدمجة مع الفيجوال ماهي الايجابيات و السلبيات ؟؟[/CODE] على حسب خبرتي . أرى انه سكيول اكسبرس .. يستخدم للتجارب على الجهاز دون الحاجة للسكيول مانجمنت .. ولكن اذا اردت العمل الفعلي .. لابد من تركيب السكيول سيرفر مانجمنت .. ومستحيل تعمل داتا بيس من غير هذا محرك قواعد البيانات في السيرفر .. وتقبلوا تحياتي  

 اسم العضو:AGSHAR  الثلاثاء,02/ربيع الثاني/1429 هـ,11:41 صباحاً
السلام عليكم اخوي بصراحة شرح كنت محتاجه وماقدرت اقرا الدرس من دون مااشكرك بل اول يعطيك الف عافيه 

 اسم العضو:aissa2  الجمعة,19/ربيع الثاني/1429 هـ,10:50 صباحاً
الف شكر والله يعطيك الف مليون عافيه ويجزيك كل خير والله يوفقك ويزيد علمك لترتقي الى المراتب العليا انشاله وتحقق كل شي تتمناه والف شكر على هالموضوع مره تانيه  

 اسم العضو:AGSHAR  السبت,05/جمادى الأولى/1429 هـ,11:23 صباحاً
مشكور اخوي العزيز عندي سوال انا اشتغل على ال web application و لما احاول اني اخلي اليوزر يطبع من جهازه على طابعة الخاصة باستخدام printtoprinter يطبع على طابعة السيرفر و ليس المستخدم . هل هناك طريقة لطباعة التقرير من غير فتحه للمستخدم باستخدام زر معين او اتوماتيكيا بدون استخدام الزر الموجود في الكريستال ريبورت غير ال printoprinter لانه غير نافع يعني اضيف بوتون خاص لطباعة التقرير اشكرك مره اخرى و اتمنى الرد السريع.  

 اسم العضو:hrfr  الأربعاء,09/جمادى الأولى/1429 هـ,10:32 مساءً
اخي الحبيب لدي استفسارفي موضوعك المميز لماذا لاتعمل التقارير عند رفعها على السيرفر(النت) هل هناك ملفات خاصة يجب رفعها مع المشروع ام انه يجب ان تكون الشركة المستضيفة لموقعك تدعم الكرستال ريبورت لأن اغلب الشركات لاتدعم تحياتي 

 اسم العضو:أوتار الحنين  الاثنين,05/جمادى الثانية/1429 هـ,04:15 مساءً
بسم الله الرحمن الرحيم [QUOTE]بسم الله الرحمن الرحيم<br>اللهم صلي على محمد وآل محمد ...<br><br>طبعا لابد ان يكون لديك الـ SQL Server Management Studio<br>واذا كان لديك..<br><br>اضيفي التقرير ثم انشأي اتصال جديد لكي تظهر لك هذه الصورة <br><br><img border="0" src="[IMG]http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/ConnectionSQL_Server2005_2.JPG[/IMG]""><br><br>لتحديد المزود الخاص بالـ SQL Server<br><br>وبعد ذلك دبل كلك على اسم المزود لكي تظهر لك هذه الصورة التالية <br><br><img border="0" src="[IMG]http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/ConnectionSQL_Server2005_1.JPG[/IMG]""><br><br>وفيها تحددي التالي<br><br>اسم السيرفر واجعليه الافتراضي وهو localhost<br>اسم المستخدم : المنشا للجدول في الداتا بيس .. لابد من انشاء مستخدم<br>الباسورد : الباسورد للمستخدم<br>تحديد قاعدة البيانات : بمجرد كتابة اسم المستخدم الصحيح وكلمه المرور .. سوف تظهر لك قائمة بأسماء الداتا بيس المخزنه في السكيول سيرفر .... <br><br>أتمنى هذا الشيء افادك ولو بالقليل ... <br>تحياتي لك[/QUOTE] شرح جميل ووافي ولكن اخي الكريم انا سويت مثل ما قلت واصبح SQL Server Management Studio عندي بالجهاز بس لمن عملت database بـ sql server2005 لم أضع له اسم مستخدم ولا باسوورد لاني سوف اعمل تقرير لفاتورة بيع المنتجات ماذا افعل هل يوجد طريقة اخرى من غير كتابة اسم المستخدم والباسوورد ؟  

 اسم العضو:aghsan  السبت,25/شوال/1429 هـ,12:53 مساءً
السلام عليكم شكرا لك اخي .. و لكن لدي سؤال بسيط اصدار الاكسس اللي عندي هو 2007 و امتداده هو .accdb و عند عمل اتصال و اختيار Microsoft Jet 4.0 OLE DB Provider يظهر لي خطا ... حتى عندما اختار مزودات اخرى يظهر نفس الخطا و هو عدم معرفة قاعدة البيانات المحدده ... فأتمنى منكم مساعدتي .. و شكرا  

 اسم العضو:amelhanfey  السبت,17/ذو القعدة/1429 هـ,08:47 صباحاً
اخي الكريم جميل جدا الحوار في المنتدي وخصوصا الشرح الرائع اللي قمت بيه ومشكور جدا عليه بس عندي استفسار لو تكرمت انا الحين عندي قاعدة بيانات MS SQl , وعندي فيها مجموعة من ال VIEWS وعملت مجموعة تقارير وكل ده تمام بس بيقابلني مشكلتين السؤال الاول اني عيز احط مجموعة لينكات في صفحة واحدة بحيث اني لما اضغط علي اللينك الاول يشتغل التقرير الاول ولما اشغط علي اللينك التاني يشتغل التقرير التاني وهكذا السؤال التاني انا متصل مع التقرير عن طريق ODBC مع قاعدة البيانات sql وطبعا كل مابعمل تشغيل للتقرير بيطلع يسالني عن اسم المستخدم وكلمة السر كل مرة مفيش طريقة تخليني احتفظ بيهم في الصفحة او من خلال الكود بيحث انه مايسالني كل مرة في كل تقرير بشغله وشكرا اخي الكريم  

 اسم العضو:الكومندا  الأربعاء,28/ذو القعدة/1429 هـ,12:16 صباحاً
[QUOTE]<br>بسم الله الرحمن الرحيم<br><br><DIV class=quotetop> اقتباس</DIV><DIV class=quotemain>بسم الله الرحمن الرحيم<br>اللهم صلي على محمد وآل محمد ...<br><br>طبعا لابد ان يكون لديك الـ SQL Server Management Studio<br>واذا كان لديك..<br><br>اضيفي التقرير ثم انشأي اتصال جديد لكي تظهر لك هذه الصورة <br><br><img border="0" src="<img border="0" src="[IMG]http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/ConnectionSQL_Server2005_2.JPG[/IMG]"">""><br><br>لتحديد المزود الخاص بالـ SQL Server<br><br>وبعد ذلك دبل كلك على اسم المزود لكي تظهر لك هذه الصورة التالية <br><br><img border="0" src="<img border="0" src="[IMG]http://www.arabmoheet.net/forum/Members_Upload_Pics/34925/ConnectionSQL_Server2005_1.JPG[/IMG]"">""><br><br>وفيها تحددي التالي<br><br>اسم السيرفر واجعليه الافتراضي وهو localhost<br>اسم المستخدم : المنشا للجدول في الداتا بيس .. لابد من انشاء مستخدم<br>الباسورد : الباسورد للمستخدم<br>تحديد قاعدة البيانات : بمجرد كتابة اسم المستخدم الصحيح وكلمه المرور .. سوف تظهر لك قائمة بأسماء الداتا بيس المخزنه في السكيول سيرفر .... <br><br>أتمنى هذا الشيء افادك ولو بالقليل ... <br>تحياتي لك</DIV><br><br>شرح جميل ووافي ولكن اخي الكريم انا سويت مثل ما قلت واصبح SQL Server Management Studio عندي بالجهاز   بس لمن عملت database بـ sql server2005 لم أضع له اسم مستخدم ولا باسوورد    <br><br>لاني سوف اعمل تقرير لفاتورة بيع المنتجات <br><br>ماذا افعل <br><br> هل يوجد طريقة اخرى من غير كتابة اسم المستخدم والباسوورد ؟<br>[/QUOTE] اختر الخيار integerated security ولن تكن مضطرا لادخال اسم يوزر وباس ورد اخي 

 اسم العضو:الكومندا  الأربعاء,28/ذو القعدة/1429 هـ,12:22 صباحاً
[QUOTE]اخي الكريم جميل جدا الحوار في المنتدي وخصوصا الشرح الرائع اللي قمت بيه ومشكور جدا عليه بس عندي استفسار لو تكرمت <br>انا الحين عندي قاعدة بيانات MS SQl , وعندي فيها مجموعة من ال VIEWS وعملت مجموعة تقارير وكل ده تمام   بس بيقابلني مشكلتين<br><b>السؤال الاول</b><br>اني عيز احط مجموعة لينكات في صفحة واحدة بحيث اني لما اضغط علي اللينك الاول يشتغل التقرير الاول <br>ولما اشغط علي اللينك التاني يشتغل التقرير التاني وهكذا <br><b>السؤال التاني</b> انا متصل مع التقرير عن طريق ODBC مع قاعدة البيانات   sql وطبعا كل مابعمل تشغيل للتقرير بيطلع يسالني عن اسم المستخدم وكلمة السر كل مرة مفيش طريقة تخليني احتفظ بيهم في الصفحة او من خلال الكود بيحث انه مايسالني كل مرة في كل تقرير بشغله <br>وشكرا اخي الكريم <br>[/QUOTE] بالنسبة لسؤالك الاول اخي ارجع الى الصفحة الاولى من الموضوع وستجد في رد الاخ الفاضل في احد المشاركات اجابة لسؤالك هذا حيث يمكنك انشاء سيشن جديد ثم انشاء متغير من نوع string مثلا وعند الضغط على اي لينك من هؤلاء تضع جملة الاستعلام في هذا المتغير ثم تضع المتغير في السيشن وترسل هذا السيشن لصفحة التقارير كما هو موضح في تلك المشاركة في الصفحة الاولى اخي بالنسبة للسؤال الثاني اعتذر فاني لم تقابلني هذه المشكلة من قبل ولا اعرف لها حلا ... 

 اسم العضو:Q8TI  السبت,04/ربيع الأول/1430 هـ,07:18 مساءً
جزاك الله كل خير اخي الكريم على الموضوع  

 اسم العضو:senior_girls2006  الاثنين,11/ربيع الثاني/1430 هـ,03:04 مساءً
جزاااااااااااااااااااااااااااااااااااااااااااااك الله كل خير ، بصراحة أستفدت منه وإن شاء الله العلي القدير هبدأ أطبقه على الويب سايت بتاعي إن شاء الرحمن شكرا ليك وإن شاء الله في ميزان حسناتك بإذن الله 

 اسم العضو:bahaa.m  الأربعاء,05/جمادى الأولى/1430 هـ,06:01 صباحاً
جزاك الله الف خير طريقة ربط التقارير هذه نجحت والحمد لله بعد اسبوع من المحاولات وايضا جربتها من خلال windows aplication مع بعض التغيير ونجحت جزاك الله خيرا 

 اسم العضو:amelhanfey  الأربعاء,05/جمادى الأولى/1430 هـ,07:15 صباحاً
الف الف شكرا يا خوان واسف علي اني ماشكرتكمش علي طول جزاكم الله كل خير 

 اسم العضو:gxr  الاثنين,29/جمادى الثانية/1430 هـ,04:19 مساءً
الاخ الكريم الف شكر على هذا الشرح الجميل سؤال كيف يمكن تمرير اكثر من قيمة في الصفحة الى تكست في الكرستال ريبورت( مثل عنون للصفحة ، اسم المدير في اسفل التقرير ) 

 اسم العضو:توب سوفت  الخميس,10/رجب/1430 هـ,04:45 مساءً
الأخ العزيز الف شكر على الشرح الأكثر من رائع ولكن هناك بعض المشاكل 1- عند الطباعة تتم الطباعة على هيئة pdf وعندما يكون في التقرير كلمات باللغة العربية لا يقرأها بمعنى انه يقرأها من اليسار الى اليمين مثلا " السلام عليكم " يقرأها هكذا " مكيلع مباسلا " 2 - هل عندما أقوم برفع الموقع على النت هل هذا يحتاج شراء الكريستال ام ماذا وهل سيعمل ام لا علما بأني استخدم visualstudio2005 ومدمج معه الكريستال ريبورت شكرا جزيلا  

 اسم العضو:FunctionSys  الخميس,10/رجب/1430 هـ,04:56 مساءً
وعليكم السلام .. اهلا بك عزيزي... بالنسبة للعربية حاول تتاكد من دعم الـ Unicode للتطبيقات في الوندوز اما بالنسبة اذا رفعته على الانترنت.. انا جربته من قبل على استضافة ولا احتاج إلى تسجيل لانه كود التسجيل ارودي عندي .. مافيه مشكلة اذا كنت تستخدم الكرستال ريبوت مع الفيجوال .. او منعزل .. تحياتي..  

 اسم العضو:توب سوفت  الخميس,10/رجب/1430 هـ,05:05 مساءً
بارك الله فيك اخي العزيز وجعله في ميزان حسناتك لا أريد أن اثقل عليك بالأسئلة ولكني قد قرأت بعض المشاركات التي تقول أنه لابد أن يكون الاستضافة تدعم الكريستال ولابد أن يكون نسخة اصليه وهكذا عموما سوف أجرب ولكن هل هناك طرق أفضل في ال ASP.NET للطباعة وعمل التقارير بمعنى أن تكون أسهل وليس منها قلق عند رفع الموقع وشكرا جزيلا  

 اسم العضو:gxr  الجمعة,11/رجب/1430 هـ,02:44 مساءً
الاخ الكريم الف شكر على هذا الشرح الجميل سؤال كيف يمكن تمرير اكثر من قيمة في الصفحة الى تكست في الكرستال ريبورت( مثل عنون للصفحة ، اسم المدير في اسفل التقرير )  

 اسم العضو:ضاري  الأحد,25/شعبان/1430 هـ,02:56 صباحاً
السلام عليكم كل الشكر لك اخي FunctionSys على هذا الموضوع القيم والمفيد بالنسبة لي جربت ونجحت ولله الحمد والموضوع سهل مافيه تعقيد لكن مشروعي يتطلب طباعة صورة في التقرير فهو مكون من قاعدة بيانات Mysql وصفحة تعرض بينات الموضف مع صورة شخصيه له فكيف اولا احفظ الصورة في قاعدة البيانات وكيف اطبعها في التقرير اتمنى ان اجد لديك الحل بنتظارك 

 اسم العضو:DoOoDBash  الأحد,17/رمضان/1430 هـ,03:04 صباحاً
[SIZE=4][COLOR=teal]السلام عليكم ورحمة الله وبركاته اولا اشكرك اخي على الدرس الرااااااائع جدا.....والطرح المميز....الله يعطيك الف عااافية ثانيا لدي مشكلة في انشاء الكريستال ريبورت نفذت الخطوات الاولى الى خطوة تحديد القاعدة.......المشكلة انها لاتظهر لي القاعدة الخاصة بمشروعي مع العلم انو القاعدة ضمن بيئة visual studio 2008 والمشروع windows application مع العلم عندما وصلت الى مرحلة اختيار المزود اخترت التالي SQL Server provider فهل يوجد خطاء في خطواتي........ارجوا منكم مساااعدتي[/COLOR][/SIZE] 

 اسم العضو:DoOoDBash  الأحد,17/رمضان/1430 هـ,03:04 صباحاً
[SIZE=4][COLOR=teal]السلام عليكم ورحمة الله وبركاته اولا اشكرك اخي على الدرس الرااااااائع جدا.....والطرح المميز....الله يعطيك الف عااافية ثانيا لدي مشكلة في انشاء الكريستال ريبورت نفذت الخطوات الاولى الى خطوة تحديد القاعدة.......المشكلة انها لاتظهر لي القاعدة الخاصة بمشروعي مع العلم انو القاعدة ضمن بيئة visual studio 2008 والمشروع windows application مع العلم عندما وصلت الى مرحلة اختيار المزود اخترت التالي SQL Server provider فهل يوجد خطاء في خطواتي........ارجوا منكم مساااعدتي[/COLOR][/SIZE] 

 اسم العضو:DoOoDBash  الأحد,17/رمضان/1430 هـ,04:01 صباحاً
السلام عليكم ورحمة الله وبركاته اولا اشكرك اخي على الدرس الرااااااائع جدا.....والطرح المميز....الله يعطيك الف عااافية ثانيا لدي مشكلة في انشاء الكريستال ريبورت نفذت الخطوات الاولى الى خطوة تحديد القاعدة.......المشكلة انها لاتظهر لي القاعدة الخاصة بمشروعي مع العلم انو القاعدة ضمن بيئة visual studio 2008 والمشروع windows application مع العلم عندما وصلت الى مرحلة اختيار المزود اخترت التالي SQL Server provider فهل يوجد خطاء في خطواتي........ارجوا منكم مساااعدتي 

 اسم العضو:DoOoDBash  الأحد,17/رمضان/1430 هـ,04:10 صباحاً
السلام عليكم ورحمة الله وبركاته اولا اشكرك اخي على الدرس الرااااااائع جدا.....والطرح المميز....الله يعطيك الف عااافية ثانيا لدي مشكلة في انشاء الكريستال ريبورت نفذت الخطوات الاولى الى خطوة تحديد القاعدة.......المشكلة انها لاتظهر لي القاعدة الخاصة بمشروعي مع العلم انو القاعدة ضمن بيئة visual studio 2008 والمشروع windows application مع العلم عندما وصلت الى مرحلة اختيار المزود اخترت التالي SQL Server provider فهل يوجد خطاء في خطواتي........ارجوا منكم مساااعدتي 

 اسم العضو:DoOoDBash  الأحد,17/رمضان/1430 هـ,04:17 صباحاً
السلام عليكم ورحمة الله وبركاته اولا اشكرك اخي على الدرس الرااااااائع جدا.....والطرح المميز....الله يعطيك الف عااافية ثانيا لدي مشكلة في انشاء الكريستال ريبورت نفذت الخطوات الاولى الى خطوة تحديد القاعدة.......المشكلة انها لاتظهر لي القاعدة الخاصة بمشروعي مع العلم انو القاعدة ضمن بيئة visual studio 2008 والمشروع windows application مع العلم عندما وصلت الى مرحلة اختيار المزود اخترت التالي SQL Server provider فهل يوجد خطاء في خطواتي........ارجوا منكم مساااعدتي 

 اسم العضو:DoOoDBash  الأحد,17/رمضان/1430 هـ,04:23 صباحاً
ارجوووو مساااعدتي في اقرب وقت ممكن 

 اسم العضو:compiler  الخميس,22/فر/1432 هـ,07:59 صباحاً
مشكووووووووووووور 

 اسم العضو:مي العلي  الاثنين,27/جمادى الثانية/1432 هـ,08:06 مساءً
[ALIGN=CENTER]سلام عليكم ورحمه الله وبركاته يعطيط الف الف عافيه اخوي الكريم وجزيت بها كل خير ..... بس اخوي الكريم عندي سوال .. هل تقدر توضح كيف اعمل قاعده البيانات sqlservre ولك شكري وتقديري وربي يوفقك .. [/ALIGN] 

 اسم العضو:mrtefa  الأربعاء,17/ربيع الثاني/1434 هـ,07:19 مساءً
هل يمكن و كيف يتم التعلب علي رفع المشروع علي سرقر مجاني لعرض تقرير الكريستال 

جميع الحقوق محفوظة لـمنتديات المحيط العربي 2004 - 2020