<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>مدونة النبهاني &#187; برمجة التقارير</title>
	<atom:link href="http://alnabhani.wordpress.com/category/%d8%a8%d8%b1%d9%85%d8%ac%d8%a9-%d8%a7%d9%84%d8%aa%d9%82%d8%a7%d8%b1%d9%8a%d8%b1/feed/" rel="self" type="application/rss+xml" />
	<link>http://alnabhani.wordpress.com</link>
	<description>أحدث مواضيعي البرمجية والتقنية</description>
	<lastBuildDate>Sat, 28 Nov 2009 17:05:07 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>ar</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='alnabhani.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/91abf77f7c013d66c6f253d8802f990d?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>مدونة النبهاني &#187; برمجة التقارير</title>
		<link>http://alnabhani.wordpress.com</link>
	</image>
			<item>
		<title>مكتبة لعمل تقارير بـ MS Word 2007</title>
		<link>http://alnabhani.wordpress.com/2009/01/16/%d9%85%d9%83%d8%aa%d8%a8%d8%a9-%d9%84%d8%b9%d9%85%d9%84-%d8%aa%d9%82%d8%a7%d8%b1%d9%8a%d8%b1-%d8%a8%d9%80-ms-word-2007-2/</link>
		<comments>http://alnabhani.wordpress.com/2009/01/16/%d9%85%d9%83%d8%aa%d8%a8%d8%a9-%d9%84%d8%b9%d9%85%d9%84-%d8%aa%d9%82%d8%a7%d8%b1%d9%8a%d8%b1-%d8%a8%d9%80-ms-word-2007-2/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 10:18:18 +0000</pubDate>
		<dc:creator>alnabhani</dc:creator>
				<category><![CDATA[برمجة التقارير]]></category>
		<category><![CDATA[تقنية net.]]></category>
		<category><![CDATA[ms word2007]]></category>
		<category><![CDATA[report]]></category>
		<category><![CDATA[تقارير]]></category>

		<guid isPermaLink="false">http://alnabhani.wordpress.com/?p=118</guid>
		<description><![CDATA[مكتبة لعمل تقارير بـ MS Word 2007
التقارير Reports هي المخرج الاساسي والاهم في تطبيقات قواعد البيانات ، ومن هنا تأتي أهمية التقارير ، وعلى المبرمج او المطور الاهتمام بالتقرير شكلا ومضمونا بطريقة تجعل المستخدم النهائي للتقرير يجد البيانات في منتهى السهولة ويستطيع التعامل معها، ففي بعض الاحيان قد لا يكتفي زبونك بنسخه مطبوعة من التقرير [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=118&subd=alnabhani&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>مكتبة لعمل تقارير بـ MS Word 2007</p>
<p>التقارير Reports هي المخرج الاساسي والاهم في تطبيقات قواعد البيانات ، ومن هنا تأتي أهمية التقارير ، وعلى المبرمج او المطور الاهتمام بالتقرير شكلا ومضمونا بطريقة تجعل المستخدم النهائي للتقرير يجد البيانات في منتهى السهولة ويستطيع التعامل معها، ففي بعض الاحيان قد لا يكتفي زبونك بنسخه مطبوعة من التقرير وانما تحتاج الى نسخه الكترونية ، البعض يرى الافضلية ان تكون على هيئة PDF والبعض قد يرى تصديرها بصيغة MS Word,MS Excel افضل خصوصا ان Microsoft Excel يوفر لك امكانيات احصائية وحسابية كبيرة تساعدك في احيان عديدة جداً. وقد يرى البعض ان جعل الصورة النهائية للتقرير بهيئة Word سيكون افضل من الناحية الشكلية خصوصا ، كما ان تصميم تقرير على هيئة Microsoft Word سيكون اسهل من استخدام برامج مخصصة للتقارير في بعض الاحيان كـ Crystal Reports او اداة التقارير الموجودة في Visual Studio نظرا لسهولة عملية التصميم وإمكانيات التنسيق والتنظيم الكبيرة الموجودة في برنامج كـ Microsoft Word 2007 .</p>
<p>وجدت مكتبة صغيرة  وهي تسهل عملية كتابة التقارير بصيغة Word2007 ( docx) وذلك انها تغنيك عن التعامل مع أي مكتبة من مكتبات برنامج Word بل لا تحتاج اصلا إلى وجوده لتقوم بتوليد تقرير بهيئة Word ، والسر في ذلك ان هيئة ملفات Word2007 ما هي الا عبارة عن ملف مضغوط بصيغة zip يحتوي على عدة ملفات xml وبالتالي فالعملية لا تعدو انشاء قالب ببرنامج Word2007 ثم استخدام هذا القالب في كل مره ووضع البيانات عليه !</p>
<p><img src="http://alnabhani.wordpress.com/wp-admin/embedword/s2.PNG" alt="s2.PNG" width="609" height="593" /></p>
<p><img src="http://alnabhani.wordpress.com/wp-admin/embedword/s1.PNG" alt="s1.PNG" width="609" height="593" /></p>
<p>لتحميل المكتبة من هنا:<br />
<a href="http://www.zshare.net/download/54213236ceabcdfb/">http://www.zshare.net/download/54213236ceabcdfb/</a></p>
<p>المصدر :</p>
<p><a href="http://www.codeproject.com/KB/printing/embedword.aspx">http://www.codeproject.com/KB/printing/embedword.aspx</a></p>
Posted in برمجة التقارير, تقنية net. Tagged: ms word2007, report, تقارير <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alnabhani.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alnabhani.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alnabhani.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alnabhani.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alnabhani.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alnabhani.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alnabhani.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alnabhani.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alnabhani.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alnabhani.wordpress.com/118/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=118&subd=alnabhani&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://alnabhani.wordpress.com/2009/01/16/%d9%85%d9%83%d8%aa%d8%a8%d8%a9-%d9%84%d8%b9%d9%85%d9%84-%d8%aa%d9%82%d8%a7%d8%b1%d9%8a%d8%b1-%d8%a8%d9%80-ms-word-2007-2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">alnabhani</media:title>
		</media:content>

		<media:content url="http://alnabhani.wordpress.com/wp-admin/embedword/s2.PNG" medium="image">
			<media:title type="html">s2.PNG</media:title>
		</media:content>

		<media:content url="http://alnabhani.wordpress.com/wp-admin/embedword/s1.PNG" medium="image">
			<media:title type="html">s1.PNG</media:title>
		</media:content>
	</item>
		<item>
		<title>عمل تقرير MasterDetails بواسطة أداة تقارير Visual Studio</title>
		<link>http://alnabhani.wordpress.com/2008/08/20/master-details-report/</link>
		<comments>http://alnabhani.wordpress.com/2008/08/20/master-details-report/#comments</comments>
		<pubDate>Wed, 20 Aug 2008 10:45:01 +0000</pubDate>
		<dc:creator>alnabhani</dc:creator>
				<category><![CDATA[برمجة التقارير]]></category>
		<category><![CDATA[master details]]></category>
		<category><![CDATA[microsoft reporting tool]]></category>
		<category><![CDATA[report]]></category>
		<category><![CDATA[visual studio reports]]></category>
		<category><![CDATA[تقرير]]></category>

		<guid isPermaLink="false">http://alnabhani.wordpress.com/2008/08/20/%d8%b9%d9%85%d9%84-%d8%aa%d9%82%d8%b1%d9%8a%d8%b1-masterdetails-%d8%a8%d9%88%d8%a7%d8%b3%d8%b7%d8%a9-%d8%a3%d8%af%d8%a7%d8%a9-%d8%aa%d9%82%d8%a7%d8%b1%d9%8a%d8%b1-visual-studio/</guid>
		<description><![CDATA[عمل تقرير MasterDetails بواسطة أداة تقارير Visual Studio
كثيرا ما نحتاج الى عمل تقرير من نوع Master Details حيث يكون لدينا جدولان مرتبطان بعلاقة One to Many . في هذا المقال اتناول كيفية عمل تقارير بهذا الشكل .

المرحلة الاولى : تهيئة الإتصال بقاعدة البيانات وكائن الـ Dataset :
سأستخدم في هذا المثال قاعدة البيانات Northwind كالعادة ، [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=68&subd=alnabhani&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>عمل تقرير MasterDetails بواسطة أداة تقارير Visual Studio</p>
<p>كثيرا ما نحتاج الى عمل تقرير من نوع Master Details حيث يكون لدينا جدولان مرتبطان بعلاقة One to Many . في هذا المقال اتناول كيفية عمل تقارير بهذا الشكل .</p>
<p><span id="more-68"></span></p>
<h3>المرحلة الاولى : تهيئة الإتصال بقاعدة البيانات وكائن الـ Dataset :</h3>
<p>سأستخدم في هذا المثال قاعدة البيانات Northwind كالعادة ، والجدولان Orders,OrderDetails تحديدا ( لا شيء مختلف حتى هنا ) وسم الـ Dataset الجديد كما يحلو لك فلن احتاجه في شرحي ( عجيبه اليس كذلك !! ) . الآن توجه الى الـ Datset لنقوم هناك ببعض التعديلات ونبدأ &#8221; العربدة &#8221; !</p>
<p>ما سنقوم به هو اضافة TableAdapter وهو ما يشبه الجدول الافتراضي Virtual Table نضيف للـ Dataset بأنفسنا وننفذ عليه جمله استعلام SQL كما يحلو لنا ، فهو مثل الـ View في SQL Server او Query في Access ، نقوم فيها بتحديد كافة الحقول المطلوب عرضها في التقرير من الجدولين الاب والإبن معا ، وبدون هذا لن تفلح في الشروع بالعمل واحفظ ساعات من التجارب قضيتها بلا جدوى !</p>
<p>الآن للعمل ، ولنضف كائن Table Adapter جديد :</p>
<p><img src="http://img293.imageshack.us/img293/9838/tableadapternn9.jpg" alt="" /></p>
<p> </p>
<p>من المعالج الظاهر انقر على زر Next مرتين ، ثم في المرحلة الثالثة منه ضع جملة SQL التالية :</p>
<table border="0" cellspacing="0" cellpadding="2" width="400">
<tbody>
<tr>
<td width="400" valign="top">
<pre><a href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=SELECT&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">SELECT</a> Orders.[<a href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=Order&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">Order</a> ID], Orders.[Customer ID], Orders.[<a href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=Order&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">Order</a> <a href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=Date&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">Date</a>], Orders.[Shipped <a href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=Date&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">Date</a>], [<a href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=Order&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">Order</a> Details].[<a href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=Order&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">Order</a> ID] <a href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=AS&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">AS</a> Expr1, [<a href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=Order&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">Order</a> Details].ID,
[<a href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=Order&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">Order</a> Details].[Product ID], [<a href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=Order&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">Order</a> Details].Quantity, [<a href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=Order&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">Order</a> Details].[Unit Price]
<a href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=FROM&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">FROM</a> (Orders <a href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=INNER&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">INNER</a> <a href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=JOIN&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">JOIN</a>
[<a href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=Order&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">Order</a> Details] <a href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=ON&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">ON</a> Orders.[<a href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=Order&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">Order</a> ID] = [<a href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=Order&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">Order</a> Details].[<a href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=Order&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">Order</a> ID])</pre>
</td>
</tr>
</tbody>
</table>
<p>بعدها تنهي المعالج مباشرة بالضغط على زر Finish ، وتأكد من ان اسم الجدول الجديد هو Order_Details_Report وبهذا تنتهي هذه المرحلة وننتقل الى المرحلة التالية :</p>
<h3>المرحلة الثانية : تصميم التقرير :</h3>
<p>الآن نقوم بتصميم التقرير وهي مرحلة تحتوي العديد من الخطوات الصغيرة والسهله ، نقوم اولا بتحديد مصدر البيانات report Data Source ليكون الجدول الإفتراضي الذي انشاناه في المرحلة السابقة ونسبه الكامل OrdersDataSet_Order_Details_Report .</p>
<p>ثم نقوم بإضافة أداة List جديدة الى جسم التقرير ، ثم نقوم بتعديل الخاصيه DatasetName لتكون OrdersDataSet_Order_Details_Report ثم نعدل الخاصيه Grouping ونضع الحقل OrderID كمفتاح تجميع كما بالصورة التالية :</p>
<p><a href="http://img187.imageshack.us/img187/9416/groupeditingfv7.gif"><img class="alignnone" title="order id" src="http://img187.imageshack.us/img187/9416/groupeditingfv7.gif" alt="" width="970" height="597" /></a></p>
<p> </p>
<p>بعدها نضيف الحقول OrderId,CustomerId,OrderDate,ShippedDate الى داخل الـ List ، ثم نقوم بإضافة اداة Table لعرض البيانات الفرعيه وهي الحقول ProductID,Quantity,UnitPrice وذلك بسحب هذه الحقول من نافذة الـ Datasources ( الظاهره في الزاوية اليمنى العلوية من الصورة السابقة )الى الجدول مباشرة . بعدها ننتقل الى الزاوية العلوية اليسرى من اداة الجدول ونضغط بالزر الايمن عليه ونختار Properties من القائمة التي تظهر ، ثم انتقل الى التبويب Groups بعدها انقر على رز Edit Details Group واجعل الحقل ProductID ليكون مفتاح تجميع القيم في اداة الجدول .</p>
<p>الصورة التالية توضح الخطوتين السابقتين :</p>
<p><img src="http://img514.imageshack.us/img514/1888/tabledetailsgrouptt1.gif" alt="" /></p>
<p>الخطوة التالية : لا لا يوجد أي خطوات فقد انتهى كل شيء كل ما عليك هو وضع اداة Report Viewer على احد النوافذة windows Forms وعرض التقرير عليها لترى النتيجة شامخة :</p>
<p><img src="http://img234.imageshack.us/img234/3337/finalreportnd4.gif" alt="" /></p>
<p>واذا كنت مستوعبا لما ذكرناه هنا ، وما ذكرناه حول عمل تقرير لسجل معين ، فيمكنك ان تقوم بعمل تقرير MasterDetails لأي سجل مراد بكل سهوله واترك هذا لكم لتكتشفوه في المرفق .</p>
<p>تحياتي</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/alnabhani.wordpress.com/68/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/alnabhani.wordpress.com/68/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alnabhani.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alnabhani.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alnabhani.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alnabhani.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alnabhani.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alnabhani.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alnabhani.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alnabhani.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alnabhani.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alnabhani.wordpress.com/68/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=68&subd=alnabhani&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://alnabhani.wordpress.com/2008/08/20/master-details-report/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">alnabhani</media:title>
		</media:content>

		<media:content url="http://img293.imageshack.us/img293/9838/tableadapternn9.jpg" medium="image" />

		<media:content url="http://img187.imageshack.us/img187/9416/groupeditingfv7.gif" medium="image">
			<media:title type="html">order id</media:title>
		</media:content>

		<media:content url="http://img514.imageshack.us/img514/1888/tabledetailsgrouptt1.gif" medium="image" />

		<media:content url="http://img234.imageshack.us/img234/3337/finalreportnd4.gif" medium="image" />
	</item>
		<item>
		<title>عمل تقرير لعرض سجل معين &#8211; 2</title>
		<link>http://alnabhani.wordpress.com/2008/08/18/one-row-report-2/</link>
		<comments>http://alnabhani.wordpress.com/2008/08/18/one-row-report-2/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 16:51:09 +0000</pubDate>
		<dc:creator>alnabhani</dc:creator>
				<category><![CDATA[برمجة التقارير]]></category>
		<category><![CDATA[dataset]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[microsoft reporting tool]]></category>
		<category><![CDATA[microsoft reports]]></category>
		<category><![CDATA[report]]></category>
		<category><![CDATA[report data source]]></category>
		<category><![CDATA[فلترة]]></category>
		<category><![CDATA[تقارير فيجوال ستوديو]]></category>
		<category><![CDATA[طباعة سجل واحد]]></category>

		<guid isPermaLink="false">http://alnabhani.wordpress.com/?p=57</guid>
		<description><![CDATA[في المرة الماضية عندما طرحت التدوينة : عمل تقرير لعرض سجل معين ذكرت طريقة حل تلك المشكلة باستخدام الباراميترات ، البعض قد يستصعبها ، والبعض قد يسأل من منظور تحسين الكفاءة : لماذا نقوم بتحميل البيانات في الذاكرة ( قد تكون بالآلاف ) طول وقت عرض التقرير  بينما نحن نحتاج الى سجل واحد فقط ؟ سؤال جميل [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=57&subd=alnabhani&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>في المرة الماضية عندما طرحت التدوينة : <a rel="bookmark" href="http://alnabhani.wordpress.com/2008/08/15/print_one_row_report/">عمل تقرير لعرض سجل معين</a> ذكرت طريقة حل تلك المشكلة باستخدام الباراميترات ، البعض قد يستصعبها ، والبعض قد يسأل من منظور تحسين الكفاءة : لماذا نقوم بتحميل البيانات في الذاكرة ( قد تكون بالآلاف ) طول وقت عرض التقرير  بينما نحن نحتاج الى سجل واحد فقط ؟ سؤال جميل جدا بل مهم واعتقد ان من يسال سؤال كهذا هو من المبرمجين الذين يهمهم ان يعمل برنامجهم بأقل ثقل على الذاكرة .</p>
<p><span id="more-57"></span><br />
الطريقة الأخرى اسهل اذا اردنا مجرد عرض سجل واحد فقط ، وهي عمل Filter للبيانات في مصدر التقرير قبل ان تصل التقرير، طبعا بمجرد قيامك بإضافة اداة ReportViewer وتحديد تقرير معين موجود في المشروع سيتم اضافة عدة ادوات تلقائيا الى النافذة منها Dataset,TableAdapter,bindingSource ، فعملية الوصول الى مصدر البيانات من خلال الكود سهله جدا .</p>
<p>الفكرة هنا اننا سنقوم بعمل كائن DataView نستخدمه في فلترة البيانات حسب الحقل المميز للمصدر والذي يكون في العادة ID ، بعد ذلك نقوم بحذف كائن الـ ReportDataSource الخاص بالكائن ReportViewer.LocalReport ، ونضيف كائن جديد نعمله بانفسنا .</p>
<p>في حالتي استخدم الجدول Employees من قاعدة البيانات Northwind ولدي Dataset بالإسم EmployeesDataset وفي التقرير مصدر البيانات DataSource اسمه EmployeesDataset_Employees ،وقد اضفت الى النافذة المطلوبة شريط ادوات ToolStrip به أداة Label,TextBox,Button ليقوم المستخدم بإدخال الـ ID ،</p>
<p>بالنسبه للكود ، فقد قمت بحذف السطر التالي من الحدث Load للنافذة :</p>
<div style="margin:5px 20px 20px;">
<div class="smallfont" style="margin-bottom:2px;">رمز:</div>
<p class="alt2" dir="ltr"><span style="font-size:x-small;"><span style="color:#0000ff;"><span style="font-size:x-small;"><span style="color:#0000ff;">Me</span></span></span></span><span style="font-size:x-small;">.ReportViewer1.RefreshReport() </span></p>
</div>
<p>ثم قمت بإستيراد فضاء الأسماء :</p>
<div style="margin:5px 20px 20px;">
<div class="smallfont" style="margin-bottom:2px;">رمز:</div>
<p class="alt2" dir="ltr"><span style="font-size:x-small;"><span style="color:#0000ff;"><span style="font-size:x-small;"><span style="color:#0000ff;">Imports</span></span></span></span><span style="font-size:x-small;"> Microsoft.Reporting.WinForms </span></p>
</div>
<p>وفي حدث النقر Click للزر المدعو tsbtnshowReport :</p>
<div style="margin:5px 20px 20px;">
<div class="smallfont" style="margin-bottom:2px;"><span style="font-size:x-small;"><span style="color:#008000;"></p>
<div style="margin:5px 20px 20px;"><span style="font-size:x-small;"></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td dir="ltr" width="568" valign="top"><strong>&#8216;adding new ReportDataSource object</strong><span style="color:#0000ff;"><strong>Dim</strong><strong> DS </strong><strong>AsNew</strong><strong> ReportDataSource</strong></span></p>
<p><strong>&#8216;making new DataViewObject to get the data and filter it</strong></p>
<p><span style="color:#0000ff;"><strong>Dim</strong><strong> FilteredData </strong><strong>AsNew</strong><strong> DataView(</strong><strong>Me</strong><strong>.EmployeesDataSet.Employees)</strong></span></p>
<p><strong>&#8216;filtering the data by ID </strong></p>
<p><span style="color:#0000ff;"><strong>FilteredData.RowFilter = </strong><strong>&#8220;ID = &#8220;</strong><strong> &amp; </strong><strong>Me</strong><strong>.tstxtID.Text</strong></span></p>
<p><strong>&#8217;setting the name and value properties of the</strong></p>
<p><strong>&#8216;ReportDataSource Object</strong></p>
<p><span style="color:#0000ff;"><strong>DS.Name = </strong><strong>&#8220;EmployeesDataSet_Employees&#8221;</strong></span></p>
<p><strong><span style="color:#0000ff;">DS.Value = FilteredData</span></strong></p>
<p><strong>&#8216;Removing the current Datasources of the report</strong></p>
<p><strong><span style="color:#0000ff;">ReportViewer1.LocalReport.DataSources.RemoveAt(0)</span></strong></p>
<p><strong>&#8216;adding the new report DataSource object</strong></p>
<p><strong><span style="color:#0000ff;">ReportViewer1.LocalReport.DataSources.Add(DS)</span></strong></p>
<p><strong>&#8216;Viewing the data on the ReportViewer</strong></p>
<p><span style="color:#0000ff;"><strong>Me</strong><strong>.ReportViewer1.RefreshReport()</strong></span></td>
</tr>
</tbody>
</table>
<p> </p>
<p></span></div>
<p><span style="font-size:x-small;"><br />
</span></p>
<p></span></span></div>
</div>
<p>وقد وضعت تعليقات توضح الكود جيدا ، الفكرة في الكود اننا قمنا بعمل Replace لكائن الـ ReportDataSource بآخر جديد تم اعطاؤه سجل واحد فقط One Row Only لذلك سيتم عرض سجل واحد فقط على التقرير</p>
<p>في الرابط التالي <a href="http://vb4arab.com/vb/uploaded/486/11219077530.rar" target="_blank"><span style="color:#22229c;">المثال كاملا</span></a></p>
<p>تحياتي</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/alnabhani.wordpress.com/57/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/alnabhani.wordpress.com/57/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alnabhani.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alnabhani.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alnabhani.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alnabhani.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alnabhani.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alnabhani.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alnabhani.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alnabhani.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alnabhani.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alnabhani.wordpress.com/57/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=57&subd=alnabhani&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://alnabhani.wordpress.com/2008/08/18/one-row-report-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">alnabhani</media:title>
		</media:content>
	</item>
		<item>
		<title>عمل تقرير لعرض سجل معين</title>
		<link>http://alnabhani.wordpress.com/2008/08/15/print_one_row_report/</link>
		<comments>http://alnabhani.wordpress.com/2008/08/15/print_one_row_report/#comments</comments>
		<pubDate>Fri, 15 Aug 2008 09:31:53 +0000</pubDate>
		<dc:creator>alnabhani</dc:creator>
				<category><![CDATA[برمجة التقارير]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[microsoft reporting tool]]></category>
		<category><![CDATA[microsoft reports]]></category>
		<category><![CDATA[parameters]]></category>
		<category><![CDATA[report]]></category>
		<category><![CDATA[فلترة]]></category>
		<category><![CDATA[visual studio reports]]></category>
		<category><![CDATA[تقارير فيجوال ستوديو]]></category>
		<category><![CDATA[طباعة سجل واحد]]></category>

		<guid isPermaLink="false">http://alnabhani.wordpress.com/?p=50</guid>
		<description><![CDATA[
عمل تقرير لعرض سجل معين
لاحظت كثرة الأسئلة حول كيفية عمل تقرير لسجل واحد فقط ، وللأسف فإن اغلب السائلين لا يحددون نوع التقارير المستخدم ، وايضا هذا السؤال يتكرر بكثرة ، فقمت بعمل مثال مبسط حول حل هذا السؤال بواسطة اداة التقارير الخاصة بفيجوال ستوديو Microsoft Reporting Tool بواسطة الاصدار 2008 وهي لا تختلف كثيرا [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=50&subd=alnabhani&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><!-- / icon and title --><!-- message --></p>
<h1>عمل تقرير لعرض سجل معين</h1>
<div id="post_message_113166">لاحظت كثرة الأسئلة حول كيفية عمل تقرير لسجل واحد فقط ، وللأسف فإن اغلب السائلين لا يحددون نوع التقارير المستخدم ، وايضا هذا السؤال يتكرر بكثرة ، فقمت بعمل مثال مبسط حول حل هذا السؤال بواسطة اداة التقارير الخاصة بفيجوال ستوديو Microsoft Reporting Tool بواسطة الاصدار 2008 وهي لا تختلف كثيرا عن 2005 لكن لايوجد لدي الاصدار 2005 ، مع ذلك سأقوم بشرح الطريقة فلا تقلقوا <img class="inlineimg" src="http://www.vb4arab.com/vb/images/smilies/biggrin.gif" border="0" alt="" /></div>
<p><span style="color:#ff0000;">فكرة الحل :</span></p>
<p><span id="more-50"></span><br />
يكمن الحل في عمل filter لبيانات التقرير بإستخدام حقل مميز للسجلات &#8211; في مثالي استخدمت قاعدة البيانات الشهيرة Northwind والجدول Customers تحديدا ، في ذلك الجدول ، الحقل Id هو المميز والذي لا يتكرر في كل الظروف &#8211; لذلك سنقوم بعمل Parameter ونضعه في الـ filter الخاص بالتقرير ، ثم نمرر قيمته بواسطة الكود قبل عرض التقرير على النافذة .</p>
<p><span style="color:#ff0000;">الحل :</span><br />
نقوم بعمل مشروع جديد ونضيف له مصدر بيانات جديد New Data Source ثم نحدد قاعدة البيانات Northwind بعدها نختار الجدول customers فقط ونقوم بتسمية الـ Dataset بأي إسم نرغبه ، وليكن CustomersDataset ثم ننهي المعالج بالطبع .</p>
<p>بعدها نقوم بإضافة تقرير جديد الى المشروع وذلك من خلال الضغط على Ctrl+shift+A ثم اختيار Report بعدها سيفتح لنا مصمم التقارير بالتقرير الجديد .</p>
<p>بداية نذهب الى القائمة Report ونختار الأمر Data Sources ومن هناك نقوم بإضافة الـ Dataset الذي قمنا بإضافته توا للمشروع ثم نغلق مربع الحوار .</p>
<p>بعدها تأتي الخطوة الاهم على الإطلاق ،نذهب الى القائمة Report مجددا ونختار Report Parameters لتظهر لنا النافذة التالية :</p>
<p><img src="http://vb4arab.com/vb/uploaded/486/11218715151.jpg" border="0" alt="" /><br />
نقوم بإضافة Parameter جديد ونحدد نوع ليكون Integer ثم نكتب إسمه وليكن CustomerID ثم نضغط على زر OK .</p>
<p>الآن نقوم بإضافة اداة Table وعليها الحقول المطلوبة ( لا اشرح هذه العملية هنا !! ) ثم نقوم بالضغط بالزر الأيمن على ال table في الزاوية العلوية اليسرى بعدها نختار Properties ، ومن النافذة الظاهره نختار Filter ثم هناك بإضافة filter جديد للـ grid ونختار الـ Operator الخاص بالمساواة ، ومن العمود Value نختار من القائمة المنسدلة Expression ومن نافذة ال Expression Editor نختار Parameters وسنرى هناك الباراميتر الذي قمنا بإضافته سابقا ، سنقوم الآن بالضغط على نقرا مزدوجا ثم نضغط على زر OK ونغلق النافذة .</p>
<p>الآن نذهب الى النافذة التي ستعرض التقرير ونضيف في البداية شريط ادوات ToolStrip وبه ثلاث أدوات بالترتيب :<br />
<span style="color:#0000ff;">- Label :</span> نكتب عليه نص توجيهي للمستخدم وليكن filter Customer ID ،<br />
<span style="color:#0000ff;">- TextBox :</span> اسمه tstxtCustomerID<br />
<span style="color:#0000ff;">- Button :</span> اسمه tsbtnshowReport وليكن بالنص فقط ونصه Show Report .</p>
<p>الآن نقوم بوضع اداة Microsoft Report Viewer على النافذة ومن Choose Reports نختار التقرير الذي اضفناه سابقا .</p>
<p>ثم نذهب الى محرر الاكواد الخاص بالنافذة ونضيف فضاء الأسماء التالي :</p>
<div style="margin:5px 20px 20px;">
<div class="smallfont" style="margin-bottom:2px;">كود :</div>
<p><span style="font-size:x-small;"><span style="color:#0000ff;"><span style="font-size:x-small;"><span style="color:#0000ff;">Imports</span></span></span></span><span style="font-size:x-small;"> Microsoft.Reporting.WinForms </span></div>
<p>ثم نقوم بحذف السطر :</p>
<div style="margin:5px 20px 20px;">
<div class="smallfont" style="margin-bottom:2px;">كود:</div>
<p>Me.ReportViewer1.RefreshReport()</p></div>
<p>من الحدث Load الخاص بالنافذة form .</p>
<p>بعدها نقوم بكتابة كود للزر tsbbtnShowReport في حدث النقر Click ونكتب الكود التالي :</p>
<div style="margin:5px 20px 20px;">
<div class="smallfont" style="margin-bottom:2px;">كود:</div>
<p><span style="font-size:x-small;"><span style="color:#0000ff;"><span style="font-size:x-small;"><span style="color:#0000ff;">Dim</span></span></span></span><span style="font-size:x-small;"> CusID(0) </span><span style="font-size:x-small;"><span style="color:#0000ff;"><span style="font-size:x-small;"><span style="color:#0000ff;">As</span></span></span></span><span style="font-size:x-small;"> ReportParameter CusID(0) = </span><span style="font-size:x-small;"><span style="color:#0000ff;"><span style="font-size:x-small;"><span style="color:#0000ff;">New</span></span></span></span><span style="font-size:x-small;"> ReportParameter(</span><span style="font-size:x-small;"><span style="color:#a31515;"><span style="font-size:x-small;"><span style="color:#a31515;">&#8220;CustomerID&#8221;</span></span></span></span><span style="font-size:x-small;">, tstxtCustomerID.Text) </span><span style="font-size:x-small;"><span style="color:#0000ff;"><span style="font-size:x-small;"><span style="color:#0000ff;">Me</span></span></span></span><span style="font-size:x-small;">.ReportViewer1.LocalReport.SetParameters(CusID) </span><span style="font-size:x-small;"><span style="color:#0000ff;"><span style="font-size:x-small;"><span style="color:#0000ff;">Me</span></span></span></span><span style="font-size:x-small;">.ReportViewer1.RefreshReport() </span></div>
<p>شرح الكود :<br />
في السطر الاول قمنا بإنشاء مصفوفة من النوع ReportParameter ونختار العنصر الأول فيها ( رقم صفر ) ليكون كائنا جديدا من النوع ReportParameter، وبإستخدام المشيد Constuctor نعطه الوسائط Arguments المطلوبة كما يلي :<br />
- ParameterName : وهنا نكتب اسم الباراميتر الذي اضفناه في التقرير سابقا .<br />
- Value : وهنا قيمة التقرير ، وهي قيمة الشرط في الـ filter ،</p>
<p>ثم نقوم بإضافة الباراميترات الى التقرير من خلال السطر :</p>
<div style="margin:5px 20px 20px;">
<div class="smallfont" style="margin-bottom:2px;">كود:</div>
<p><span style="color:#0000ff;">Me</span><span style="font-size:x-small;">.ReportViewer1.LocalReport.SetParameters(CusID)</span></div>
<p>بعدها نقوم بإظهار محتويات التقرير بالسطر:</p>
<div style="margin:5px 20px 20px;">
<div class="smallfont" style="margin-bottom:2px;">كود:</div>
<p><span style="color:#0000ff;">Me</span><span style="font-size:x-small;">.ReportViewer1.RefreshReport()</span></div>
<p>لذلك قمت بحذفه من الحدث Load لأننا لا نريد عرض التقرير بذلك الشكل، وخذها كمعلومة ، التقرير الذي يحتوي على باراميترات لم تعط قيما لها لن يظهر بل سيطبع رسالة الخطا على جسم التقرير !!</p>
<p>اخيرا الفكرة المستخدمه هنا بالباراميترات يمكن استخدامها لعرض البيانات بين مجالين او تجميع او اي شيء تحتاجه تضع مكانه اسم الباراميتر بإستخدام الـ Expression Editor وتجعل تقاريرك ديناميكية اكثر .</p>
<p> </p>
<p>لتحميل المثال المذكور يرجى النقر <a href="http://vb4arab.com/vb/uploaded/486/11218715833.rar" target="_blank">هنا</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/alnabhani.wordpress.com/50/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/alnabhani.wordpress.com/50/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alnabhani.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alnabhani.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alnabhani.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alnabhani.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alnabhani.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alnabhani.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alnabhani.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alnabhani.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alnabhani.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alnabhani.wordpress.com/50/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=50&subd=alnabhani&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://alnabhani.wordpress.com/2008/08/15/print_one_row_report/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">alnabhani</media:title>
		</media:content>

		<media:content url="http://www.vb4arab.com/vb/images/smilies/biggrin.gif" medium="image" />

		<media:content url="http://vb4arab.com/vb/uploaded/486/11218715151.jpg" medium="image" />
	</item>
		<item>
		<title>تعلم تقارير Visual Studio &#8211; الجزء الرابع</title>
		<link>http://alnabhani.wordpress.com/2008/06/11/%d8%aa%d8%b9%d9%84%d9%85-%d8%aa%d9%82%d8%a7%d8%b1%d9%8a%d8%b1-visual-studio-%d8%a7%d9%84%d8%ac%d8%b2%d8%a1-%d8%a7%d9%84%d8%b1%d8%a7%d8%a8%d8%b9/</link>
		<comments>http://alnabhani.wordpress.com/2008/06/11/%d8%aa%d8%b9%d9%84%d9%85-%d8%aa%d9%82%d8%a7%d8%b1%d9%8a%d8%b1-visual-studio-%d8%a7%d9%84%d8%ac%d8%b2%d8%a1-%d8%a7%d9%84%d8%b1%d8%a7%d8%a8%d8%b9/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 13:23:58 +0000</pubDate>
		<dc:creator>alnabhani</dc:creator>
				<category><![CDATA[برمجة التقارير]]></category>

		<guid isPermaLink="false">http://alnabhani.wordpress.com/?p=18</guid>
		<description><![CDATA[عرض التقرير على نافذة WindowsForm :
لنفترض أنه يوجد لديك نافذة في مشروعك اسمها Form1 وتود عرض التقرير عليها ، فكل ما عليك القيام به هو ما يلي :
1. أضف الاداة Reportviewer على النافذة من المجموعة Data في صندوق الأدوات ToolBox .
2. سيظهر لك الجزء ReportViewer Tasks اختر منه اسم ملف التقرير المطلوب والذي سيكون في [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=18&subd=alnabhani&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><span style="font-size:medium;color:#0000ff;">عرض التقرير على نافذة WindowsForm :<br />
</span>لنفترض أنه يوجد لديك نافذة في مشروعك اسمها Form1 وتود عرض التقرير عليها ، فكل ما عليك القيام به هو ما يلي :<br />
1. أضف الاداة Reportviewer على النافذة من المجموعة Data في صندوق الأدوات ToolBox .<br />
2. سيظهر لك الجزء ReportViewer Tasks اختر منه اسم ملف التقرير المطلوب والذي سيكون في حالتنا Report1 من الخيار Choose Report .</p>
<p><span id="more-18"></span></p>
<p>سيتم عمل اللازم بشكل تلقائي ، قم بتشغيل تطبيقك لترى النافذة وقد ظهرت بالشكل التالي :<br />
<img src="http://vb4arab.com/vb/uploaded/486/01203663390.gif" border="0" alt="" /></p>
<p>مبروك لقد قمت بعمل أول تقرير لك ! ما رأيك الآن بهذا النوع من التقارير وسهوله التعامل معه وتصميمه وما إلى هناك ؟ طبعا لاحظ انك لن تحصل على نفس الشكل وذلك لانني قمت ببعض التنسيقات البسيطه على التقرير حتى يظهر بشكل اوضح ، وبالنسبه لك تستطيع تقليدها بأسرع من البرق !</p>
<p>ألم تقتنع بعد بأنه أسهل من CrystalReports بعد ؟ حسنا تابع الأجزاء التالية .</p>
<p><span style="font-size:medium;"><span style="color:#0000ff;">تجميع البيانات الظاهرة على أداة Table :</span></span><br />
في اغلب تقاريرنا نحتاج إلى اظهار البيانات على شكل مجموعات حسب قيمه حقل معين ، كإظهار موظفي جامعة أهلا عرب لوحدهم ( لا يوجد لدينا موظفين ! ) وموظفي VB4ARAB لوحدهم ( ولا اعتقد لديهم موظفين ! ) ، أدوات تقارير visual studio توفر لك اغلبها إمكانية التجميع Grouping ومن يرفض منها فسنفعل ذلك رغما عنها ( كما سنذكر لاحقا ) ، ولعمل group أساسية ( حيث يمكن عمل الكثير من الـ Groups بأنواع أخرى ) نتبع الخطوات التالية :</p>
<p>1. ( يا عيني على المبرمجين ! ) من نافذة خصائص الأداة Table1 نختار لسان التبويب Groups ثم Details Grouping وستظهر لنا نافذة جديدة ( ستعتاد قريبا على كثره النوافذ المتوالدة في هذا النوع من التقارير ) .<br />
2. من النافذة الظاهرة ومن لسان التبويب General وأسفل كلمة Group On نقوم بإضافة الحقل / الحقول / الصيغة !! المطلوبة لعمل المجموعة حسبها .<br />
3. اضغط على OK مرتين وشغل التطبيق ، مبروك تم عمل التجميع بسهولة كبيرة .</p>
<p>دعني أخبرك بوجود طريقة أخرى لإضافة مجموعة وهي بالنقر على رمز صف التفاصيل Details بالزر الأيمن واختيار Edit Group ، هذا سيقودنا إلى أن كل التفاصيل الظاهرة على هيئة صفوف rows ما هي إلا عبارة عن مجموعات ! فقط جرب أن تعيد الحركة السابقة وتضغط الامر Insert Group وأنشئ مجموعة جديده بنفسك واضغط على OK وشاهد النتيجه بنفسك والتي تتمثل في إضافة صفين واحد فوق المجموعة Details وآخر أسفلها ( لا تشغل بالك فهذا مجرد مثال فقط )<br />
هناك امر اود ذكره هنا ، وهو ان المجموعة الواحدة قد تحتوي على أكثر من حقل واحد وكذلك يمكنك اضافه صيغ Expressions مثلا في احد برامجي استخدمت الصيغة التالية للتجميع :</p>
<div style="margin:5px 20px 20px;">
<div class="smallfont" style="margin-bottom:2px;">كود:</div>
<pre style="overflow:auto;width:640px;height:34px;text-align:left;border:1px inset;margin:0;padding:6px;">=Format(Fields!Date.Value,"MMMM yyyy")</pre>
</div>
<p>وفكر في الصيغة السابقة قليلا فهي ستفتح لك أفكار جديدة . أمر آخر يزيد روعة المجموعات هنا، وهو إمكانية عمل فرز تصاعدي أو تنازلي ولأي حقل تريده ( أو حتى صيغه ! ) في كل مجموعة على حده وذلك بتحرير المجموعة واختيار لسان التبويب Sort كما بالشكل التالي :<br />
<img src="http://vb4arab.com/vb/uploaded/486/11203663390.gif" border="0" alt="" /></p>
<p>لحظة لم ينتهي الأمر بعد ، فلك أن تتخيل انك تريد أن تعمل تصفيه Filter على المجموعة Group فذلك ممكن أيضا وبشكل عن طريق لسان التبويب Filter .</p>
<p><span style="color:#0000ff;">التجميع بأداة List :</span><br />
ان التجميع بهذه الاداة يتيح لك مرونه فائقه جدا ، فكما ذكرنا سابقا الأداة List تحضن مجموعة أدوات بداخلها وتزودها بمصدر البيانات الخاص بها ، أي ان الأدوات التي توجد بداخلها تأخذ منها البيانات ، وتعد هذه الاداة الطريقة المثلى لعرض البيانات على مجموعة ادوات مختلفه تتشارك جميعها في نفس المجموعة Group من البيانات أو الفرز أو الفلترة . بصيغه أخرى ، من إسم الأداة نعرف بانها قائمة تحتوي على عناصر ، هذه العناصر هي عباره عن ادوات اخرى كـ textbox,Table,Matrix وغيرها ولها نفس مصدر البيانات .</p>
<p>وقبل أن نبدأ معها ، سأفترض وجود جدول معك يحمل الاسم Contacts وبه الحقول Name,City,MobilePhone . والعمل الفعلي سيكون من خلال عدة مراحل نذكرها :<br />
1. اختيار الـ dataset للاداة List .<br />
2. تحرير الـ Details Group للاداة List .<br />
3. ( إختياري حسب نوع الاداة ) إسناد الـ dataset للاداة ليكون نفس الخاص بـ List .<br />
4. وضع الحقول على الاداوت المناسبة .</p>
<p><span style="color:#8b0000;">نقطة أشدد على وجوب تذكرها ، وهو انك لن تستطيع ان تستفيد من الاداة list بدون تحرير تجميع التفاصيل Details Group الخاص بها ، فهي بدونها ستكون بدون فائده تذكر ، وستظهر لك رسائل خطأ في وقت الترجمة تمنع اكمال تحميل البرنامج في الذاكرة وترجمته .</span></p>
<p>من استخدام List تجني فوائد كثيرة فيمكنك عمل Grouping وعرض البيانات على ادوات لا تدعم المجموعات بشكل مباشر مثل الـ TextBoxes ، عمل بطاقات وغيرها .<br />
ومن أبرز فوائد استخدام الـ List التي تعجبني هو عمل تقارير بطريقة Master/Details الرائعة ! كيف ؟ سنوضحها كما يلي :</p>
<p>اضف إلى مصادر بيانات التقرير Report Data Sources جدولين مرتبطين وفي المثال لدي قمت بإضافه الجدولين Orders/OrderDetails من قاعدة بيانات Northwind ، ثم نضيف اداة List إلى الـ Body الخاص بالتقرير ، ومن خصائصها نختار الجدول الرئيسي Orders كمصدر لبيانات الاداة ، ثم نضع عليها مجموعة من الـ Textboxes واحد منها نكتب عليه &#8221; Order ID &#8221; وبجانبه اداة اخرى مثلها نضع عليها محتوى الحقل OrderID أي ان صيغتها تكون &#8221; =Fields!OrderID.Value &#8221; ونقوم بنفس العمليه للحصول على عنوان ومحتوى للحقل OrderDate ، ثم نضع اسفلها اداة اخرى ونكتب عليها Order Details ونضيف اسفلها اداة جدول Table نضغط عليها بالزر الايمن على احد حدودها أو على الخليه العلوية اليسرى ، ونظهر نافذه الخصائص التابعه لها ، ويكون مصدر البيانات الخاص بها هو الجدول OrdersDetail ونضع عليها الحقول UnitPrice,Quantitiy,Price بسحبها من نافذه الـ dataSource إلى الصف الثاني من الأداة الواحد تلو الآخر .<br />
مختصر الفقرة الماضية سيكون شكل التقرير كالتالي :<br />
<img src="http://vb4arab.com/vb/uploaded/486/21203663390.gif" border="0" alt="" /><br />
أرأيت روعة التقرير الذي عملته ؟ قمنا بعمل تقرير Master/Details يظهر الـ details الخاصه بكل Order على شكل جدول اسفل العناوين .</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/alnabhani.wordpress.com/18/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/alnabhani.wordpress.com/18/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alnabhani.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alnabhani.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alnabhani.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alnabhani.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alnabhani.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alnabhani.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alnabhani.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alnabhani.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alnabhani.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alnabhani.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=18&subd=alnabhani&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://alnabhani.wordpress.com/2008/06/11/%d8%aa%d8%b9%d9%84%d9%85-%d8%aa%d9%82%d8%a7%d8%b1%d9%8a%d8%b1-visual-studio-%d8%a7%d9%84%d8%ac%d8%b2%d8%a1-%d8%a7%d9%84%d8%b1%d8%a7%d8%a8%d8%b9/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">alnabhani</media:title>
		</media:content>

		<media:content url="http://vb4arab.com/vb/uploaded/486/01203663390.gif" medium="image" />

		<media:content url="http://vb4arab.com/vb/uploaded/486/11203663390.gif" medium="image" />

		<media:content url="http://vb4arab.com/vb/uploaded/486/21203663390.gif" medium="image" />
	</item>
		<item>
		<title>تعلم تقارير Visual Studio &#8211; الجزء الثالث</title>
		<link>http://alnabhani.wordpress.com/2008/06/11/%d8%aa%d8%b9%d9%84%d9%85-%d8%aa%d9%82%d8%a7%d8%b1%d9%8a%d8%b1-visual-studio-%d8%a7%d9%84%d8%ac%d8%b2%d8%a1-%d8%a7%d9%84%d8%ab%d8%a7%d9%84%d8%ab/</link>
		<comments>http://alnabhani.wordpress.com/2008/06/11/%d8%aa%d8%b9%d9%84%d9%85-%d8%aa%d9%82%d8%a7%d8%b1%d9%8a%d8%b1-visual-studio-%d8%a7%d9%84%d8%ac%d8%b2%d8%a1-%d8%a7%d9%84%d8%ab%d8%a7%d9%84%d8%ab/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 13:16:09 +0000</pubDate>
		<dc:creator>alnabhani</dc:creator>
				<category><![CDATA[برمجة التقارير]]></category>

		<guid isPermaLink="false">http://alnabhani.wordpress.com/?p=16</guid>
		<description><![CDATA[محرر الصيغ Expression Editor :


بالنسبة لي ولك كمصممي تقارير، فأن هذا هو الجزء الأهم والنافذة ذات الأهمية الاستثنائية تحت كل الظروف داخل التقرير ! فبدونها لن تستطيع عمل تقرير محترم ( أتحداك ! ) هذه النافذة نقوم فيها بكاتبة الصيغ البرمجية البسيطة الخاصة بهذا النوع من التقارير ، ولك أن تعتبر أنه مشابه لمحرر الأكواد [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=16&subd=alnabhani&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><span style="font-size:medium;color:#000080;"><strong>محرر الصيغ Expression Editor :<br />
</strong><img src="http://vb4arab.com/vb/uploaded/486/01203067635.gif" border="0" alt="" /><br />
</span><br />
<span style="font-family:Arial;"><span style="font-size:small;"><strong>بالنسبة لي ولك كمصممي تقارير، فأن هذا هو الجزء الأهم والنافذة ذات الأهمية الاستثنائية تحت كل الظروف داخل التقرير ! فبدونها لن تستطيع عمل تقرير محترم ( أتحداك ! ) هذه النافذة نقوم فيها بكاتبة الصيغ البرمجية البسيطة الخاصة بهذا النوع من التقارير ، ولك أن تعتبر أنه مشابه لمحرر الأكواد الخاص بلغات البرمجة الكاملة داخل Visual Studio كـمحرر Visual Basic .Net و C# لكنه بإمكانات مخفضة جدا بالمقارنة مع محررات لغات البرمجة .<br />
</strong></span></span></p>
<p><span style="font-family:Arial;"><span style="font-size:small;"><strong>بداية أخبرك بأن الكود الذي يكتب داخل هذه النافذة ما هو إلا عبارة عن دالة ، أي يجب ان تبدأ بعامل المساواة = ، وكأنك تعتبر أن هذا الكود هو جزء من كود آخر مخفي يبدأ بشيء مثل Textbox1.Value .<br />
</strong></span></span></p>
<p><span style="font-family:Arial;"><span style="font-size:small;"><strong>وكما بالصورة السابقة ، فإن الجزء الأيسر من نافذة محرر الصيغ تتكون من شجرة عناصر TreeView بها مجموعات الصيغ والكائنات التي تستخدم داخل النافذة . سنتحدث عن بعض هذه المجموعات :</strong></span></span><br />
<span id="more-16"></span><br />
<span style="font-family:Arial;"><span style="font-size:small;"><strong><span style="font-size:medium;"><span style="color:#000080;">مجموعات الصيغ والمعاملات :</span></span><br />
<span style="color:#006400;">مجموعة الثوابت Constants :</span><br />
بمجرد الضغط عليها تظهر في القائمة الوسطى من النافذة مجموعة الثوابت الخاصة بالكائن ( أو الخاصية ) الحالي ، فلو اغلقنا هذه النافذة قليلا وتوجهنا إلى الخاصية BorderColor لأي أداة فستظهر قائمة بالألوان تبدأ بالخيار Expression بمجرد فتحة تظهر نافذة الـ Expression Editor وقد تم تحديد المجموعة Constants وفي القائمة الوسطى تظهر مجموعات الألوان المتوفرة وبمجرد الضغط على أي مجموعة تظهر في الاداة الموجودة يمين الشاشة قائمة بالألوان أو مجموعة الألوان المخصصة ، وهكذا مع كل الخصائص لمختلف الكائنات .</strong></span></span></p>
<div><span style="font-family:Arial;"><span style="font-size:small;"><strong><br />
<span style="font-family:Arial;"><span style="font-size:small;"><strong><span style="color:#006400;">مجموعة Globals :</span><br />
وهنا ستجد مجموعة رائعة من الدوال الجميلة ، كوقت التنفيذ ExecutionTime ، رقم الصفحة PageNumber ، مجموع صفحات التقرير TotalPages وغيرها .</strong></span></span></strong></span></span></div>
<p><span style="font-family:Arial;"><span style="font-size:small;"></p>
<div><span style="font-family:Arial;"> </span></div>
<p></span><span style="font-family:Arial;"> </p>
<p></span></span></p>
<p> </p>
<p><span style="font-family:Arial;"><span style="font-size:small;"><strong>المجموعتان الباقيتان وهما <span style="color:#006400;">Operators</span> و <span style="color:#006400;">Common Functions</span> اترك لك استكشافهما وهما سهلتان جدا – رغم غناهما &#8211; ، الأولى توفر مجموعة من عوامل التشغيل والمقارنة Operators التي يمكنك استخدامها في كتابه الأكواد كـالمعامل = و &lt; وغيرها ، اما الثانية فهي تعرض لك مجموعات من الدوال الجاهزة والتي اعتدنا استخدامها منذ VB6 وهي موجودة ايضا في Crystal Reports لمن استخدمه .</strong></span></span></p>
<p><span style="font-size:medium;"><span style="color:#0000ff;">ربط التقرير بالبيانات :<br />
</span></span><strong><span style="font-family:Arial;"><span style="font-size:small;">لربط تقرير بالبيانات ، علينا أولا التأكد من وجود مصدر بيانات DataSource بالتقرير وعلامته وجود كائن من النوع Dataset عام على مستوى المشروع ويظهر مع باقي ملفات المشروع Classes,Modules وغيرها . سأفترض انه لا يوجد لديك مصدر بيانات ، سنقوم بإضافته من القائمة Data | Add New Datasource … ثم تكمل باقي الإعدادات بنفسك فأنت مبرمج وان لم تكن هكذا فاعذرني فهذا الحديث مخصص للمبرمجين فقط .</span></span></strong></p>
<p><strong><span style="font-size:small;"><span style="font-family:Arial;">بعد وجود مصدر للبيانات يأتي دور العملية التالية وهي اختيار DataSource التقرير والذي يمثل أحد كائنات قاعدة البيانات الموجودة في DataSet معين ، ما يهمنا من هذا الأمر هو ان نذهب إلى القائمة Report | Data Sources لتظهر لك نافذة كالتالية : </span></span></strong><br />
<strong><span style="font-size:small;"><span style="font-family:Arial;"><img src="http://vb4arab.com/vb/uploaded/486/11203067635.gif" border="0" alt="" /></span></span></strong><br />
<span style="font-family:Arial;"><span style="font-size:small;"><strong>في هذه النافذة اختر من الـ Combobox الظاهر لك مصدر البيانات والذي سيكون اسمه مبدوءا باسم الـ Dataset متبوعا باسم الكائن ( جدول ، استعلام ، اجراء مخزن .. الخ ) ثم تضغط على الزر Add لإضافته . مما يعجبني هو إمكانية إعادة التسمية لأي من مصادر بيانات التقرير DataSources المضافة إليه ، وهذا الأمر مهم في عدة أمور أولها هو تسهيل الوصول إلى اسم الكائن المطلوب عند اختياره لأي أداة على التقرير ، وثانيهما هو عند استخدام الأكواد مع اداة ReportViewer في أي من نوافذ المشروع WindowsForms ( وحتى مع WebForms) وهذا امر نتركه لاحقا .</strong></span></span></p>
<p><span style="font-family:Arial;"><span style="font-size:small;"><strong>بقي ان انوه بأنه يمكن للتقرير الواحد ان يحتوي على عدة DataSources .</strong></span></span></p>
<p><span style="font-family:Arial;"><span style="font-size:small;"><strong><span style="font-size:medium;"><span style="color:#0000ff;">عرض البيانات على أدوات التقرير :</span></span> </strong></span></span></p>
<p><span style="font-family:Arial;"><span style="font-size:small;"><strong>الآن وصلنا إلى عرض البيانات على احد ادوات التقارير ، والطريقة سهلة جدا ، ولكن الاهم هو ان تعرف أي اداة ستستخدم ؟ سنبدأ اولا بعرض البيانات بطريقة الجدول وبشكل بدائي مباشر كما بجدول قاعدة البيانات ، لنقوم بهذا ، فإننا نقوم بسحب أداة Table إلى الجزء Body من التقرير ونضعه في المكان المناسب ، وهنا اذا كنت قد تعاملت مع Crystal Reports فإنك سترى الفرق الشاسع في سهولة وضع اداة ومحاذاتها على جسم التقرير بعكس Crystal Reports .</strong></span></span><br />
<span style="font-family:Arial;"><span style="font-size:small;"><strong>نعود إلى موضوعنا ، الخطوة التالية هي النقر على الخلية Cell الموجودة في الزاوية العلوية اليسرى للأداة بالزر الأيمن واختيار Properties وستظهر لك النافذة التالية :</strong></span></span><br />
<span style="font-family:Arial;"><span style="font-size:small;"><strong><img src="http://vb4arab.com/vb/uploaded/486/21203067635.gif" border="0" alt="" /></strong></span></span></p>
<p><span style="font-size:small;"><strong><img src="http://vb4arab.com/vb/uploaded/486/01203068140.gif" border="0" alt="" /></strong></span></p>
<p><span style="font-family:Arial;"><span style="font-size:small;"><strong>من لسان التبويب General نختار من القائمة DatasetName اسم الـ Dataset ( كائن البيانات ) الذي تود جعله مصدر لبيانات هذا الكائن والذي هو Table1 ، سأفترض أنه يحمل الإسم Dataset_Contacts ثم نضغط على OK .</strong></span></span></p>
<p><span style="font-family:Arial;"><span style="font-size:small;"><strong>الآن ننتقل إلى الصف الثاني الظاهر على الجدول والذي ترى به كلمه Details واضغط بالزر الأيمن على أول خلية Cell واختر Expression وسيظهر لك محرر الصيغ ، من هناك توجه مباشره إلى المجموعة Fields(Dataset_Contacts) ومن اقصى يمين تلك النافذة ستجد قائمة بالحقول الموجودة بذلك الكائن ( في حالتنا هذه جدول ) اضغط بشكل مزدوج DoubleClick على أي الحقل المراد ( سأفترض أنه Name ) وستجد ان في محرر الصيغ قد اصبح يحتوي على صيغه مثل التالية :</strong></span></span><br />
<span style="font-size:small;"><strong><br />
كود:<br />
=Fields!Name.Value<br />
</strong></span><strong><br />
<span style="font-size:small;"><strong><img src="http://vb4arab.com/vb/uploaded/486/11203068140.gif" border="0" alt="" /></strong></span></strong></p>
<p><span style="font-family:Arial;"><span style="font-size:small;"><strong>الآن قد بالضغط على الزر OK ، كرر نفس العملية لحقول أخرى . لكن مهلا ، يوجد طريقة اسهل من هذا بكثير، وسنتبعها مع كل الأدوات لعرض الحقول ، وهي بعمل Drag &amp; Drop لاسم الحقل من نافذة مصدر البيانات Data Sources إلى الاداة المطلوبة أو الخلية المطلوبة .</strong></span></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/alnabhani.wordpress.com/16/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/alnabhani.wordpress.com/16/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alnabhani.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alnabhani.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alnabhani.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alnabhani.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alnabhani.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alnabhani.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alnabhani.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alnabhani.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alnabhani.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alnabhani.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=16&subd=alnabhani&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://alnabhani.wordpress.com/2008/06/11/%d8%aa%d8%b9%d9%84%d9%85-%d8%aa%d9%82%d8%a7%d8%b1%d9%8a%d8%b1-visual-studio-%d8%a7%d9%84%d8%ac%d8%b2%d8%a1-%d8%a7%d9%84%d8%ab%d8%a7%d9%84%d8%ab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">alnabhani</media:title>
		</media:content>

		<media:content url="http://vb4arab.com/vb/uploaded/486/01203067635.gif" medium="image" />

		<media:content url="http://vb4arab.com/vb/uploaded/486/11203067635.gif" medium="image" />

		<media:content url="http://vb4arab.com/vb/uploaded/486/21203067635.gif" medium="image" />

		<media:content url="http://vb4arab.com/vb/uploaded/486/01203068140.gif" medium="image" />

		<media:content url="http://vb4arab.com/vb/uploaded/486/11203068140.gif" medium="image" />
	</item>
		<item>
		<title>أدوات تقارير Visual Studio 2005 &#8211; الجزء الثاني</title>
		<link>http://alnabhani.wordpress.com/2007/10/26/%d8%a3%d8%af%d9%88%d8%a7%d8%aa-%d8%aa%d9%82%d8%a7%d8%b1%d9%8a%d8%b1-visual-studio-2005-%d8%a7%d9%84%d8%ac%d8%b2%d8%a1-%d8%a7%d9%84%d8%ab%d8%a7%d9%86%d9%8a/</link>
		<comments>http://alnabhani.wordpress.com/2007/10/26/%d8%a3%d8%af%d9%88%d8%a7%d8%aa-%d8%aa%d9%82%d8%a7%d8%b1%d9%8a%d8%b1-visual-studio-2005-%d8%a7%d9%84%d8%ac%d8%b2%d8%a1-%d8%a7%d9%84%d8%ab%d8%a7%d9%86%d9%8a/#comments</comments>
		<pubDate>Fri, 26 Oct 2007 11:04:11 +0000</pubDate>
		<dc:creator>alnabhani</dc:creator>
				<category><![CDATA[برمجة التقارير]]></category>

		<guid isPermaLink="false">http://alnabhani.wordpress.com/2007/10/26/%d8%a3%d8%af%d9%88%d8%a7%d8%aa-%d8%aa%d9%82%d8%a7%d8%b1%d9%8a%d8%b1-visual-studio-2005-%d8%a7%d9%84%d8%ac%d8%b2%d8%a1-%d8%a7%d9%84%d8%ab%d8%a7%d9%86%d9%8a/</guid>
		<description><![CDATA[أدوات التقرير : 
من المؤكد انك ستعرض البيانات على أدوات معينه ، وكذلك ستستخدم بعضها لتمنح التقرير شكلا جماليا ، وفي أدوات تقارير Visual Studio ستجد أدوات مشابهه لأدوات Windows Controls كما بالصورة التالية :

وسنسرد مجوعة من أهم الأدوات ووظيفة كل منها وباختصار : 

أداة صندوق النص Textbox :
واضح من اسم الأداة وعنوانها أنها شبيهه [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=12&subd=alnabhani&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong><font face="Arial"><font size="3"><font size="4"><font color="#0000ff">أدوات التقرير :</font></font> </font></font></strong><br />
<font size="3"><strong><font face="Arial"><font color="#008000"><font color="#006400">من المؤكد انك ستعرض البيانات على أدوات معينه ، وكذلك ستستخدم بعضها لتمنح التقرير شكلا جماليا ، وفي أدوات تقارير Visual Studio ستجد أدوات مشابهه لأدوات Windows Controls كما بالصورة التالية :</font></font></font></strong></font><br />
<font size="3"><strong><font face="Arial"><img border="0" src="http://vb4arab.com/vb/uploaded/486/11193336272.gif" /></font></strong></font><br />
<font size="3"><strong><font face="Arial">وسنسرد مجوعة من أهم الأدوات ووظيفة كل منها وباختصار : </font></strong></font><br />
<strong><br />
<font size="3"><font face="Arial"><font size="4"><font color="#0000ff">أداة صندوق النص Textbox :</font></font></font><br />
<font face="Arial">واضح من اسم الأداة وعنوانها أنها شبيهه بتلك الموجودة في Windows Forms مع ملاحظة كونها اقل مزايا. تتمتع بقدر جيد من الخصائص المفيدة اترك لك عزيزي المبرمج فرصة استكشافها ، ولك من عندي أن الخاصية الأهم هي Value وهي التي تمثل البيانات المعروضة على الأداة .</font></font></strong><strong><font size="3"><font face="Arial"><font size="4"><font color="#0000ff">أداة الخط Line:</font></font></font><br />
<font face="Arial">لا تعليق ! استخدام هذه الأداة محصور في الجماليات وهو عرض خط بطرفين .</font></p>
<p><font face="Arial"><font size="4"><font color="#0000ff">أداة الجدول Table :</font></font></font><br />
<font face="Arial">أداة مهمة جدا وهي تستخدم لعرض البيانات على شكل جدول، وهي تتكون من أعمدة Columns وصفوف Rows، واغلب التقارير تستخدم هذه الأداة طبعا. لكن أهم ما أود ذكره في هذه النقطة هو انه يوجد ثلاثة أنواع من الصفوف rows في هذه الأداة ، البداية تكون مع صفوف العناوين Header والتي تمثل عنوان الأعمدة ، ثم تأتي صفوف البيانات Details والتي سيتم عرض البيانات المأخوذة من الـ Dataset فيها ، وهي التي يتم تكرارها طبعا ، النوع الأخير هو الـ Footer والخاص بصفوف الذيل وعادة ما تستخدم في عرض المجاميع ( مجموع العمود الذي تنتمي إليه ) .</font><br />
<font face="Arial">الجدير بالذكر بأن لأداة الجدول صفحة خصائص خاصة بها يمكنك الوصول إليها من خلال القائمة المنسدلة منها عند النقر بالزر الأيمن على المربع الموجود في الزاوية العلوية اليسرى للأداة وهذه الخصائص كثيرة جدا وسنتناولها لاحقا . أضف لمعلوماتك أخري الكريم / أختي الكريمة ، أن هذه الأداة ما هي إلا مجموعة كبيرة من أدوات النص Textboxes وكأن هذا الجدول هو شبيه بما يسمى في VB6 بمصفوفة الأدوات Control Array .</font><br />
<font face="Arial">بقي أمر أخير أحب ذكره هنا وهو أن هذه الأداة تدعم المجموعات Groups بشكل كبير وسهل جدا وهذا ما يسهل عليك العمل وإنتاج التقارير التي تعتمد على المجاميع .</font></p>
<p></font></strong><strong><font face="Arial"><font size="3"><font size="4"><font color="#0000ff">أداة الجداول المتداخلة Matrix : </font></font></font></font><br />
<font size="3"><font face="Arial">ما فائدة هذه الأداة ؟ ما الفرق بينها وبين الأداة السابقة ؟ أجيبك بكل بساطة أن هذه الأداة هي أداة عظيمة جدا وتمكنك من تجميع البيانات بشروط كثيرة جدا بدون الحاجة إلى كتابة استعلامات مخصصة ومعقدة جدا في قاعدة البيانات والتي غالبا ما تكون شبه مستحيلة !</font></font><br />
<font size="3"><font face="Arial">من المعروف أن أداة الجدول Table تقوم بعرض البيانات على شكل جدول يحتوي على أعمدة محددة وعددها ثابت بينما الصفوف يكون عددها متغيرا حسب حجم البيانات ، بينما أداة الـ Matrix تقوم بعرض البيانات على شكل جدول بأعمدة غير محدودة العدد أثناء تصميم الأداة والتقرير وإنما في وقت التنفيذ على حسب حجم البيانات والمجموعات التي كونتها في الأداة يتم إنشاء صفوف وأعمدة ! هنا قوة هذه الأداة الرائعة بحق ( إن لم تصدق ، فأخبرك أنني قبل أن اعرف هذه الأداة استغرقت شهرا كاملا باحثا عن حل لعمل تقرير فيه مجاميع كثيرة ومتداخله ومشروطة أيضا وكانت عملية معقدة جدا باءت بالفشل لولا اكتشافي لكيفية عمل هذه الأداة )</font></font><br />
<font size="3"><font face="Arial">وسنتحدث عن هذه الأداة وكيفية استخدامها لاحقا.</font></font></strong></p>
<p><strong><font face="Arial"><font size="3"><font size="4"><font color="#0000ff">الأداة Rectangle:</font></font></font></font><br />
<font size="3"><font face="Arial">تستخدم لرسم شكل مستطيل على التقرير، أي يمكن اعتبارها بأنها أداة تجميل، كما يمكن أن تستخدم كأداة حاضنة لأدوات أخرى.</font></font><br />
</strong></p>
<p><strong><font face="Arial"><font size="3"><font size="4"><font color="#0000ff">الأداة List:</font></font></font></font><br />
<font size="3"><font face="Arial">هذه الأداة إحدى أهم الأدوات على الإطلاق، فهي تعرض البيانات على شكل مجموعات يتم تكرارها كل صف Row من الجدول أو الاستعلام المحدد، لم تفهم صحيح ؟ إليك مثال صغير، يمكن أن تكون هذه الأداة أداة حاضنة لمجموعة من أداوت أخرى ، مثلا تستطيع أن تضع عليها Textbox و Table بحيث يظهر في أداة النص اسم الشخص مثلا ، وفي الجدول تظهر بياناته المختلفة ، ويتم تكرار هذه المجموعة دوما ، الجدير بالذكر انه يجب أن تقوم بعمل Group تجمع عليها البيانات المجلوبة من الـ DataTable لكي تستطيع استخدامها وهذا ما سنراه لاحقا .</font></font><br />
</strong></p>
<p><strong><font face="Arial"><font size="3"><font size="4"><font color="#0000ff">أداة الصور Image :</font></font></font></font><br />
<font size="3"><font face="Arial">هذه الأداة واضح من عنوانها واسمها أنها خاصة بعرض الصور على التقرير ، هذه الصور قد يكون مصدرها ملف تحدده أنت ، صورة مدمجة في التقرير ، أو صورة من قاعدة البيانات ( ياللروعة ! )</font></font><br />
</strong></p>
<p><strong><font face="Arial"><font size="3"><font size="4"><font color="#0000ff">أداة التقرير الفرعي Sub Report : </font></font></font></font><br />
<font size="3"><font face="Arial">أداه تستخدم لعرض تقرير داخل آخر ، ولا يوجد لدي الكثير لأخبرك عنه لأنني لم أجربها حتى اللحظة .</font></font><br />
</strong></p>
<p><strong><font face="Arial"><font size="3"><font size="4"><font color="#0000ff">أداة المخططات Charts :</font></font></font></font><br />
<font size="3"><font face="Arial">أداة مهمة للكثيرين وهي تستخدم في رسم مخطط بيانات للبيانات Chart كما تشاء وبأشكال مختلفة وهو يفي بالغرض ويزيد أيضا ! فهي أكثر الأدوات خصائصا وتخصيصا على الإطلاق . الحديث عن هذه الأداة بشكل مفصل بحاجة إلى 20 صفحة !</font></font></strong><br />
<strong><font size="3"><font face="Arial"><font color="#a0522d">الآن استطيع الجزم بأنه أصبحت لديكم صورة ولو بسيطة عن تقارير Visual Studio ، وقبل أن ننتقل إلى المرحلة التطبيقية ، ينبغي لنا أن نتحدث عن الـ Expression Editor الخاص بهذا النوع من التقارير وهو موضوع الدرس القادم !</font></font></font></p>
<p><font color="#008000">لتحميل الدرس على هيئة ملف PDF يرجى النقر </font><a target="_blank" href="http://vb4arab.com/vb/uploaded/486/01193336713.zip"><font color="#008000">هنا</font></a></p>
<p>تحياتي</p>
<p></strong></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/alnabhani.wordpress.com/12/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/alnabhani.wordpress.com/12/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alnabhani.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alnabhani.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alnabhani.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alnabhani.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alnabhani.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alnabhani.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alnabhani.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alnabhani.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alnabhani.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alnabhani.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=12&subd=alnabhani&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://alnabhani.wordpress.com/2007/10/26/%d8%a3%d8%af%d9%88%d8%a7%d8%aa-%d8%aa%d9%82%d8%a7%d8%b1%d9%8a%d8%b1-visual-studio-2005-%d8%a7%d9%84%d8%ac%d8%b2%d8%a1-%d8%a7%d9%84%d8%ab%d8%a7%d9%86%d9%8a/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">alnabhani</media:title>
		</media:content>

		<media:content url="http://vb4arab.com/vb/uploaded/486/11193336272.gif" medium="image" />
	</item>
		<item>
		<title>أدوات تقارير Visual Studio 2005 &#8211; الجزء الأول</title>
		<link>http://alnabhani.wordpress.com/2007/09/06/%d8%a3%d8%af%d9%88%d8%a7%d8%aa-%d8%aa%d9%82%d8%a7%d8%b1%d9%8a%d8%b1-visual-studio-2005-%d8%a7%d9%84%d8%ac%d8%b2%d8%a1-%d8%a7%d9%84%d8%a3%d9%88%d9%84/</link>
		<comments>http://alnabhani.wordpress.com/2007/09/06/%d8%a3%d8%af%d9%88%d8%a7%d8%aa-%d8%aa%d9%82%d8%a7%d8%b1%d9%8a%d8%b1-visual-studio-2005-%d8%a7%d9%84%d8%ac%d8%b2%d8%a1-%d8%a7%d9%84%d8%a3%d9%88%d9%84/#comments</comments>
		<pubDate>Thu, 06 Sep 2007 09:01:13 +0000</pubDate>
		<dc:creator>alnabhani</dc:creator>
				<category><![CDATA[برمجة التقارير]]></category>

		<guid isPermaLink="false">http://alnabhani.wordpress.com/2007/09/06/%d8%a3%d8%af%d9%88%d8%a7%d8%aa-%d8%aa%d9%82%d8%a7%d8%b1%d9%8a%d8%b1-visual-studio-2005-%d8%a7%d9%84%d8%ac%d8%b2%d8%a1-%d8%a7%d9%84%d8%a3%d9%88%d9%84/</guid>
		<description><![CDATA[أدوات تقارير Visual Studio
في مختلف التطبيقات التي تعتمد على قواعد البيانات ، نحتاج إلى استخلاص البيانات على شكل تقارير وغالبا ما يكون مصيرها الطباعة ، بالتالي يجب عليك كمبرمج أن تعرف كيفية التعامل مع التقارير وإنشائها والقيام – بحد أدنى – بالعمليات الأساسية عليها من ابتداءا من عمل تقرير جدولي بسيط ، مرورا بتجميع البيانات [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=11&subd=alnabhani&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong><font face="Arial"><font size="4" color="#0000ff">أدوات تقارير Visual Studio<br />
</font>في مختلف التطبيقات التي تعتمد على قواعد البيانات ، نحتاج إلى استخلاص البيانات على شكل تقارير وغالبا ما يكون مصيرها الطباعة ، بالتالي يجب عليك كمبرمج أن تعرف كيفية التعامل مع التقارير وإنشائها والقيام – بحد أدنى – بالعمليات الأساسية عليها من ابتداءا من عمل تقرير جدولي بسيط ، مرورا بتجميع البيانات ، وانتهاءا بعمل تقارير الـ CrossTable أو ما يعرف بالـ Matrix.<br />
</font></strong><font size="3"><br />
<font size="3"><strong><font face="Arial">ولا اعلم ما سبب نهم مستخدمي لغات البرمجة وحتى المبرمجين – من مايكروسوفت بـتقارير Crystal Reports الذي اعتبره &#8221; مرض &#8221; ظهر مع Visual Basic6 واستمر مع ظهور Visual Studio.Net حتى آخر إصداره معتمده حاليا وهي 2005 . لا يشكو كريستال ريبورت من عيب غير انه اكبر من اللازم ، ويحتاج إلى عمل أكثر ومشاكله أكثر وحتى طريقة رسم الأدوات على التقرير تعتبر متعبة – على الأقل بالنسبة لي . ومن هذا المنطلق قررت الحديث عن أداة التقارير الرائعة جدا والتي تصاحب Visual Studio 2005 وهي Visual Studio Reporting Controls السهلة في التعامل والتصميم والمتكاملة منذ البداية مع أي تطبيق </font></strong><font color="#8b0000"><strong><font face="Arial"><font color="#000000">تبنيه بأي لغة تابعة لـ .net</font><br />
</font></strong></font></font><span id="more-11"></span><br />
<strong><font face="Arial"><font size="3"><font color="#8b0000">أين هي أداة تقارير Visual Studio ؟</font><br />
يمكنك الوصول إلى هذه الأداة من القائمة Project ثم Add New Item ومنها تختار Report كما بالصورة التالية : </font><br />
<img border="0" src="http://www.m5zn.com/uploads/874763d146.gif" /></font></strong></font></p>
<p><font face="Arial"><font size="3"><strong><font color="#8b0000">مكونات التقرير:</font><br />
يتكون هذا النوع من التقرير من صفحة التصميم، وكل صفحة تتكون من ثلاثة أجزاء رئيسية:<br />
• Page Header : وهو رأس الصفحة .<br />
• Body : وهو جسم التقرير والمكان الذي تظهر عليه البيانات ( يتم التكرار داخل كل أداة أو مجموعة على حدة وليس المقطع بأكمله مثل Crystal Reports )<br />
• Page Footer : وهو ذيل التقرير .<br />
<img border="0" src="http://www.m5zn.com/uploads/c233c5091f.gif" /></strong></font></font></p>
<p><font face="Arial"><font size="3"><strong>بمجرد إنشاء أي تقرير فإن الـ Page Header والـ Page Footer لا تظهر وبالتالي فعليك إظهارها من خلال الضغط بالزر الأيمن لتحصل على القائمة التالية : </strong></font></font><br />
<font face="Arial"><font size="3"><strong><img border="0" src="http://www.m5zn.com/uploads/b031d94c52.gif" /></strong></font></font></p>
<p><font face="Arial"><font size="3"><strong>أو من خلال القائمة Report : </strong></font></font><br />
<font face="Arial"><font size="3"><strong><img border="0" src="http://www.m5zn.com/uploads/10ca5acdac.gif" /></strong></font></font></p>
<p><font face="Arial"><font size="3"><strong>ولكل من الأجزاء الثلاثة السابقة خصائص أهمها PrintOnFirstPage و PrintOnLastPage بالنسبة للجزأين Page Header و Page Footer، ولكن سنبقي التفاصيل حول هذه الأجزاء الثلاثة لاحقا، والآن سنتحدث عن خصائص التقرير:</strong></font></font></p>
<p><font face="Arial"><font size="3"><strong><font color="#8b0000">خصائص التقرير Report Proprieties :</font><br />
يحتوي التقرير على بعض الخصائص ، وهنا سنتحدث عن أهمها ، ويمكن الوصول إلى الخصائص بالطريقة المعتادة من نافذة الخصائص ، أو بالضغط على أي مساحة خالية خارج جسم التقرير واختيار Prosperities أو من القائمة Report ، والطريقتين الأخيرتين تمكناننا من استخدام نافذة خاصة بخصائص التقرير سنتعامل معها كثيرا وهي كما بالصورة التالية :<br />
<img border="0" src="http://www.m5zn.com/uploads/e14e5104f7.gif" /></strong></font></font></p>
<p><font face="Arial"><font size="3"><strong>وهي تتكون من عدة ألسنة تبويب، سنترك الآن اللسان General لنتوجه إلى Layout الخاص بتنظيم صفحة التقرير:</strong></font></font></p>
<p><font face="Arial"><font size="3"><strong><img border="0" src="http://www.m5zn.com/uploads/a3779ae45b.gif" /></strong></font></font></p>
<p><font face="Arial"><font size="3"><strong>نبدأ بالخاصيتين Page Width و Page Height اللتان تمكناننا من تحديد أبعاد صفحة التقرير علما بان الوحدة المستخدمة هنا هي الإنش Inches . بالنسبة لخصائص الـ Margin فهي التي تمكننا من التحكم بهوامش صفحة التقرير عند الطباعة وهي أيضا بوحدة الإنش .</strong></font></font></p>
<p><font face="Arial"><font size="3"><strong>هذه هي نهاية الجزء الأول &#8230; ومن لديه اي سؤال او تعقيب فلا يتردد بطرحه على الرابط التالي : <a target="_blank" href="http://www.hiarab.net/showthread.php?p=100059">هنا</a></strong></font></font></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/alnabhani.wordpress.com/11/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/alnabhani.wordpress.com/11/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alnabhani.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alnabhani.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alnabhani.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alnabhani.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alnabhani.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alnabhani.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alnabhani.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alnabhani.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alnabhani.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alnabhani.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=11&subd=alnabhani&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://alnabhani.wordpress.com/2007/09/06/%d8%a3%d8%af%d9%88%d8%a7%d8%aa-%d8%aa%d9%82%d8%a7%d8%b1%d9%8a%d8%b1-visual-studio-2005-%d8%a7%d9%84%d8%ac%d8%b2%d8%a1-%d8%a7%d9%84%d8%a3%d9%88%d9%84/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">alnabhani</media:title>
		</media:content>

		<media:content url="http://www.m5zn.com/uploads/874763d146.gif" medium="image" />

		<media:content url="http://www.m5zn.com/uploads/c233c5091f.gif" medium="image" />

		<media:content url="http://www.m5zn.com/uploads/b031d94c52.gif" medium="image" />

		<media:content url="http://www.m5zn.com/uploads/10ca5acdac.gif" medium="image" />

		<media:content url="http://www.m5zn.com/uploads/e14e5104f7.gif" medium="image" />

		<media:content url="http://www.m5zn.com/uploads/a3779ae45b.gif" medium="image" />
	</item>
	</channel>
</rss>