<?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/"
	>

<channel>
	<title>Iran Developers Network &#187; اکسس میکروسافت</title>
	<atom:link href="http://www.irandevelopers.com/category/programming/database/msaccess/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.irandevelopers.com</link>
	<description>IDN بزرگترین مرجع توسعه دهندگان ایران - آموزش زبانهای برنامه نويسی</description>
	<lastBuildDate>Mon, 23 Aug 2010 08:51:43 +0000</lastBuildDate>
	<language>fa</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>استفاده از توابع API ویندوز در اکسس</title>
		<link>http://www.irandevelopers.com/programming/accesapiwindows880616-1942/</link>
		<comments>http://www.irandevelopers.com/programming/accesapiwindows880616-1942/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 12:43:25 +0000</pubDate>
		<dc:creator>biranvand2009</dc:creator>
				<category><![CDATA[اکسس میکروسافت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>

		<guid isPermaLink="false">http://www.irandevelopers.com/?p=1942</guid>
		<description><![CDATA[استفاده از توابع API ویندوز در اکسس جهت استفاده از توابع API ویندوز در قسمتهای مختلف یک برنامه به زبان اکسس یا ویژوال بیسیک باید الگوی تابع مورد نظر را در یک ماژول به صورت Public تعریف نمایید در این الگو شما نام تابع و نام کتابخانه DLL که تابع مورد نظر در آن تعریف [...]]]></description>
			<content:encoded><![CDATA[<p>استفاده از توابع API ویندوز در اکسس</p>
<p>جهت استفاده از توابع API ویندوز در قسمتهای مختلف یک برنامه به زبان اکسس یا ویژوال بیسیک باید الگوی تابع مورد نظر را در یک ماژول به صورت Public تعریف نمایید در این الگو شما نام تابع و نام کتابخانه DLL که تابع مورد نظر در آن تعریف شده را همراه با پارامترهای ورودی/خروجی آن مشخص کنید . همچنین میتوانید از یک نام دلخواه برای فراخوانی تابع استفاده کنید در اینصورت باید نام اصلی یا مستعار تابع در کتابخانه مربوطه اش را بعد از عبارت Alias مشخص کنید.<br />
به عنوان مثال ShellExecuteA یکی از توابع کتابخانه ای ویندوز است که با همین نام در کتابخانه shell32.dll تعریف شده است. با این تابع شما قادر خواهید بود یک فایل دلخواهتان را در محیط برنامه ای که ویندوزتان برای آن پسوندفایل رجیستر شده، باز کنید مثلا یک فایل PDF‌ را در محیط آکروبات.<br />
برای استفاده از این تابع الگوی آنرا به شکل زیر در یک ماژول تعریف نمایید<br />
Public Declare Function ShellExecuteA Lib &#8220;shell32.dll&#8221; (ByVal hwnd As Long, _<br />
ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String,<br />
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long<br />
اگر بخواهید از این تابع با نام apiShellExecute در برنامه تان استفاده کنید باید به جای الگوی فوق، الگوی زیر را در ماژول استفاده کنید.<br />
Public Declare Function apiShellExecute Lib &#8220;shell32.dll&#8221; Alias &#8220;ShellExecuteA&#8221; (ByVal hwnd As Long, _<br />
ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, _<br />
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long<br />
حال تابعی به نام ShellExecuteA یا apiShellExecute در قسمتهای مختلف برنامه قابل فراخوانی است. در این مرحله باید تابع را با پارامترهای مناسب صدا زد. مثلا به شکل زیر:<br />
Dim Lret As Long, LshowHow As Long</p>
<p>Dim stFile As String<br />
LshowHow = 1<br />
stFile = &#8220;C:\WO-Status Count8605.pdf&#8221;<br />
Lret = ShellExecuteA (hWndAccessApp, vbNullString, stFile, vbNullString, vbNullString, LshowHow )</p>
<p>یا<br />
Lret = apiShellExecute (hWndAccessApp, vbNullString, stFile, vbNullString, vbNullString, LshowHow )</p>
<p>بسته به شکل تعریف.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.irandevelopers.com/programming/accesapiwindows880616-1942/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>برنامه نویسی بانکهای اطلاعاتی توسط اکسس</title>
		<link>http://www.irandevelopers.com/programming/programmingaccessms88061-1896/</link>
		<comments>http://www.irandevelopers.com/programming/programmingaccessms88061-1896/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 11:46:12 +0000</pubDate>
		<dc:creator>biranvand2009</dc:creator>
				<category><![CDATA[اکسس میکروسافت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[پایگاه های داده و بانکهای اطلاعاتی]]></category>
		<category><![CDATA[برنامه نويسي بانكهاي اطلاعاتي توسط اکسس]]></category>

		<guid isPermaLink="false">http://www.irandevelopers.com/?p=1896</guid>
		<description><![CDATA[یک نرم افزار بانک اطلاعاتی که در Access ایجاد می شود به صورت یک فایل منفرد با پسوند mdb بر روی دیسک ذخیره میشود و از اجزای زیر تشکیل میشود. ۱٫ Tables : جداول اطلاعاتی ۲٫ Queries : پرس و جو ها ۳٫ Forms : فرمها ۴٫ Reports : گزارشها ۵٫ Macros : ماکروها ۶٫ [...]]]></description>
			<content:encoded><![CDATA[<p>یک نرم افزار بانک اطلاعاتی که در Access ایجاد می شود به صورت یک فایل منفرد با پسوند mdb بر روی دیسک ذخیره میشود و از اجزای زیر تشکیل میشود.</p>
<p>۱٫ Tables : جداول اطلاعاتی<br />
۲٫ Queries : پرس و جو ها<br />
۳٫ Forms : فرمها<br />
۴٫ Reports : گزارشها<br />
۵٫ Macros : ماکروها<br />
۶٫ Modules : ماژولها</p>
<p>۱٫ Tables (جداول اطلاعاتی)</p>
<p>جداول اطلاعاتی حاوی مفیدترین اطلاعات به صورت جدولی یا سطری ستونی می باشند . هر سطر میتواند در بر گیرنده اطلاعات یک قلم کالا یا یک شخص خاص باشد که به آن یک رکورد می گویند .هر ستون یک جدول اطلاعاتی ، اطلاعات یک مشخصه خاص از آن رکورد را ذخیره میکند که به آن یک فیلد گفته میشود مانند نام شخص ، شماره پرسنلی یک کارمند و یا کد یک کالا.</p>
<p>۲٫ Queries (پرس و جو ها)</p>
<p>توسط Queryها میتوان اطلاعات مورد نیازمان را از یک یا چند جدول اطلاعاتی استخراج کرد این کار از طریق انتخاب جداول اطلاعاتی حاوی اطلاعات مورد نظر ، برقراری ارتباط بین جداول ، انتخاب فیلدهای مورد نیاز از جداول انتخاب شده و اعمال شرطهای لازم روی فیلدها صورت میگیرد.</p>
<p>۳٫ Forms (فرمها)</p>
<p>فرمها در واقع رابط بین کاربر و اطلاعات ذخیره شده در جداول اطلاعاتی میباشند . فرمها میتوانند توسط کنترلهای گرافیکی مانند جعبه متن ، جعبه لیست و دیگر کنترلهای موجود در جعبه ابزار Access اطلاعات مورد نظر ما را از جداول اطلاعاتی نمایش دهند . و یا امکان اصلاح و افزودن رکورد به جداول اطلاعاتی را فراهم آورند. لازم به ذکر است که هر فرم جهت انجام عملیات فوق روی داده ها از یک منبع داده استفاده میکند که منبع داده یک فرم را میتوان یکی از جداول یا پرس و جوهای موجود انتخاب کرد.</p>
<p>۴٫ Reports گزارشها</p>
<p>توسط گزارشها میتوان اطلاعات استخراج شده از جداول اطلاعاتی را در قالب و شکل دلخواه بر روی کاغذ چاپ کرد .</p>
<p>۵٫ Macros (ماکروها)</p>
<p>ماکروها با به کارگیری یک سری توابع قدرتمند از قبیل نوشتن اطلاعات در یک رکورد جدول اطلاعاتی ، فراخوانی اطلاعات از نرم افزارهای بانک اطلاعاتی دیگر ، ارسال اطلاعات به فرمتهای مورد نیاز برنامه های دیگر و غیره امکان انجام یک سری عملیات مهم را به سادگی و با سرعت زیاد فراهم میآورند .</p>
<p>۶٫ Modules (ماژولها)</p>
<p>هر ماژول میتواند شامل یک یا چند تابع یا زیربرنامه باشد که به صورت اختصاصی Private یا عمومی Public تعریف میشوند همچنین ثوابت مورد استفاده در کلیه فرمهای برنامه را نیز میتوان در اینجا به صورت Public تعریف کرد مانند:</p>
<p>Public Const cotation=&#8221;"&#8221;"</p>
<p>این توابع را میتوان از درون فرمهای دیگر فراخوانی کرد و یا در پرس و جوها و ماکروها از آنها استفاده کرد توابع بر خلاف زیربرنامه ها همیشه مقداری را به عنوان خروجی به برنامه فراخواننده باز میگردانند . به عنوان مثال تابع زیر با دریافت تاریخ تولید و مدت اعتبار یک فراورده ، تاریخ انقضای آن را محاسبه و به برنامه فراخواننده برمیگرداند .</p>
<p>Public Function NextDate6(FirstDate As Variant, interval As Variant) As String<br />
On Error GoTo Errhand<br />
If Nz(FirstDate) = &#8220;&#8221; Then<br />
NextDate6 =&#8221;"<br />
Else<br />
Dim yy1, yy2, mm1, mm2, dd1 As String<br />
Dim tm, vm, dy As Byte<br />
yy1 = Left(FirstDate,2)<br />
mm1 = Mid(FirstDate,3,2)<br />
dd1 = Mid(FirstDate,5,2)<br />
tm = interval + Val(mm1) &#8211; 1<br />
vm = (tm Mod 12)<br />
mm2 = Right(&#8220;0&#8243; &amp; Trim(Str(vm + 1)),2)<br />
dy = (tm &#8211; vm) / 12<br />
yy2 = Trim(Str(Val(yy1) + dy))<br />
NextDate6 = yy2 &amp; mm2 &amp; dd1<br />
End If<br />
GoTo NoError<br />
Errhand:<br />
NextDate6 = &#8220;&#8221;<br />
NoError:</p>
<p>End Function</p>
<p>در تابع فوق جهت نگهداری تاریخ از یک فیلد نوع Text با طول ۶ استفاده شده است با این روش جهت نمایش تاریخ ۸۵۰۲۳۱ به صورت ۸۵/۰۲/۳۱ میتوان خاصیت Input Mask مربوط به فیلد تاریخ یا کنترل نمایش دهنده این فیلد بر روی Form یا Report را به صورت ۹۹/۹۹/۹۹ تنظیم کرد .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.irandevelopers.com/programming/programmingaccessms88061-1896/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>جلوگیری از حملات SQL Injection در ASP.NET</title>
		<link>http://www.irandevelopers.com/programming/sqlinjectionaspnet8712071306-1527/</link>
		<comments>http://www.irandevelopers.com/programming/sqlinjectionaspnet8712071306-1527/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 09:36:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NET - دات نت]]></category>
		<category><![CDATA[اس کیو ال سرور میکروسافت]]></category>
		<category><![CDATA[اکسس میکروسافت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[پایگاه های داده و بانکهای اطلاعاتی]]></category>

		<guid isPermaLink="false">http://www.irandevelopers.com/?p=1527</guid>
		<description><![CDATA[در این مقاله فرض شده است که خواننده با اصول اولیه زبان پرس و جوی ساخت یافته (Structured Query Language) یا همان SQL آشنا است. در ضمن کدهای موجود در این مقاله تماما به زبان VB.NET می باشند یک حمله SQL Injection چیست؟ حتما در فیلمهای سینمایی دیده اید که بسیاری از تبهکاران قربانیان خود [...]]]></description>
			<content:encoded><![CDATA[<p>در این مقاله فرض شده است که خواننده با اصول اولیه زبان پرس و جوی ساخت یافته  (Structured Query Language) یا همان SQL آشنا است. در ضمن کدهای موجود در این  مقاله تماما به زبان VB.NET می باشند</p>
<p><strong>یک حمله SQL Injection  چیست؟</strong><br />
حتما در فیلمهای سینمایی دیده اید که بسیاری از تبهکاران قربانیان خود  را با تزریق مواد سمی به جای دارو از میان بر می دارند. آیا در دنیای سایبر نیز  چنین ایده هایی وجود دارد؟ در کمال تعجب باید بگویم که بله!! هکرها هم به نوعی از  این شگرد استفاده می کنند. می گویید چگونه؟ با تزریق کردن دستورات SQL مورد علاقه  خود به Application شما! اجازه دهید تا با یک مثال مطلب را روشن تر کنم:</p>
<p><strong>سیستم Login:</strong><br />
صفحات Login معمولا دارای فیلدهایی هستند که دو  مقدار ID و Password را از کاربر گرفته و سپس با استفاده از یک دستور SQL آن را  پردازش می کنند. نمونه ساده ای از این دستور به صورت زیر است:</p>
<div class="Code">SELECT COUNT(UserID) FROM tblUsers WHERE UserID=&#8217;&#8221; &amp;  UserID.Text &amp; &#8220;&#8216; AND Pass=&#8217;&#8221; &amp; Password.Text &amp; &#8220;&#8216;&#8221;</div>
<p>در این  مثال UserID و Password دو کنترل TextBox هستند که مقادیر آنها بایستی مورد پردازش  قرار گیرد. حال فرض می کنیم کاربر مقادیر را به صورت mahdi و ۱۲۳ وارد نماید، در  این صورت جمله SQL به صورت زیر تولید می شود:</p>
<div class="Code">SELECT COUNT(UserID) FROM tblUsers WHERE UserID=&#8217;mahdi&#8217; AND  Pass=&#8217;123&#8242;</div>
<p>خوب تا اینحا مشکلی وجود ندارد. حال فرض کنید که هکر ما به  جای کلمه کاربری خود عبارت زیر را وارد نماید:</p>
<div class="Code">&#8216; OR 1=1 –</div>
<p>در این صورت عبارت SQL زیر تولید خواهد شد:</p>
<div class="Code">SELECT COUNT(UserID) FROM tblUsers WHERE UserID=&#8221; OR 1=1 – AND  PASS=&#8221;</div>
<p>احتمالا می دانید که کاراکتر &#8211; در SQL علامت توضیحات است و عبارت  پس از آن دیگر پردازش نمی شود لذا هنگام پردازش دستور چون همواره ۱=۱ است و با توجه  به OR به کار رفته، بدون توجه به خالی بودن مقدار مقابل UserID 1=1 کافی تلقی شده و  کلیه رکوردهای بانک اطلاعاتی برگردانده می شود و Attacker اصطلاحا Authenticate می  شود.</p>
<p>پیش از آنکه به ارائه راه حل این حفره امنیتی خودساخته بپردازیم این  نکه شایان ذکر است که این حملات در پایگاه اطلاعاتی SQL Server بسیار پیچیده تر است  که در قسمت دوم مقاله مورد بررسی قرار خواهد گرفت.</p>
<p><strong>چاره  کار!</strong><br />
ساختار شی گرای ASP.NET و امکانات این ساختار به برنامه نویسان امکان  مانور بیشتری را داده است. حال ما کد کامل اصلاح شده را در زیر آورده و سپس توضیحات  آن را ذکر می کنیم:</p>
<pre class="Code">Dim strSQL As String = "SELECT COUNT(UserID) FROM tblUsers WHERE
UserID=@UserID AND Password=@Password"
Dim cmndCheck As OleDbCommand = New OleDbCommand(strSQL, _Connection)

cmndCheck.Parameters.Add("@UserID", UserID.Text);
cmndCheck.Parameters.Add("@Password", Password.Text);
cmndCheck.Connection.Open()
Dim IsValid As Integer = cmndCheck.ExecuteScalar()

If IsValid &gt; 0
    '... Some Code here... User is authenticated
Else
    '... Some Code here... User is not aututorized to view the page
End If</pre>
<p>تغییر در همان خط اول یعنی دستور SQL مشخص است این بار به جای اینکه  مقادیر دریافتی از فیلدها با Single Quote به خورد پردازشگر دستور داده شود مقادیر  با پارامترهای تولید شده توسط آبجکت OleDbCommand جایگزین می شود و در آخر  cmndCheck پردازش شده چنانچه مقدار تولید شده توسط ExecuteScalar بزرگتر از صفر  باشد بدین معنی است که حداقل یک رکورد با شرایط مورد نظر ما پیدا شده است. (متغیر  Connection_ که باید برابر ConnectionString شما قرار گیرد دانسته فرض شده است)</p>
<p>تقاوت اصلی این روش نسبت به روش ناامن قبلی این است که در اینجا مقادیر به  صورت کاملا&#8221; پارامتری شده پردازش می شوند نه به صورت قطعاتی از یک رشته حرفی که در  واقع دام اصلی SQL Injection به شمار می آید. در واقع ما در اینجا از تکنیکهای رشته  سازی با استفاده از &amp; یا + اجتناب کرده ایم.</p>
<p>نکته مهم دیگری که باید  حتما مورد توجه قرار دهید این است که یکی از راههایی که هکرها برای حمله به سایت  شما استفاده می کنند خطاسازی صوری در زمان اجرای Application و مطالعه اطلاعات خطای  دریافت شده است. برای جلوگیری از این اتفاق که می تواند ساختار بعضی از قسمتهای کد  شما را برای حمله کنندگان آشکار کند حتما در Application خود از روال خطایابی  Customize شده استفاده کنید. علاوه بر این می توانید در بسیاری از قسمتها به صورت  موردی از Try&#8230;End Try استفاده کنید و برای اطلاع خودتان از خطای رخ داده e As  OleDbException را به آدرس Email خود ارسال کنید که در این مورد در فرصتی دیگر صحبت  خواهم کرد.</p>
<p>این مثال و راه حل یکی از ساده ترین انواع حملات Injection روی  Web Applicationهاست و شما می توانید نمونه ها و مثالهای متعددی در این خصوص را در  سایتهای <a href="../../www.sqlsecurity.com/default.htm" target="_blank">www.sqlsecurity.com</a> و <a href="../../www.nextgenss.com/research.html#papers" target="_blank">www.nextgenss.com</a> پیدا کنید که چنانچه گفته شد (و در قسمت دوم  این مقاله بدان پرداخته خواهد شد) بیشتر مربوط به SQL Server است. روش کلی کار در  SQL Server نیز کمابیش مشابه همین روش است با این تفاوت که در آنجا از Stored  Procedure استفاده می شود. پس منتظر قسمت دوم این مقاله و تکنیکهای پیشرفته تر  Hackerها در نفوذ به بانک اطلاعاتی SQL Server یک برنامه نویس ناشی و روش اجتناب از  آن باشید <img src='http://www.irandevelopers.com/wp-includes/images/smilies/icon_wink.gif' alt="icon wink جلوگیری از حملات SQL Injection در ASP.NET" class='wp-smiley' title="جلوگیری از حملات SQL Injection در ASP.NET" /> </p>
<p>توضیح: برخی قسمتهای این مقاله از مقاله &#8220;از بانک اطلاعاتی  خود دفاع کنید&#8221; نوشته Beth Breidenbach چاپ شده در شماره ۹ (نوامبر/دسامبر ۲۰۰۲)  مجله asp.netPRO اقتباس شده است.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.irandevelopers.com/programming/sqlinjectionaspnet8712071306-1527/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ایراد The search key was not found in any record  در اکسس</title>
		<link>http://www.irandevelopers.com/programming/accesserror8710281856-1247/</link>
		<comments>http://www.irandevelopers.com/programming/accesserror8710281856-1247/#comments</comments>
		<pubDate>Sat, 17 Jan 2009 15:27:02 +0000</pubDate>
		<dc:creator>حمید آزادی اردکانی</dc:creator>
				<category><![CDATA[اکسس میکروسافت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[پایگاه های داده و بانکهای اطلاعاتی]]></category>

		<guid isPermaLink="false">http://www.irandevelopers.com/?p=1247</guid>
		<description><![CDATA[Microsoft JET Database Engine error &#8217;80040e21&#8242; The search key was not found in any record. /myfile.asp, line 113 یه روز یه برنامه ASP که از بانک اطلاعاتی ACCESS استفاده میکرد نوشته بودم که وقتی فرمان update یا delete را بر روی بانک اعمال میکردم پیام فوق برام می آمد و به من میگفت که چنین [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; unicode-bidi: embed; text-align: left;" dir="rtl" align="right"><span style="font-size: 10pt; color: black; font-family: Verdana;" dir="ltr"><span>Microsoft JET  Database Engine error &#8217;80040e21&#8242;</p>
<p>The search key was not found in any  record.</p>
<p>/myfile.asp, line 113</span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; unicode-bidi: embed; text-align: left;" dir="rtl" align="right"><span style="font-size: 10pt; font-family: Tahoma;" dir="ltr"><span> </span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-size: 10pt; font-family: Tahoma;" lang="AR-SA"><span>یه روز یه برنامه </span></span><span style="font-size: 10pt; color: #6600cc; font-family: Tahoma;" dir="ltr"><span>ASP</span></span><span style="font-size: 10pt; font-family: Tahoma;" lang="FA"><span> که از بانک اطلاعاتی </span></span><span style="font-size: 10pt; color: #6600cc; font-family: Tahoma;" dir="ltr"><span>ACCESS</span></span><span style="font-size: 10pt; font-family: Tahoma;" lang="FA"><span> استفاده میکرد نوشته بودم که</span></span><span style="font-size: 10pt; font-family: Tahoma;" lang="AR-SA"><span> وقتی فرمان </span></span><span style="font-size: 10pt; font-family: Tahoma;" dir="ltr"><span>update</span></span><span style="font-size: 10pt; font-family: Tahoma;" lang="AR-SA"><span> یا </span></span><span style="font-size: 10pt; font-family: Tahoma;" dir="ltr"><span>delete</span></span><span style="font-size: 10pt; font-family: Tahoma;" lang="AR-SA"><span> را بر روی بانک اعمال میکردم پیام فوق برام می آمد و به من میگفت  که چنین رکوردی در بانک وجود ندارد.این در حالی بود که وقتی </span></span><span style="font-size: 10pt; font-family: Tahoma;" dir="ltr"><span>Query</span></span><span style="font-size: 10pt; font-family: Tahoma;" lang="FA"><span> میگرفتم همه چیز درست بود . فکر کردم مشکل از  سرور است .دیتابیس رو از سایت دانلود کردم تا رکورد موردنظر را در اکسس بصورت دستی  پاک کنم ، اما با کمال تعجب دیدم که در حالی که رکورد موردنظر جلوی چشمان منه ،  میگه چنین رکوردی موجود نیست . <span> </span>هر چی کتاب  در این زمینه داشتم زیر و رو کردم ، اما چیزی پیدا نکردم . یه دفعه یاد یه کتابخانه  خیلی بزرگ افتادم که میدونستم حتما حداقل یه مقاله در این مورد توش هست ! بله ،  اینترنت !</span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-size: 10pt; font-family: Tahoma;" lang="FA"><span> </span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-size: 10pt; font-family: Tahoma;" lang="FA"><span>مشابه این  برنامه را قبلا نوشته بودم و درست کار میکرد .اما این برنامه با قبلی کمی فرق داشت  . این برنامه در بانک اطلاعاتی اش دارای یک فیلد </span></span><span style="font-size: 10pt; color: #6600cc; font-family: Tahoma;" dir="ltr"><span>MEMO</span></span><span style="font-size: 10pt; font-family: Tahoma;" lang="FA"><span> بود . بانک اکسس من صدمه دیده بود و برای  درست کردن آن راه زیر را پیدا کردم :</span></span></p>
<ul style="margin-top: 0in;" type="disc"><span></p>
<li class="MsoNormal" style="margin: 0in 0.5in 0pt 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-size: 10pt; font-family: Tahoma;" lang="FA">برای  تعمیر دیتابیس : اگر بانک روی سرور است آنرا دانلود کنید و در اکسس آن را باز کنید  . به منوی </span><span style="font-size: 10pt; font-family: Tahoma;" dir="ltr">Tools</span><span style="font-size: 10pt; font-family: Tahoma;" lang="FA"> بروید و </span><span class="italic"><span style="font-size: 10pt; font-family: Tahoma;" dir="ltr">&#8216;Database Utilities</span></span><span class="italic"><span style="font-size: 10pt; font-family: Tahoma;" lang="AR-SA"> را باز کنید<span> </span>و </span></span><span class="italic"><span style="font-size: 10pt; font-family: Tahoma;" dir="ltr">Compact and Repair  Database</span></span><span class="italic"><span style="font-size: 10pt; font-family: Tahoma;" lang="AR-SA"> را انتخاب کنید . با اینکار اکسس دیتابیس را  تعمیر میکند . حال آنرا ذخیره کنید و دوباره میتوانید رکورد ها را حذف یا آپدیت  کنید.</span></span><span class="italic"><span style="font-size: 10pt; font-family: Tahoma;" dir="ltr"></span></span></li>
<p></span></ul>
<p class="MsoNormal" style="margin: 0in 0.25in 0pt 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span class="italic"><span style="font-size: 10pt; font-family: Tahoma;" lang="AR-SA"><span><span> </span></span><span>این کار را کردم ودرست شد  و من دیتابیس را آپلود کردم . اما بار دیگر این اتفاق افتاد .خوب ، باید یه راه  درستی باشه که از بروز این مشکل پیشگیری کنه، نمیشه که هر روز من فایل رو دانلود  کنم. ( همیشه پیشگیری بهتر از درمان است ) و بالاخره راه حل را یافتم  .</span></span></span></p>
<p class="MsoNormal" style="margin: 0in 0.25in 0pt 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span class="italic"><span style="font-size: 10pt; font-family: Tahoma;" lang="AR-SA"></span></span><span> </span></p>
<ul style="margin-top: 0in;" type="disc"><span></p>
<li class="MsoNormal" style="margin: 0in 0.5in 0pt 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-size: 10pt; font-family: Tahoma;" lang="FA">برای  پیشگیری از بروز مشکل : فیلد </span><span style="font-size: 10pt; font-family: Tahoma;" dir="ltr">MEMO</span><span style="font-size: 10pt; font-family: Tahoma;" lang="FA"> نباید </span><span style="font-size: 10pt; color: #6600cc; font-family: Tahoma;" dir="ltr">Index</span><span style="font-size: 10pt; font-family: Tahoma;" dir="ltr"> </span><span style="font-size: 10pt; font-family: Tahoma;" lang="FA"><span> </span>آن  برابر </span><span style="font-size: 10pt; font-family: Tahoma;" dir="ltr"><span> </span>YES</span><span style="font-size: 10pt; font-family: Tahoma;" lang="FA"> باشد . چون فیلد های </span><span style="font-size: 10pt; font-family: Tahoma;" dir="ltr">memo</span><span style="font-size: 10pt; font-family: Tahoma;" lang="FA"> نمی توانند اندیس داشته باشند این مشکل روی  میدهد .</span><span style="font-size: 10pt; font-family: Tahoma;" dir="ltr"></span></li>
<li class="MsoNormal" style="margin: 0in 0.5in 0pt 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-size: 10pt; font-family: Tahoma;" lang="FA">یک  مشکل و یک راه دیگر : این مشکل در موقعی که نام یک فیلد دارای فاصله باشد نیز روی  میدهد . هنگام استفاده از درایور </span><span style="font-size: 10pt; font-family: Tahoma;" dir="ltr">ODBC</span><span style="font-size: 10pt; font-family: Tahoma;" lang="FA"> با یک کرسر سمت سرور ، اجازه آپدیت داده  نمیشود و بجای آن </span><span style="font-size: 10pt; font-family: Tahoma;" dir="ltr">ADO</span><span style="font-size: 10pt; font-family: Tahoma;" lang="FA"> یک فرمان </span><span style="font-size: 10pt; font-family: Tahoma;" dir="ltr">SQL </span><span style="font-size: 10pt; font-family: Tahoma;" lang="FA"><span> </span>برای  آن میسازد ، ولی از گذاشتن علامت </span><span style="font-size: 10pt; font-family: Tahoma;" dir="ltr"><span> </span>[ ] </span><span style="font-size: 10pt; font-family: Tahoma;" lang="FA"><span> </span>در  اطراف نام فیلد غفلت میکند و این امر باعث ایجاد </span><span style="font-size: 10pt; font-family: Tahoma;" dir="ltr">Error</span><span style="font-size: 10pt; font-family: Tahoma;" lang="FA"> میشود . برای پیشگیری از این مشکل در نام  فیلد از فاصله استفاده نکنید و یا بجای </span><span style="font-size: 10pt; font-family: Tahoma;" dir="ltr">ADO </span><span style="font-size: 10pt; font-family: Tahoma;" lang="FA"><span> </span>از  فرامین </span><span style="font-size: 10pt; font-family: Tahoma;" dir="ltr">SQL</span><span style="font-size: 10pt; font-family: Tahoma;" lang="FA"> استفاده کنید </span></li>
<p></span></ul>
]]></content:encoded>
			<wfw:commentRss>http://www.irandevelopers.com/programming/accesserror8710281856-1247/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ماجول تاریخ هجری شمسی با توابع جانبی آن Access</title>
		<link>http://www.irandevelopers.com/programming/shamsidateaccess8710281854-1245/</link>
		<comments>http://www.irandevelopers.com/programming/shamsidateaccess8710281854-1245/#comments</comments>
		<pubDate>Sat, 17 Jan 2009 15:25:06 +0000</pubDate>
		<dc:creator>حمید آزادی اردکانی</dc:creator>
				<category><![CDATA[اکسس میکروسافت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[پایگاه های داده و بانکهای اطلاعاتی]]></category>

		<guid isPermaLink="false">http://www.irandevelopers.com/?p=1245</guid>
		<description><![CDATA[در بانک اطلاعاتی Access فیلدهای نوع Date پاسخگوی نیاز کاربران فارسی که با تاریخ هجری شمسی کار می کنند نیست . البته برنامه هایی مثل پارسا ۹۹ تقویم سیستم را به تقویم هجری شمسی تبدیل می کند و بعد از آن کاربران فارسی می توانند از فیلدهای نوع Date اکسس استفاده کنند .بدین ترتیب پارسا [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><span>در بانک اطلاعاتی </span></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr"><span>Access</span></span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><span> فیلدهای نوع </span></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr"><span>Date</span></span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><span> پاسخگوی نیاز کاربران فارسی که با تاریخ هجری شمسی کار می کنند  نیست . البته برنامه هایی مثل پارسا </span></span><span style="font-size: 9pt; font-family: Tahoma;" lang="FA"><span>۹۹</span></span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><span> تقویم سیستم را به تقویم  هجری شمسی تبدیل می کند و بعد از آن کاربران فارسی می توانند از فیلدهای نوع </span></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr"><span>Date</span></span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><span> اکسس استفاده کنند .بدین ترتیب پارسا مشکل تاریخ هجری شمسی را حل  میکند ولی بعضا تاریخ شمسی سیستم بنا به دلایلی از بین میرود . مثلا اگربعد از نصب  پارسا، </span></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr"><span>Office</span></span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><span>نصب شود تاریخ هجری شمسی سیستم به هم  می خورد. برای رهایی از وابستگی برنامه های شما به پارسا و &#8230; ، توابع زیر می  تواند مشکل شما را بطور کامل حل کند .<br />
این ماجول در چندین برنامه تست شده و جواب  گرفته است شما هم می توانید از آن استفاده کنید.<br />
(توجه داشته باشید که کدهای  نوشته شده ، در اینجا از چپ به راست نمایش داده شده اند ولی با کپی آن در اکسس ،  نمایش آن از چپ به راست خواهد شد)</p>
<p>در صورت استفاده از این ماجول ، فیلدهای  از نوع تاریخ را باید از نوع </span></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr"><span>Number</span></span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><span> تعریف کنید. توضیحات بیشتر جهت استفاده از ماجول ، درون خود ماجول  نوشته شده است.<br />
برای استفاده از این ماجول ، از دو خط پایین تر تا انتهای متن را  در حافظه کپی کرده (</span></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr"><span>Copy</span></span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><span>) و سپس در یک ماجول جدید در اکسس یا </span></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr"><span>VB</span></span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><span> قرار دهید (</span></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr"><span>Paste</span></span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><span>): </span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl">
<div class="txt"><span style="font-family: Tahoma;"></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">&#8216; 1- تعریف کنید </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Number(Long</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">) است را بصورت </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Date</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> فیلدهایی که نوع آنها<br />
&#8216; ۲- این فیلدها را بصورت ۰۰/۰۰/۰۰ تنظیم  کنید </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">InputMask</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> خاصیت<br />
&#8216; بدلیل ۶ رقمی در نظر گرفتن فیلد تاریخ ، این توابع تا  سال ۱۳۹۹ کارایی دارد<br />
&#8216; &#8230;<br />
&#8216; تاریخ جاری سیستم را به هجری شمسی تبدیل می کند </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Shamsi</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">() تابع<br />
&#8216; بکار ببرید </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Now</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">() را می توانید در گزارشات بجای تابع </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dat</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">() تابع<br />
&#8216; :برای جلوگیری از ورود تاریخ غلط به درون یک فیلد  بترتیب زیر عمل میکنید<br />
&#8216; :بشکل زیر بکار ببرید </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">ValidationRule</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> را در خاصیت </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">ValidDate</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">() تابع<br />
&#8216; </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">ValidDate</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">([نام فیلد])=</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">True</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216; &#8230;</p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr"></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; unicode-bidi: embed; text-align: left;" dir="rtl" align="right"><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">&#8216;*******************************************<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Public Function</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Rooz(F_Date As Long) As  Byte</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216;این  تابع عدد مربوط به روز یک تاریخ را برمگرداند<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Rooz = F_Date Mod 100</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216;*******************************************<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function  Mah(F_Date</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">As Long) As Byte</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216;این تابع عدد مربوط  به ماه یک تاریخ را برمگرداند<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Mah</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Int((F_Date Mod 10000) /  100</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216;*******************************************<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Public Function</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sal(F_Date As Long) As  Byte</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216;این  تابع عدد مربوط به سال یک تاریخ را برمگرداند<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sal = Int(F_Date / 10000</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216;*******************************************<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Public Function</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Kabiseh(ByVal OnlySal As Variant) As  Byte</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216;ورودی تابع عدد دورقمی  است<br />
&#8216;این تابع کبیسه بودن سال را برمیگرداند<br />
&#8216;اگر سال کبیسه باشد عدد یک و  درغیر اینصورت صفر را بر میگرداند<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Kabiseh = 0</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If OnlySal</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &gt;= 75 </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If (OnlySal</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &#8211; 75) </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Mod 4 = 0 Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Kabiseh = 1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Exit Function</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">ElseIf OnlySal</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &lt;= 70 </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If (70 &#8211; OnlySal) Mod 4 = 0  Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Kabiseh = 1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Exit</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216;*******************************************<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">ValidDate(F_Date As Long) As  Boolean</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dim M, S, R As Byte</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216; این تابع اعتبار یک  عدد ورودی را از نظر تاریخ هجری شمسی بررسی می کند<br />
&#8216; را برمی گرداند </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">False</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> واگر نامعتبر باشد </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">True</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> اگر تاریخ معتبر باشد<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">ValidDate = True</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">S</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sal(F_Date</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">M = Mah(F_Date</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">R = Rooz(F_Date</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
&#8216;********<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If F_Date</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &lt; 100101 </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">ValidDate = False</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Exit Function</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If M</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &gt; 12 </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Or M = 0 Or R = 0 Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">ValidDate = False</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Exit Function</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If R</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &gt; </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">MahDays(S, M) Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">ValidDate = False</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Exit</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216;*******************************************<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Public Function</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">AddDay(ByVal F_Date As Long, ByVal  add As Integer) As Long</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dim K, M, S, R</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">, </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Days As Byte</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">R = Rooz(F_Date</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">M = Mah(F_Date</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">S = Sal(F_Date</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">K</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Kabiseh(S</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)</p>
<p>&#8216;تبدیل روز به عدد ۱ جهت ادامه محاسبات و یا اتمام  محاسبه<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Days  = MahDays(S, M</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If add</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &gt; </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Days &#8211; R Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">add = add &#8211; (Days</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &#8211; </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">R + 1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">R = 1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If M</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &lt; 12 </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">M = M + 1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Else</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">M = 1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">S = S</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> + 1<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Else</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">R = R + add</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">add = 0</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">While add</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &gt; 0<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">K = Kabiseh(S</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">) &#8216;کبیسه: ۱ و غیر کبیسه: ۰<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Days = MahDays(S, M</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">) &#8216;تعداد روزهای ماه فعلی<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Select Case add</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case Is</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &lt; </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Days</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216;اگر تعداد روزهای افزودنی کمتر  از یک ماه باشد<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">R = R + add</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">add = 0</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case Days To IIf(K = 0</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">, 365, 366) &#8211; 1<br />
&#8216;اگر تعداد روزهای افزودنی بیشتر از یک ماه و  کمتر از یک سال باشد<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">add = add &#8211; Days</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If M</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &lt; 12 </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">M = M + 1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Else</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">S = S</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> + 1<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">M = 1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case Else</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216;اگر تعداد روزهای افزودنی بیشتر  از یک سال باشد<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">S = S + 1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">add = add &#8211; IIf(K = 0, 365,  366</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Select</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Wend</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">AddDay = (S * 10000) + (M * 100) +  (R</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)</p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p>&#8216;***********************************************<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Public</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function Shamsi() As  Long</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216;تاریخ جاری سیستم را به تاریخ  هجری شمسی تبدیل می کند<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dim Shamsi_Mabna As Long</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dim Miladi_mabna As Date</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dim Dif As</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Long</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216;در اینجا ۸۰/۱۰/۱۱ با ۲۰۰۲/۰۱/۰۱  معادل قرارداده شده<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Shamsi_Mabna</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = 791012<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Miladi_mabna = #1/1/01#</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dif = DateDiff(&#8220;d&#8221;,  Miladi_mabna</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">, </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Date</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If Dif</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &lt; 0 </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">MsgBox</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &#8220;تاریخ جاری سیستم شما نادرست است , آنرا اصلاح  کنید.&#8221;<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Else</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Shamsi = AddDay(Shamsi_Mabna,  Dif</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216;***********************************************<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Public Function</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">DayWeek(F_Date As Long) As  String</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dim a As String</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dim N As Byte</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">N</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">DayWeekNo(F_Date</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Select Case N</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 0</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">a</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = &#8220;شنبه&#8221;<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">a</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = &#8220;یکشنبه&#8221;<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 2</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">a</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = &#8220;دوشنبه&#8221;<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 3</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">a</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = &#8220;سه‌شنبه&#8221;<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 4</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">a</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = &#8220;چهارشنبه&#8221;<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 5</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">a</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = &#8220;پنج‌شنبه&#8221;<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 6</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">a</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = &#8220;جمعه&#8221;<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Select</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">DayWeek = a</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p>&#8216;***********************************************<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Public</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function Dat</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">()<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dim D As Long</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">D = Shamsi</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dat = DayWeek(D</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">) &amp; &#8221; 13&#8243; &amp; </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sal(D</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">) &amp; &#8220;/&#8221; &amp; </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Mah(D</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">) &amp; &#8220;/&#8221; &amp; </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Rooz(D</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p>&#8216;***********************************************<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Public</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function Diff(ByVal FromDate As  Long, ByVal To_Date As Long) As Long</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216;این تابع تعداد روزهای بین دو  تاریخ را ارائه می کند<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dim Tmp As Long</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dim S1, M1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">, </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">r1, S2, m2, r2 As  Integer</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dim Sumation As Single</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dim Flag As</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Boolean</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Flag = False</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If FromDate = 0 Or IsNull(FromDate)  = True Or To_Date</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = 0 </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Or IsNull(To_Date) = True  Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Diff = 0</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Exit Function</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If FromDate</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &gt; </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">To_Date Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216;اگر تاریخ شروع از تاریخ پایان  بزرگتر باشد آنها موقتا جابجا می شوند<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Flag = True</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Tmp = FromDate</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">FromDate</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">To_Date</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">To_Date = Tmp</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">r1 = Rooz(FromDate</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">M1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Mah(FromDate</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">S1 = Sal(FromDate</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">r2 = Rooz(To_Date</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">m2</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Mah(To_Date</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">S2 = Sal(To_Date</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sumation = 0</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Do While S1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &lt; </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">S2 &#8211; 1</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Or (S1 = S2 &#8211; 1 And (M1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &lt; </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">m2 Or (M1 = m2 And r1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &lt;= </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">r2</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)))<br />
&#8216;اگر یک سال یا بیشتر اختلاف بود<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If Kabiseh((S1)) = 1  Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If M1 = 12 And r1 = 30</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sumation = Sumation +  365</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">r1 = 29</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Else</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sumation = Sumation</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> + 366<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Else</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sumation = Sumation +  365</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">S1 = S1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> + 1<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Loop</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Do While S1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &lt; </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">S2 Or M1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &lt; </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">m2 &#8211; 1 Or (M1 = m2 &#8211; 1 And  r1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &lt; </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">r2</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
&#8216;اگر یک ماه یا بیشتر اختلاف بود<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Select Case M1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 1 To</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> 6<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If M1 = 6 And r1 = 31  Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sumation = Sumation + 30</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">r1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = 30<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Else</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sumation = Sumation + 31</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">M1 = M1 + 1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 7 To</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> 11<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If M1 = 11 And r1 = 30 And  Kabiseh(S1) = 0 Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sumation = Sumation</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> + 29<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">r1 = 29</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Else</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sumation = Sumation + 30</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">M1 = M1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> + 1<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 12</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If Kabiseh(S1) = 1 Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sumation = Sumation</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> + 30<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Else</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sumation = Sumation + 29</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">S1 = S1 + 1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">M1 = 1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Select</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Loop</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If M1 = m2 Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sumation = Sumation +  (r2</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &#8211; </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">r1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Else</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Select Case M1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 1 To 6</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sumation = Sumation + (31 &#8211;  r1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">) + </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">r2</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 7 To 11</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sumation = Sumation + (30 &#8211; r1) +  r2</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 12</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Kabiseh(S1) = 1 Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sumation = Sumation + (30 &#8211; r1) +  r2</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Else</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sumation</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sumation + (29 &#8211; r1) +  r2</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End Select</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If Flag</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">True Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sumation = -Sumation</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Diff = Sumation</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Public Function DayWeekNo(F_Date As  Long) As String</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216;این تابع یک تاریخ را دریافت  کرده و مشخص می کند چه روزی از هفته است<br />
&#8216;اگر شنبه باشد عدد ۰<br />
&#8216;اگر ۱شنبه  باشد عدد ۱<br />
&#8216;&#8230;&#8230;<br />
&#8216;اگر جمعه باشد عدد ۶<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dim day As</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">String</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dim Shmsi_Mabna As Long</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dim Dif As Long</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216;مبنا  ۸۰/۱۰/۱۱<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Shmsi_Mabna = 801011</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dif = Diff(Shmsi_Mabna,  F_Date</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Shmsi_Mabna</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &gt; </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">F_Date Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dif = -Dif</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216;با توجه به اینکه ۸۰/۱۰/۱۱ ۳شنبه  است محاسبه میشود </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">day</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> متغیر<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">day = (Dif + 3) Mod 7</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If day</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &lt; 0 </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">DayWeekNo = day + 7</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Else</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">DayWeekNo = day</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function MahName(ByVal Mah_no As  Byte) As String</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Select</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case Mah_no</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">MahName</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = &#8220;فروردین&#8221;<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 2</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">MahName</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = &#8220;اردیبهشت&#8221;<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 3</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">MahName</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = &#8220;خرداد&#8221;<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 4</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">MahName</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = &#8220;تیر&#8221;<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> 5<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">MahName</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = &#8220;مرداد&#8221;<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 6</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">MahName</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = &#8220;شهریور&#8221;<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 7</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">MahName</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = &#8220;مهر&#8221;<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 8</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">MahName</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = &#8220;آبان&#8221;<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 9</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">MahName</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = &#8220;آذر&#8221;<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> 10<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">MahName</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = &#8220;دی&#8221;<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 11</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">MahName</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = &#8220;بهمن&#8221;<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 12</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">MahName</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = &#8220;اسفند&#8221;<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End Select</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End Function</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function SalMah(ByVal F_Date  As</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Long) As Integer</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216;چهار رقم اول تاریخ  که معرف سال و ماه است را برمی گرداند<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">SalMah = Val(Left$(F_Date,  4</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">))<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End Function</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">MahDays(ByVal Sal As Byte, ByVal Mah  As Byte) As Byte</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216;این تابع تعداد روزهای یک ماه را  برمی گرداند<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Select Case Mah</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 1 To 6</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">MahDays = 31</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> 7 </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">To 11</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">MahDays = 30</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 12</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If Kabiseh(Sal) = 1 Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">MahDays</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = 30<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Else</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">MahDays = 29</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End Select</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function Make_Date(ByVal F_Date As  Long) As String</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216;یک تاریخ را بصورت یک رشته ۱۰  رقمی با ذکر چهار رقم برای سال ارائه می کند<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dim D As</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">String</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">D = Trim(Str(F_Date</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">))<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If IsNull(F_Date) = True Or F_Date =  0</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Make_Date</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = &#8220;&#8221;<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Else</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Make_Date = &#8220;13</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">&#8221; &amp; </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Mid(D, 1, 2</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">) &amp; &#8220;/&#8221; &amp; </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Mid(D, 3, 2</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">) &amp; &#8220;/&#8221; &amp; </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Mid(D, 5, 2</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function NextMah(ByVal Sal_Mah As  Integer) As Integer</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> (</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sal_Mah Mod 100) = 12  Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">NextMah = (Int(Sal_Mah / 100) + 1) *  100</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> + 1<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Else</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">NextMah = Sal_Mah + 1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End Function</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">PreviousMah(ByVal Sal_Mah As  Integer) As Integer</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If (Sal_Mah Mod 100) = 1</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">PreviousMah = (Int(Sal_Mah / 100) &#8211;  1) * 100 + 12</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Else</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">PreviousMah</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sal_Mah &#8211; 1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End Function</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function  SubtractDay(ByVal</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">F_Date As Long, ByVal Subtract As  Long) As Long</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216;به تعداد روز معینی از یک تاریخ  کم کرده و تاریخ حاصله را ارائه میکند<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dim K, M, S, R, Days As</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Byte</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">R = Rooz(F_Date</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">M = Mah(F_Date</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">S = Sal(F_Date</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">K</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Kabiseh(S</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)</p>
<p>&#8216;تبدیل روز به عدد ۱ جهت ادامه محاسبات و یا اتمام  محاسبه<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Subtract</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &gt;= </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">R &#8211; 1 Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Subtract = Subtract &#8211; (R &#8211;  1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">R = 1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Else</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">R</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">R &#8211; Subtract</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Subtract = 0</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">While Subtract</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &gt; 0<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">K</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Kabiseh(S &#8211; 1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">) &#8216;کبیسه: ۱ و غیر کبیسه: ۰<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Days = MahDays(IIf(M</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &gt;= 2, </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">S, S</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &#8211; 1), </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">IIf(M</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &gt;= 2, </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">M &#8211; 1, 12</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)) &#8216;تعداد روزهای ماه قبلی<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Select Case</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Subtract</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case Is</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &lt; </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Days</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216;اگر تعداد روزهای کاهش کمتر از  یک ماه باشد<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">R</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Days &#8211; Subtract + 1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Subtract = 0</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If M</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &gt;= 2 </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">M = M</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &#8211; 1<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Else</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">S = S &#8211; 1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">M = 12</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case Days To IIf(K = 0, 365,  366</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">) &#8211; 1<br />
&#8216;اگر تعداد روزهای کاهش بیشتر از یک ماه و کمتر از یک سال  باشد<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Subtract</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Subtract &#8211; Days</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If M</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &gt;= 2 </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">M = M &#8211; 1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Else</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">S = S &#8211; 1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">M</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = 12<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case Else</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
&#8216;اگر تعداد روزهای کاهش بیشتر از  یک سال باشد<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">S</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">S &#8211; 1</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Subtract = Subtract &#8211; IIf(K = 0,  365, 366</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Select</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Wend</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">SubtractDay = (S * 10000) + (M *  100) + (R</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)</p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Function</span></p>
<p></span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.irandevelopers.com/programming/shamsidateaccess8710281854-1245/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>صدور پیغامهای فارسی بجای پیغامهای Error اکسس</title>
		<link>http://www.irandevelopers.com/programming/showpersianmsgaccess8710281852-1243/</link>
		<comments>http://www.irandevelopers.com/programming/showpersianmsgaccess8710281852-1243/#comments</comments>
		<pubDate>Sat, 17 Jan 2009 15:22:56 +0000</pubDate>
		<dc:creator>حمید آزادی اردکانی</dc:creator>
				<category><![CDATA[اکسس میکروسافت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[پایگاه های داده و بانکهای اطلاعاتی]]></category>

		<guid isPermaLink="false">http://www.irandevelopers.com/?p=1243</guid>
		<description><![CDATA[یکی از دوستان وبلاگی من پرسیده بود چطوری پیغام Error مربوط به ورود رکورد تکراری را در اکسس فارسی کنیم . ترجیح دادم جواب کاملی برای سئوال ایشون بدم تا همه استفاده کنن. بنابراین ابتدا جواب ایشون رو میدم و بعد از اون بطور کاملتر برای همه وبلاگی های عزیز روش کنترل خطا را تشریح [...]]]></description>
			<content:encoded><![CDATA[<div class="txt">
<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">یکی از دوستان وبلاگی من  پرسیده بود چطوری پیغام </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Error</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> مربوط به ورود رکورد تکراری را در اکسس فارسی کنیم . ترجیح دادم  جواب کاملی برای سئوال ایشون بدم تا همه استفاده کنن. بنابراین ابتدا جواب ایشون رو  میدم و بعد از اون بطور کاملتر برای همه وبلاگی های عزیز روش کنترل خطا را تشریح می  کنم .</p>
<p>(توجه داشته باشید که در زیر کدهای نوشته شده از راست به چپ نمایش  داده می شوند)</p>
<p>جواب دوست ما:<br />
در رویداد </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">OnError</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> مربوط به فرم ورود اطلاعات این کد را می نویسیم:</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr"></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr"> </span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; unicode-bidi: embed; text-align: left;" dir="rtl" align="right"><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If  DataErr</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = 3022 </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">MsgBox</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &#8220;اطلاعات وارده تکراری است&#8221;<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Response</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">acDataErrContinue</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End If</span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
جواب کلی :<br />
اساسا ،  هر خطا در اکسس یا </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">VB</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> یک کد تولید می کند . برنامه نویسان باید یک بانک اطلاعات از کد  خطاهایی که رخ می دهد داشته باشند تا بتوانند با چک کردن شماره خطا پیغام فارسی  مناسب آن خطا را صادر کنند .</p>
<p>بطور کلی دو روش کنترل خطا از این  قرارند:</p>
<p>۱- اگر خطا مربوط به کل فرم باشد باید از طریق رویداد </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">OnError</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> فرم کنترل شود .<br />
معمولا خطاهایی که مربوط به کدنویسی ما نبوده و  صرفا توسط اکسس و در واکنش به اشتباهات کاربر صادر می شود در این رویداد کنترل می  شود . در این رویداد ، پارامتر </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">DataErr</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> حاوی کد خطاست. (بعبارت واضح تر اگر می خواهید کد مربوط به هر </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Error</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> را شناسایی کنید می توانید این دستور در رویداد </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">OnError</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> فرم بنویسید: </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">MsgBox DataErr</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> )</p>
<p>بطور کلی بعد از اینکه کد خطاها را شناسایی کردید با  نوشتن قالب برنامه زیر در رویداد </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">OnError</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> فرم می توانید خطاها را کنترل کنید :</p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr"></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; unicode-bidi: embed; text-align: left;" dir="rtl" align="right"><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dim Str as  String</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Select Case</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">DataErr</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 3022</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Str</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">=&#8221;اطلاعات وارده تکراری است&#8221;<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case 2237</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Str</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = &#8220;اطلاعات وارده در لیست وجود ندارد&#8221;<br />
&#8216;خط فوق برای مواردی است  که یک مقداری که در کمبو باکس وجود ندارد ، تایپ شده باشد<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Case</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &#8230;<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Str</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">=&#8230;<br />
&#8230;.<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Select</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Msgbox Str</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Response =  acDataErrContinue</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr"></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">2- اگر خطا مربوط به کدهایی باشد که خودمان در یک </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sub</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> نوشته ایم :<br />
در این روش باید در ابتدای </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sub</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> با دستور : &lt;اسم زیر روال کنترل خطا&gt; </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">On Error Goto</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> ، کنترل خطا را به یک روال کنترل خطا ارجاع دهیم.<br />
( تمام  کدهایی که ویزارد </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Command Button</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> بطور خودکار در رویداد </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">OnClick</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> دکمه ها ایجاد می کند نمونه خوبی برای این روش هستند. ضمنا در این  روش بکمک </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Err.Number</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> کد خطا شناسایی می شود )</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr"></span></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.irandevelopers.com/programming/showpersianmsgaccess8710281852-1243/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>بستن دکمه شیفت در اکسس</title>
		<link>http://www.irandevelopers.com/programming/disableshiftkeymsaccess8710281821-1241/</link>
		<comments>http://www.irandevelopers.com/programming/disableshiftkeymsaccess8710281821-1241/#comments</comments>
		<pubDate>Sat, 17 Jan 2009 15:21:51 +0000</pubDate>
		<dc:creator>حمید آزادی اردکانی</dc:creator>
				<category><![CDATA[اکسس میکروسافت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[پایگاه های داده و بانکهای اطلاعاتی]]></category>

		<guid isPermaLink="false">http://www.irandevelopers.com/?p=1241</guid>
		<description><![CDATA[در این یادداشت روش غیرفعال کردن دکمه Shift به هنگام باز شدن فایلهای اکسس را توضیح خواهم داد . در ابتدا باید مقدمه ای را عنوان کنم. مقدمه مطلب زیر در زمینه افزایش امنیت سیستم ها است. نکته ای که در زمینه امنیت هر نوع سیستمی باید به آن توجه داشت اینست که بطور کلی [...]]]></description>
			<content:encoded><![CDATA[<div class="txt">
<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">در این یادداشت <strong>روش  غیرفعال کردن دکمه </strong></span><strong><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Shift</span></strong><strong><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> به هنگام باز شدن فایلهای اکسس </span></strong><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">را توضیح خواهم داد . در ابتدا باید  مقدمه ای را عنوان کنم.</p>
<p><strong>مقدمه</strong><br />
مطلب زیر در زمینه افزایش امنیت  سیستم ها است. نکته ای که در زمینه <strong>امنیت</strong> هر نوع سیستمی باید به آن توجه  داشت اینست که بطور کلی <strong>امنیت یک امر نسبی است . </strong><br />
بعبارت دیگر یک راه حل  امنیتی ، قطعا جلوی بسیاری از حملات علیه سیستم را خواهد گرفت ولی هیچگاه بطور کامل  حملات را خنثی نخواهد کرد و همیشه حفره های امنیتی وجود خواهند داشت .<br />
در  یادداشت قبل گفتیم که به هنگام باز شدن فایلهای اکسس، </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Startup</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> اجراء می شود . به کمک گزینه های </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Startup</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> می توانیم از دسترسی کاربران به محیط طراحی برنامه جلوگیری کنیم .  ولی همانطور که قبلا گفته شد میکرو سافت با انگیزه ایجاد سیستم امنیتی چند مرحله ای  یک روش ضد امنیتی برای آن ایجاد کرده است و کاربران برنامه ما می توانند با پایین  نگه داشتن دکمه </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Shift</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> از اجراء </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Startup</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> جلوگیری کنند و وارد محیط طراحی شوند . حال اگر بخواهیم دکمه شیفت  را غیر فعال کنیم تا کسی نتواند وارد محیط طراحی شود باید به این طریق عمل کرد  :</p>
<p>استفاده از خاصیت </span><strong><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">AllowByPassKey</span></strong><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
خاصیت </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">AllowByPassKey</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> یکی از خواص شیء </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Database</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> است که:<br />
اگر مقدار آن </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">True</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> باشد دکمه شیفت فعال است .<br />
و اگر مقدار آن </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">False</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> باشد دکمه شیفت غیر فعال است .</p>
<p>این خاصیت عملا در لیست خواص  یک </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Database</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> نیست و باید آنرا فقط برای اولین بار ایجاد (</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Create</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">) کرد . بعد از ایجاد آن می توان مقدار آنرا </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">False</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> یا </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">True</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> کرد .</p>
<p>تذکر : <strong>حتما یک کپی از فایل خودتان قبل از اجراء  این برنامه بردارید </strong>چون ممکن است دیگر نتوانید وارد محیط برنامه خودتان شوید .  من هم با عرض معذرت وقت پاسخگویی به ایمیل های دوستان را ندارم و دچار مشکل خواهید  شد.</p>
<p>سه دکمه روی یک فرم مطابق شکل بالا ایجاد کنید و کدهای زیر را در آن  بنویسد.<br />
(نمایش کدهای نوشته شده مناسب نیست ولی اگر آنرا در حافظه کپی کنید و در  ماجول فرمتان کپی کند بدرستی تمایش داده می شود .)</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr"></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; unicode-bidi: embed; text-align: left;" dir="rtl" align="right"><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p>&#8216;برای اولین دفعه  :<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Private  Sub</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Create_Click</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">()<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">On Error GoTo Er</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dim db As  Database</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dim prp As</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Property</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Set db = CurrentDb</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Set prp =  db.CreateProperty(&#8220;allowbypasskey</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">&#8220;, </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">dbBoolean, False</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">)<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">db.Properties.Append prp</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">db.Close</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Ex</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">:<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Exit</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sub</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Er</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">:<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">If Err.Number = 3367  Then</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">MsgBox</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> &#8220;این خاصیت ایجاد شده و لازم نیست مجددا ایجاد  شود&#8221;<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End  If</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Resume Ex</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p></span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End Sub</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p>&#8216;جهت غیر فعال کردن  شیفت<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Private  Sub ShiftNo_Click</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">()<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dim db As Database</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Set db</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">CurrentDb</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">db.Properties(&#8220;allowbypasskey&#8221;) =  False</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">db.Close</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sub</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"></p>
<p>&#8216;جهت فعال کردن  شیفت<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Private  Sub ShiftOk_Click</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">()<br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Dim db As</span><span style="font-size: 9pt; font-family: Tahoma;"> </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Database</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Set db = CurrentDb</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">db.Properties(&#8220;allowbypasskey</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">&#8220;) = </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">True</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">db.Close</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">End Sub</span></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.irandevelopers.com/programming/disableshiftkeymsaccess8710281821-1241/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>تابع تبدیل عدد به حروف در اکسس</title>
		<link>http://www.irandevelopers.com/programming/addadtohorof8710281848-1237/</link>
		<comments>http://www.irandevelopers.com/programming/addadtohorof8710281848-1237/#comments</comments>
		<pubDate>Sat, 17 Jan 2009 15:20:07 +0000</pubDate>
		<dc:creator>حمید آزادی اردکانی</dc:creator>
				<category><![CDATA[اکسس میکروسافت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[پایگاه های داده و بانکهای اطلاعاتی]]></category>

		<guid isPermaLink="false">http://www.irandevelopers.com/?p=1237</guid>
		<description><![CDATA[مقدمه : در این یادداشت تابع مربوط به تبدیل عدد به معادل حروفی آن ارائه می کنم . عمدتا در سیستم های مالی و حسابداری نیاز است معادل حروفی اعداد هم نمایش داده شده یا چاپ شوند که توابع زیر این نیاز را پاسخ می دهد. مثلا برای چاپ یک چک روی خود برگه چک [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-family: Tahoma;"><span style="font-size: x-small;"><strong>مقدمه :<br />
</strong> در این یادداشت تابع  مربوط به تبدیل عدد به معادل حروفی آن ارائه می کنم . عمدتا در سیستم های مالی و  حسابداری نیاز است معادل حروفی اعداد هم نمایش داده شده یا چاپ شوند که توابع زیر  این نیاز را پاسخ می دهد. مثلا برای چاپ یک چک روی خود برگه چک ، علاوه بر نیاز به  چاپ مبلغ عددی چک لازمست تا مبلغ حروفی چک هم روی برگه چاپ شود.</span></span></p>
<p><strong>نحوه  استفاده از تابع :</strong><br />
تابع <strong>Adad</strong> که در زیر ارائه شده است یک عدد را  بعنوان ورودی گرفته و معادل حروفی آن عدد در زبان فارسی را بعنوان خروجی تولید می  کند. مثلا (Adad(1373 مقدار&#8221;یکهزار و سیصد و هفتاد و سه&#8221; را بعنوان خروجی تولید می  کند.برای استفاده از این توابع باید از چند خط پایین تر (Start of Module) تا  انتهای این یادداشت را در حافظه کپی (Copy) کرده و در یک ماجول جدید در اکسس یا VB  ، Paste کنید . ( توجه داشته باشید که نمایش کدهای نوشته شده در اینجا راست به چپ  است که پس از کپی کردن آن در ماجول اکسس بشکل صحیح نمایش داده خواهد شد)<br />
Function Adad(ByVal Number As Double) As String<br />
If Number = 0  Then<br />
Adad = &#8220;صفر&#8221;<br />
End If<br />
Dim Flag As Boolean<br />
Dim S As String<br />
Dim  I, L As Byte<br />
Dim K(1 To 5) As Double</p>
<p>S = Trim(Str(Number))<br />
L =  Len(S)<br />
If L &gt; 15 Then<br />
Adad = &#8220;بسیار بزرگ&#8221;<br />
Exit Function<br />
End  If<br />
For I = 1 To 15 &#8211; L<br />
S = &#8220;0&#8243; &amp; S<br />
Next I<br />
For I = 1 To Int((L /  3) + 0.99)<br />
K(5 &#8211; I + 1) = Val(Mid(S, 3 * (5 &#8211; I) + 1, 3))<br />
Next I<br />
Flag =  False<br />
S = &#8220;&#8221;<br />
For I = 1 To 5<br />
If K(I) &lt;&gt; 0 Then<br />
Select Case  I<br />
Case 1<br />
S = S &amp; Three(K(I)) &amp; &#8221; تریلیون&#8221;<br />
Flag = True<br />
Case  2<br />
S = S &amp; IIf(Flag = True, &#8221; و &#8220;, &#8220;&#8221;) &amp; Three(K(I)) &amp; &#8221;  میلیارد&#8221;<br />
Flag = True<br />
Case 3<br />
S = S &amp; IIf(Flag = True, &#8221; و &#8220;, &#8220;&#8221;)  &amp; Three(K(I)) &amp; &#8221; میلیون&#8221;<br />
Flag = True<br />
Case 4<br />
S = S &amp;  IIf(Flag = True, &#8221; و &#8220;, &#8220;&#8221;) &amp; Three(K(I)) &amp; &#8221; هزار&#8221;<br />
Flag =  True<br />
Case 5<br />
S = S &amp; IIf(Flag = True, &#8221; و &#8220;, &#8220;&#8221;) &amp;  Three(K(I))<br />
End Select<br />
End If<br />
Next I<br />
Adad = S<br />
End  Function</p>
<p>Function Three(ByVal Number As Integer) As String<br />
Dim S  As String<br />
Dim I, L As Long<br />
Dim h(1 To 3) As Byte<br />
Dim Flag As  Boolean<br />
L = Len(Trim(Str(Number)))<br />
If Number = 0 Then<br />
Three =  &#8220;&#8221;<br />
Exit Function<br />
End If<br />
If Number = 100 Then<br />
Three = &#8220;یکصد&#8221;<br />
Exit  Function<br />
End If</p>
<p>If L = 2 Then h(1) = 0<br />
If L = 1 Then<br />
h(1) =  0<br />
h(2) = 0<br />
End If</p>
<p>For I = 1 To L<br />
h(3 &#8211; I + 1) =  Mid(Trim(Str(Number)), L &#8211; I + 1, 1)<br />
Next I</p>
<p>Select Case h(1)<br />
Case  1<br />
S = &#8220;یکصد&#8221;<br />
Case 2<br />
S = &#8220;دویست&#8221;<br />
Case 3<br />
S = &#8220;سیصد&#8221;<br />
Case 4<br />
S  = &#8220;چهارصد&#8221;<br />
Case 5<br />
S = &#8220;پانصد&#8221;<br />
Case 6<br />
S = &#8220;ششصد&#8221;<br />
Case 7<br />
S =  &#8220;هفتصد&#8221;<br />
Case 8<br />
S = &#8220;هشتصد&#8221;<br />
Case 9<br />
S = &#8220;نهصد&#8221;<br />
End  Select</p>
<p>Select Case h(2)<br />
Case 1<br />
Select Case h(3)<br />
Case 0<br />
S = S  &amp; &#8221; و &#8221; &amp; &#8220;ده&#8221;<br />
Case 1<br />
S = S &amp; &#8221; و &#8221; &amp; &#8220;یازده&#8221;<br />
Case  2<br />
S = S &amp; &#8221; و &#8221; &amp; &#8220;دوازده&#8221;<br />
Case 3<br />
S = S &amp; &#8221; و &#8221; &amp;  &#8220;سیزده&#8221;<br />
Case 4<br />
S = S &amp; &#8221; و &#8221; &amp; &#8220;چهارده&#8221;<br />
Case 5<br />
S = S &amp; &#8221;  و &#8221; &amp; &#8220;پانزده&#8221;<br />
Case 6<br />
S = S &amp; &#8221; و &#8221; &amp; &#8220;شانزده&#8221;<br />
Case 7<br />
S  = S &amp; &#8221; و &#8221; &amp; &#8220;هفده&#8221;<br />
Case 8<br />
S = S &amp; &#8221; و &#8221; &amp; &#8220;هجده&#8221;<br />
Case  9<br />
S = S &amp; &#8221; و &#8221; &amp; &#8220;نوزده&#8221;<br />
End Select</p>
<p>Case 2<br />
S = S &amp;  &#8221; و &#8221; &amp; &#8220;بیست&#8221;<br />
Case 3<br />
S = S &amp; &#8221; و &#8221; &amp; &#8220;سی&#8221;<br />
Case 4<br />
S = S  &amp; &#8221; و &#8221; &amp; &#8220;چهل&#8221;<br />
Case 5<br />
S = S &amp; &#8221; و &#8221; &amp; &#8220;پنجاه&#8221;<br />
Case  6<br />
S = S &amp; &#8221; و &#8221; &amp; &#8220;شصت&#8221;<br />
Case 7<br />
S = S &amp; &#8221; و &#8221; &amp;  &#8220;هفتاد&#8221;<br />
Case 8<br />
S = S &amp; &#8221; و &#8221; &amp; &#8220;هشتاد&#8221;<br />
Case 9<br />
S = S &amp; &#8221;  و &#8221; &amp; &#8220;نود&#8221;<br />
End Select</p>
<p>If h(2) &lt;&gt; 1 Then<br />
Select Case  h(3)<br />
Case 1<br />
S = S &amp; &#8221; و &#8221; &amp; &#8220;یک&#8221;<br />
Case 2<br />
S = S &amp; &#8221; و &#8221;  &amp; &#8220;دو&#8221;<br />
Case 3<br />
S = S &amp; &#8221; و &#8221; &amp; &#8220;سه&#8221;<br />
Case 4<br />
S = S &amp; &#8221;  و &#8221; &amp; &#8220;چهار&#8221;<br />
Case 5<br />
S = S &amp; &#8221; و &#8221; &amp; &#8220;پنج&#8221;<br />
Case 6<br />
S = S  &amp; &#8221; و &#8221; &amp; &#8220;شش&#8221;<br />
Case 7<br />
S = S &amp; &#8221; و &#8221; &amp; &#8220;هفت&#8221;<br />
Case 8<br />
S  = S &amp; &#8221; و &#8221; &amp; &#8220;هشت&#8221;<br />
Case 9<br />
S = S &amp; &#8221; و &#8221; &amp; &#8220;نه&#8221;<br />
End  Select<br />
End If<br />
S = IIf(L &lt; 3, Right(S, Len(S) &#8211; 3), S)<br />
Three =  S<br />
End Function</p>
<p style="text-align: left;"><span style="font-family: Tahoma;"><span style="font-size: x-small;"><br />
</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.irandevelopers.com/programming/addadtohorof8710281848-1237/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>تعریف کلی از اکسسAccess</title>
		<link>http://www.irandevelopers.com/programming/introaccess8710281845-1235/</link>
		<comments>http://www.irandevelopers.com/programming/introaccess8710281845-1235/#comments</comments>
		<pubDate>Sat, 17 Jan 2009 15:15:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[اکسس میکروسافت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[پایگاه های داده و بانکهای اطلاعاتی]]></category>

		<guid isPermaLink="false">http://www.irandevelopers.com/?p=1235</guid>
		<description><![CDATA[تعریف کلی از اکسسAccess اکسس ابزاری برای تولید بانکهای اطلاعاتی رابطه ای است. بانکهای اطلاعاتی امکان گردآوری انواع اطلاعات را برای ذخیره ‌سازی ،جستجو و بازیابی فراهم می‌کند. اجزا بانک اطلاعاتی اکسس عبارتند از: DataBase: 1. Table 2. Query 3. Form 4. Report 5. Macros 6. Modules • ‏‏Table جدول ) هر جدول برای نگهداری [...]]]></description>
			<content:encoded><![CDATA[<div class="txt"><span style="font-family: Tahoma;"></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><strong><span style="font-size: 9pt; color: black; font-family: Tahoma;" lang="AR-SA">تعریف کلی  از اکسس</span></strong><strong><span style="font-size: 9pt; color: black; font-family: Tahoma;" dir="ltr">Access</span></strong><span style="font-size: 9pt; color: black; font-family: Tahoma;" dir="ltr"></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-size: 9pt; color: black; font-family: Tahoma;" lang="AR-SA">اکسس ابزاری  برای تولید بانکهای اطلاعاتی رابطه ای است. بانکهای اطلاعاتی امکان گردآوری انواع  اطلاعات را برای ذخیره ‌سازی ،جستجو و بازیابی فراهم می‌کند.</p>
<p><strong>اجزا بانک  اطلاعاتی اکسس عبارتند از:</strong></p>
<p></span><span style="font-size: 9pt; color: black; font-family: Tahoma;" dir="ltr">DataBase</span><span style="font-size: 9pt; color: black; font-family: Tahoma;" lang="AR-SA">:</p>
<p>1. </span><span style="font-size: 9pt; color: black; font-family: Tahoma;" dir="ltr">Table</span><span style="font-size: 9pt; color: black; font-family: Tahoma;" lang="AR-SA"><br />
2. </span><span style="font-size: 9pt; color: black; font-family: Tahoma;" dir="ltr">Query</span><span style="font-size: 9pt; color: black; font-family: Tahoma;" lang="AR-SA"><br />
3. </span><span style="font-size: 9pt; color: black; font-family: Tahoma;" dir="ltr">Form</span><span style="font-size: 9pt; color: black; font-family: Tahoma;" lang="AR-SA"><br />
4. </span><span style="font-size: 9pt; color: black; font-family: Tahoma;" dir="ltr">Report</span><span style="font-size: 9pt; color: black; font-family: Tahoma;" lang="AR-SA"><br />
5. </span><span style="font-size: 9pt; color: black; font-family: Tahoma;" dir="ltr">Macros</span><span style="font-size: 9pt; color: black; font-family: Tahoma;" lang="AR-SA"><br />
6. </span><span style="font-size: 9pt; color: black; font-family: Tahoma;" dir="ltr">Modules</span><span style="font-size: 9pt; color: black; font-family: Tahoma;" lang="AR-SA"></p>
<p>•  ‏‏</span><span style="font-size: 9pt; color: black; font-family: Tahoma;" dir="ltr">Table</span><span style="font-size: 9pt; color: black; font-family: Tahoma;" lang="AR-SA"> <img src='http://www.irandevelopers.com/wp-includes/images/smilies/icon_sad.gif' alt="icon sad تعريف كلي از اكسسAccess " class='wp-smiley' title="تعريف كلي از اكسسAccess " /> جدول ) هر جدول برای نگهداری داده‌های خام  بانک اطلاعاتی است.داده‌ها را شما در جدول وارد می‌کنید.جداول سپس این داده‌ها را  به شکل سطرها و ستونهایی سازماندهی میکند.</p>
<p>• </span><span style="font-size: 9pt; color: black; font-family: Tahoma;" dir="ltr">Query</span><span style="font-size: 9pt; color: black; font-family: Tahoma;" lang="AR-SA"> :هر پرس و جو برای استخراج اطلاعات مورد نظر  از یک بانک اطلاعاتی مورد استفاده قرار می‌گیردهر پرس و جو می‌تواند گروهی از  رکوردها را که شرایط خاص دارا هستند انتخاب کند.پرس و جوها را می‌توان بر اساس  جداول یا پرس و جوهای دیگر اماده نمود. با استفاده از پزس‌وجوها می‌توان رکوردهای  بانک اطلاعاتی را انتخاب کرد، تغییر داد و یا حذف نمود.</p>
<p>• </span><span style="font-size: 9pt; color: black; font-family: Tahoma;" dir="ltr">Form</span><span style="font-size: 9pt; color: black; font-family: Tahoma;" lang="AR-SA"> :متداولترین روش استفاده از فرمها،برای ورود  و نمایش داده‌ها است.</p>
<p>• </span><span style="font-size: 9pt; color: black; font-family: Tahoma;" dir="ltr">Report</span><span style="font-size: 9pt; color: black; font-family: Tahoma;" lang="AR-SA"> :گزارش ها می‌توانند بر اساس جدول ،پرس‌وجوها  باشند ،قابلیت گزارش چاپ داده‌ها می‌باشدگزارشها را می‌توان بر اساس چند جدول و  پرس‌وجو تهیه نمود تا رابطه بین داده‌ها را نشان داد.</p>
<p>• </span><span style="font-size: 9pt; color: black; font-family: Tahoma;" dir="ltr">Macro</span><span style="font-size: 9pt; color: black; font-family: Tahoma;" lang="AR-SA"> :ماکروها به خودکار کردن کارهای تکراری ،بدون  نوشتن برنامه‌های پیچیده یا فراگیری یک زبان برنامه نویسی ، یاری می‌کند، در واقع  ماکروها یکسری قابلیت‌هایی هستند که امکان سریع سازی را فراهم می‌سازند.</p>
<p>• </span><span style="font-size: 9pt; color: black; font-family: Tahoma;" dir="ltr">Modules</span><span style="font-size: 9pt; color: black; font-family: Tahoma;" lang="AR-SA"> : محیط بسیار قوی و با کیفیت برای  برنامه‌نویسی محاسبات و عملیات پیچیده روی سیستم بانک اطلاعاتی.</span><span style="font-size: 9pt; color: black; font-family: Tahoma;" dir="ltr"></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-size: 9pt; color: black; font-family: Tahoma;" dir="ltr"><span style="color: red;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-size: 9pt; color: black; font-family: Tahoma;" lang="AR-SA">الف ‌-  تعریف داده</span><span style="font-size: 9pt; color: black; font-family: Tahoma;" dir="ltr">Data</span><span style="font-size: 9pt; color: black; font-family: Tahoma;" lang="AR-SA"> :<br />
هرگونه اطلاعات لازم و کاربردی درباره  یک موجودیت را یک داده می‌گویند.</p>
<p>ب‌- تعریف </span><span style="font-size: 9pt; color: black; font-family: Tahoma;" dir="ltr">Fild</span><span style="font-size: 9pt; color: black; font-family: Tahoma;" lang="AR-SA"> :<br />
به هر ستون یک جدول که در بر گیرنده  کلیه اطلاعات مربوط به آن ستون می‌باشد و بخشی از یک موجودیت را تشگیل میدهد فیلد  گفته می‌شود.</p>
<p>ت‌- تعریف </span><span style="font-size: 9pt; color: black; font-family: Tahoma;" dir="ltr">Record</span><span style="font-size: 9pt; color: black; font-family: Tahoma;" lang="AR-SA"> :<br />
به هر سطر یک جدول که اطلاعات مربوط به  یک موجودیت را نشان می‌دهد ، رکورد گویند.</p>
<p>ث‌- تعریف پایگاه داده‌ای  ارتباطی:<br />
پایگاه داده‌های ارتباطی، مجموعه‌ای از جدول‌های داده است که یک فیلد  مشترک در هر یک از جدولهای موجود دارد و از طریق آن می‌توان داده‌ها را بهم ربط  داد.به این مدل از پایگاه داده‌ها ، پایگاه داده‌های ارتباطی </span><span style="font-size: 9pt; color: black; font-family: Tahoma;" dir="ltr">RelationShip</span><span style="font-size: 9pt; color: black; font-family: Tahoma;" lang="AR-SA"> می‌گویند.</span><span style="font-size: 9pt; color: black; font-family: Tahoma;" dir="ltr"></span></p>
<p></span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.irandevelopers.com/programming/introaccess8710281845-1235/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>معرفی ADO و کاربرد آن در ASP</title>
		<link>http://www.irandevelopers.com/programming/adouseasp8710281842-1231/</link>
		<comments>http://www.irandevelopers.com/programming/adouseasp8710281842-1231/#comments</comments>
		<pubDate>Sat, 17 Jan 2009 15:12:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[اس کیو ال سرور میکروسافت]]></category>
		<category><![CDATA[اکسس میکروسافت]]></category>
		<category><![CDATA[اینترنت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[تکنولوژی]]></category>
		<category><![CDATA[پایگاه های داده و بانکهای اطلاعاتی]]></category>

		<guid isPermaLink="false">http://www.irandevelopers.com/?p=1231</guid>
		<description><![CDATA[ارتباط ASP با بانک های اطلاعاتی از طریق واسطی بنام ADO انجام می گیرد. با استفاده از رابط فوق می توان به انواع داده های ذخیره شده بسادگی، در کمترین زمان و صرفا بکمک یک مسیر دستیابی پیدا کرد. به همین دلیل می توان ادعا کرد که ADO ساده ترین روشی است که تاکنون برای [...]]]></description>
			<content:encoded><![CDATA[<div class="txt">
<div class="txt"><span style="font-family: Tahoma;"> </span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><span style="font-size: 9pt;" lang="AR-SA">ارتباط </span><span style="font-size: 9pt;" dir="ltr">ASP</span><span style="font-size: 9pt;" lang="AR-SA"> با بانک های اطلاعاتی از طریق واسطی بنام </span><span style="font-size: 9pt;" dir="ltr">ADO</span><span style="font-size: 9pt;" lang="AR-SA"> انجام می گیرد. با استفاده از رابط فوق می  توان به انواع داده های ذخیره شده بسادگی، در کمترین زمان و صرفا بکمک یک مسیر  دستیابی پیدا کرد. به همین دلیل می توان ادعا کرد که </span><span style="font-size: 9pt;" dir="ltr">ADO</span><span style="font-size: 9pt;" lang="AR-SA"> ساده ترین روشی است که تاکنون برای ذخیره و بازیابی داده ها بوجود آمده  است.</span><span style="font-size: 9pt;" dir="ltr">ADO</span><span style="font-size: 9pt;" lang="AR-SA"> نسخه ۵ / ۲  دارای پنج شئ اساسی با نام : </span><span style="font-size: 9pt;" dir="ltr">Connection , Command, RecordSet</span><span style="font-size: 9pt;" lang="AR-SA"> , </span><span style="font-size: 9pt;" dir="ltr">Record , Stream</span><span style="font-size: 9pt;" lang="AR-SA"> است. دو شی </span><span style="font-size: 9pt;" dir="ltr">Record</span><span style="font-size: 9pt;" lang="AR-SA"> و </span><span style="font-size: 9pt;" dir="ltr">Stream</span><span style="font-size: 9pt;" lang="AR-SA"> در نسخه قبلی </span><span style="font-size: 9pt;" dir="ltr">ADO</span><span style="font-size: 9pt;" lang="AR-SA"> وجود نداشتند. در این مقاله به بررسی برخی از اشیاء عمده </span><span style="font-size: 9pt;" dir="ltr">ADO</span><span style="font-size: 9pt;" lang="AR-SA"> و  متدهای مربوطه آنها خواهیم پرداخت.</span><span style="font-size: 9pt;" dir="ltr"></span></span></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><strong><span style="font-size: 9pt;" lang="AR-SA">شئ </span></strong><strong><span style="font-size: 9pt;" dir="ltr">Connection</span></strong></span><span style="font-size: 9pt;" lang="AR-SA"><br />
<span style="color: #333333;">قبل از هر گونه ذخیره و بازیابی  داده ها از بانک اطلاعاتی می بایست با ایجاد و مقدار دهی اولیه یک </span></span><span style="color: #333333;"><span style="font-size: 9pt;" dir="ltr">Connection</span><span style="font-size: 9pt;" lang="AR-SA"> زمینه لازم جهت ارتباط با بانک اطلاعاتی را  بوجود آورد. در </span><span style="font-size: 9pt;" dir="ltr">ADO</span><span style="font-size: 9pt;" lang="AR-SA"> با استفاده از  شی </span><span style="font-size: 9pt;" dir="ltr">Connection</span><span style="font-size: 9pt;" lang="AR-SA"> یک ارتباط با  بانک اطلاعاتی ایجاد و پس از انجام عملیات دلخواه در رابطه با بانک اطلاعاتی و در  زمانیکه به وجود آن دیگر نیاز نباشد، می توان آن را حذف کرد. </span><span style="font-size: 9pt;" dir="ltr">Open</span><span style="font-size: 9pt;"> <span lang="AR-SA">کردن یک ارتباط به بانک اطلاعاتی پروژه ای واحد  با نام ( </span></span><span style="font-size: 9pt;" dir="ltr">ADODB(ActiveX  Data</span><span style="font-size: 9pt;"> </span><span style="font-size: 9pt;" dir="ltr">Objects Database</span><span style="font-size: 9pt;"> <span lang="AR-SA">بوده که خود شامل تمامی اشیاء </span></span><span style="font-size: 9pt;" dir="ltr">ADO</span><span style="font-size: 9pt;" lang="AR-SA"> است. برای  ایجاد یک </span><span style="font-size: 9pt;" dir="ltr">Connection</span><span style="font-size: 9pt;"> <span lang="AR-SA">نظیر سایر اشیاء </span></span><span style="font-size: 9pt;" dir="ltr">ASP</span><span style="font-size: 9pt;" lang="AR-SA"> از متد </span><span style="font-size: 9pt;" dir="ltr">Server.CreateObject</span><span style="font-size: 9pt;" lang="AR-SA"> استفاده می  گردد.</span></span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; line-height: 18pt; unicode-bidi: embed; text-align: left;" dir="rtl" align="right"><span style="font-size: 9pt; color: #333333; font-family: Tahoma;" dir="ltr"><span style="font-family: Tahoma;">Dim Conn<br />
Set Conn =  Server.CreateObject(&#8220;ADODB.Connection&#8221;)</span></span><span style="font-size: 9pt; color: #333333; font-family: Tahoma;" lang="AR-SA"></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><span style="font-size: 9pt;" lang="AR-SA">بصورت پیش فرض </span><span style="font-size: 9pt;" dir="ltr">Connection</span><span style="font-size: 9pt;" lang="AR-SA"> فقط خواندنی می باشند، شما می توانید وضعیت  فوق را تغییر داده و در صورت نیاز و بکمک صفات مربوط به شی فوق ارتباطاتی از نوع  خواندنی / نوشتنی و یا فقط نوشتنی ایجاد نمائید. در زمان استفاده از </span><span style="font-size: 9pt;" dir="ltr">ADO</span><span style="font-size: 9pt;" lang="AR-SA"> می توان از مجموعه ای ثوابت که دربردارنده  مقادیر متفاوتی برای آیتم های متفاوت می باشند و پیشاپیش تعریف شده اند استفاده  کرد. این ثوابت در فایلی با نام </span><span style="font-size: 9pt;" dir="ltr">Adovbs.inc</span><span style="font-size: 9pt;" lang="AR-SA"> قرار دارند. بمنظور استفاده از ثوابت فوق در  صفحات </span><span style="font-size: 9pt;" dir="ltr">ASP</span><span style="font-size: 9pt;" lang="AR-SA"> خود، می بایست  فایل فوق را بکمک دستور </span><span style="font-size: 9pt;" dir="ltr">Include</span><span style="font-size: 9pt;" lang="AR-SA"> به برنامه های خود ملحق نمائیم. </span><span style="font-size: 9pt;" dir="ltr"></span></span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; line-height: 18pt; unicode-bidi: embed; text-align: left;" dir="rtl" align="right"><span style="font-size: 9pt; color: #333333; font-family: Tahoma;" dir="ltr"><span style="font-family: Tahoma;">&lt;!&#8211; #INCLUDE  FILE=&#8221;adovbs.inc&#8221; &#8211;&gt;</span></span><span style="font-size: 9pt; color: #333333; font-family: Tahoma;" lang="AR-SA"></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><span style="font-size: 9pt;" lang="AR-SA">اگر فایل </span><span style="font-size: 9pt;" dir="ltr">adovbs.inc</span><span style="font-size: 9pt;" lang="AR-SA"> را توسط ادیتوری نظیر </span><span style="font-size: 9pt;" dir="ltr">Notepad</span><span style="font-size: 9pt;" lang="AR-SA"> فعال نمائید، ثوابت تعریف شده را بصورت  مجموعه ای از گروهها مشاهده خواهید کرد. پس از ایجاد یک </span><span style="font-size: 9pt;" dir="ltr">Connection</span><span style="font-size: 9pt;" lang="AR-SA"> با بانک اطلاعاتی می توان نوع ( </span><span style="font-size: 9pt;" dir="ltr">Mode</span><span style="font-size: 9pt;" lang="AR-SA"> ) ارتباط را بکمک استفاده از ثوابت تعریف شده  مشخص نمود. در صورتیکه بخواهیم از بانک اطلاعاتی صرفا اطلاعاتی را بخوانیم از ثابت </span><span style="font-size: 9pt;" dir="ltr">adModeRead</span><span style="font-size: 9pt;" lang="AR-SA"> ، فقط اطلاعاتی  را در بانک اطلاعاتی بنویسیم از ثابت </span><span style="font-size: 9pt;" dir="ltr">adoModeWrite</span><span style="font-size: 9pt;" lang="AR-SA"> و در نهایت در صورتیکه قصد داریم بطور همزمان  اطلاعاتی را از بانک اطلاعاتی خوانده و در آن اطلاعات جدیدی را نیز بنویسیم از ثابت </span><span style="font-size: 9pt;" dir="ltr">adoModeReadWrite</span><span style="font-size: 9pt;"> <span lang="AR-SA">استفاده می گردد. توصیه می  گردد با توجه به نوع رفتاری که با بانک اطلاعاتی خواهیم داشت آن را باز نمائیم  چراکه در صورتیکه صرفا قصد خواندن و یا نوشتن را در یک بانک اطلاعاتی داشته باشیم و  نخواهیم دو عملیات را با هم انجام دهیم، باز کردن بانک اطلاعاتی بصورت هم خواندنی و  هم نوشتنی ( </span></span><span style="font-size: 9pt;" dir="ltr">adoModeReadWrite</span><span style="font-size: 9pt;" lang="AR-SA"> ) سرعت دستیابی به بانک اطلاعاتی را کاهش  خواهد داد.</span><span style="font-size: 9pt;" dir="ltr"></span></span></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><strong><span style="font-size: 9pt;" dir="ltr"><span style="color: #333333;">ConnectionString</span></span></strong><span style="font-size: 9pt;" lang="AR-SA"><br />
<span style="color: #333333;">پس از تعیین </span></span><span style="color: #333333;"><span style="font-size: 9pt;" dir="ltr">Mode</span><span style="font-size: 9pt;" lang="AR-SA">، می بایست صفت </span><span style="font-size: 9pt;" dir="ltr">Connectionstring</span><span style="font-size: 9pt;" lang="AR-SA"> مربوط به شی </span><span style="font-size: 9pt;" dir="ltr">Connection</span><span style="font-size: 9pt;" lang="AR-SA"> را مقدار دهی  مناسب نمود. صفت فوق دارای چندین بخش بوده که می بایست مشخص گردند: نام </span><span style="font-size: 9pt;" dir="ltr">Provider</span><span style="font-size: 9pt;" lang="AR-SA">، نام سرویس  دهنده بانک اطلاعاتی، نام بانک اطلاعاتی که قصد استفاده از آن را دارید، </span><span style="font-size: 9pt;" dir="ltr">User Id</span><span style="font-size: 9pt;" lang="AR-SA"> لازم جهت اتصال  به بانک اطلاعاتی (</span><span style="font-size: 9pt;" dir="ltr">UID</span><span style="font-size: 9pt;" lang="AR-SA">)، رمز عبور  برای کاربرخاص ( </span><span style="font-size: 9pt;" dir="ltr">PWD</span><span style="font-size: 9pt;" lang="AR-SA"> ).</span></span></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><span style="font-size: 9pt;" lang="AR-SA">هر یک از بخش های فوق توسط  علامت &#8220;;&#8221; از هم جدا می شوند. مثلا در ساده ترین حالت می توانید از یک </span><span style="font-size: 9pt;" dir="ltr">Data Source Name</span><span style="font-size: 9pt;" lang="AR-SA"> یا </span><span style="font-size: 9pt;" dir="ltr">DSN</span><span style="font-size: 9pt;" lang="AR-SA"> یا  مربوط به </span><span style="font-size: 9pt;" dir="ltr">ODBC</span><span style="font-size: 9pt;" lang="AR-SA">، یک </span><span style="font-size: 9pt;" dir="ltr">User</span><span style="font-size: 9pt;"> </span><span style="font-size: 9pt;" dir="ltr">ID</span><span style="font-size: 9pt;" lang="AR-SA">، و  یک رمز عبور جهت اتصال به بانک اطلاعاتی استفاده نمائید. یک </span><span style="font-size: 9pt;" dir="ltr">DSN</span><span style="font-size: 9pt;" lang="AR-SA"> خود  شامل نام </span><span style="font-size: 9pt;" dir="ltr">Provider</span><span style="font-size: 9pt;" lang="AR-SA">، نام سرویس  دهنده بانک اطلاعاتی و نام بانک اطلاعاتی بوده و دیگر نیازی به مشخص نمودن مجدد  آنها نخواهد بود. به مثال زیر توجه فرمائید.</span></span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; line-height: 18pt; unicode-bidi: embed; text-align: left;" dir="rtl" align="right"><span style="font-size: 9pt; color: #333333; font-family: Tahoma;" dir="ltr"><span style="font-family: Tahoma;">Dim Conn<br />
Set Conn =  Server.Create0bject(&#8220;ADODB.Connection&#8221;)<br />
Conn.Mode =  adModeReadWrite<br />
Conn.ConnectionString =  &#8220;DSN=myDSN;UID=Javad;PWD=7474;&#8221;</span></span><span style="font-size: 9pt; color: #333333; font-family: Tahoma;" lang="AR-SA"></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: left;" dir="rtl" align="right"><span style="font-family: Tahoma;"><span style="color: #333333;"><span style="font-size: 9pt;" lang="AR-SA">روش فوق  بهترین حالت ایجاد یک ارتباط نیست زیرا </span><span style="font-size: 9pt;" dir="ltr">DSN</span><span style="font-size: 9pt;" lang="AR-SA"> بصورت پیش فرض از </span><span style="font-size: 9pt;" dir="ltr">MSDASQL  Provider</span><span style="font-size: 9pt;" lang="AR-SA"> استفاده می  کند. اما </span><span style="font-size: 9pt;" dir="ltr">JET OLEDB  Provider</span><span style="font-size: 9pt;" lang="AR-SA"> بمراتب سریعتر  و قابلیت های بیشتری را دارا است. بنابراین می توان جهت ارتباط با بانک اطلاعاتی  مطابق زیر عمل نمود:</span><span style="font-size: 9pt;" dir="ltr"></span></span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; line-height: 18pt; unicode-bidi: embed; text-align: left;" dir="rtl" align="right"><span style="font-size: 9pt; color: #333333; font-family: Tahoma;" dir="ltr"><span style="font-family: Tahoma;">Dim Conn, ConnStr<br />
ConnStr=  &#8220;PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=&#8221; +  Server.MapPath(Path2DB)<br />
Set Conn =  Server.CreateObject(&#8220;ADODB.Connection&#8221;)<br />
Conn.Mode =  adModeReadWrite<br />
Conn.ConnectionString = ConnStr</span></span><span style="font-size: 9pt; color: #333333; font-family: Tahoma;" lang="AR-SA"></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><span style="font-size: 9pt;" dir="ltr">ConnectionString</span><span style="font-size: 9pt;" lang="AR-SA"> شامل نام </span><span style="font-size: 9pt;" dir="ltr">Provider</span><span style="font-size: 9pt;" lang="AR-SA">، نام سرویس  دهنده بانک اطلاعاتی و نام بانک اطلاعاتی است. در مثال فوق از تابع </span><span style="font-size: 9pt;" dir="ltr">Server.MapPath</span><span style="font-size: 9pt;" lang="AR-SA"> برای ترجمه مسیر مجازی به مسیر واقعی استفاده  شده است. مثلا یک بانک اطلاعاتی موجود در</span><span style="font-size: 9pt;" dir="ltr">www.Test.com/test.mdb</span><span style="font-size: 9pt;" lang="AR-SA"> می تواند بصورت واقعی در مسیر </span><span style="font-size: 9pt;" dir="ltr">E:\web\Mydatabase\Test.mdb</span><span style="font-size: 9pt;" lang="AR-SA"> قرار گرفته  باشد. تابع </span><span style="font-size: 9pt;" dir="ltr">Server.MapPath</span><span style="font-size: 9pt;" lang="AR-SA"> آدرس نوع اول را به آدرس نوع دوم ترجمه خواهد  کرد. توجه داشته باشیم که شی </span><span style="font-size: 9pt;" dir="ltr">ADODB.Connection</span><span style="font-size: 9pt;" lang="AR-SA"> نیازمند آگاهی از مسیر واقعی بانک اطلاعاتی  است. فراموش نکنیم که قبل از باز نمودن </span><span style="font-size: 9pt;" dir="ltr">Connection</span><span style="font-size: 9pt;" lang="AR-SA">، تمامی تغییرات لازم بر روی صفت های مربوطه  اعمال گردد. در صورتیکه بخواهیم پس از ایجاد ارتباط با بانک اطلاعاتی یک یا چند صفت  مرتبط را تغییر دهیم، می بایست در ابتدا ارتباط خود را با بانک اطلا عاتی قطع  (</span><span style="font-size: 9pt;" dir="ltr">Connection</span><span style="font-size: 9pt;" lang="AR-SA">، بسته گردد) و  در ادامه تغییرات لازم را از طریق صفات مربوطه اعمال و مجددا </span><span style="font-size: 9pt;" dir="ltr">Connection</span><span style="font-size: 9pt;" lang="AR-SA"> را برقرار نمود.</span><span style="font-size: 9pt;" dir="ltr"></span></span></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><span style="font-size: 9pt;" lang="AR-SA">بمنظور باز نمودن یک </span><span style="font-size: 9pt;" dir="ltr">Connection</span><span style="font-size: 9pt;" lang="AR-SA"> از متد </span><span style="font-size: 9pt;" dir="ltr">Open</span><span style="font-size: 9pt;" lang="AR-SA"> مربوط به شئ </span><span style="font-size: 9pt;" dir="ltr">Connection</span><span style="font-size: 9pt;"> <span lang="AR-SA">استفاده می  گردد.</span></span></span></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><strong><span style="font-size: 9pt;" lang="AR-SA">متد </span></strong><strong><span style="font-size: 9pt;" dir="ltr">Connection.Open</span></strong></span><span style="font-size: 9pt;" lang="AR-SA"><br />
<span style="color: #333333;">در صورتیکه متد فوق بدون خطا اجرا  گردد، یک ارتباط کاری ( عملیاتی) با بانک اطلاعاتی ایجاد شده  است.</span></span></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><strong><span style="font-size: 9pt;" lang="AR-SA">متد </span></strong><strong><span style="font-size: 9pt;" dir="ltr">Connection.Execute</span></strong></span><span style="font-size: 9pt;" lang="AR-SA"><br />
<span style="color: #333333;">برای بازیابی داده ها  از یک بانک اطلاعاتی توسط </span></span><span style="color: #333333;"><span style="font-size: 9pt;" dir="ltr">ADO</span><span style="font-size: 9pt;" lang="AR-SA"> سه  روش عمده وجود دارد. تمامی آنها در مرحله اول نیاز به ارتباط با بانک اطلاعاتی  خواهند داشت. ساده ترین حالت استفاده از متد </span><span style="font-size: 9pt;" dir="ltr">Execute</span><span style="font-size: 9pt;" lang="AR-SA"> مربوط به شی </span><span style="font-size: 9pt;" dir="ltr">Connection</span><span style="font-size: 9pt;" lang="AR-SA"> است. متد فوق سه پارامتر را خواهد داشت:- یک  دستور </span><span style="font-size: 9pt;" dir="ltr">SQL</span><span style="font-size: 9pt;" lang="AR-SA">، یا </span><span style="font-size: 9pt;" dir="ltr">Query</span><span style="font-size: 9pt;" lang="AR-SA">، </span><span style="font-size: 9pt;" dir="ltr">Table</span><span style="font-size: 9pt;" lang="AR-SA">، </span><span style="font-size: 9pt;" dir="ltr">View</span><span style="font-size: 9pt;" lang="AR-SA"> یا نام یک </span><span style="font-size: 9pt;" dir="ltr">Stored Procedure</span><span style="font-size: 9pt;" lang="AR-SA"> که توسط پارامتر </span><span style="font-size: 9pt;" dir="ltr">CommandText</span></span><span style="font-size: 9pt;" lang="AR-SA"><span style="color: #333333;"> مشخص خواهد شد.<br />
• یک  متغیر با نام </span></span><span style="color: #333333;"><span style="font-size: 9pt;" dir="ltr">RecordsAffected</span><span style="font-size: 9pt;" lang="AR-SA">، که شامل تعداد رکوردهائی خواهد بود که با  توجه به </span><span style="font-size: 9pt;" dir="ltr">Query</span><span style="font-size: 9pt;" lang="AR-SA"> اجرا شده توسط  متد </span><span style="font-size: 9pt;" dir="ltr">Execute</span></span><span style="font-size: 9pt;" lang="AR-SA"><span style="color: #333333;"> مشخص می شود.<br />
• یک ثابت اختیاری با نام </span></span><span style="color: #333333;"><span style="font-size: 9pt;" dir="ltr">CommandTypeEnum</span><span style="font-size: 9pt;" lang="AR-SA"> که به بانک  اطلاعاتی خواهد گفت چه نوع عبارت و یا </span><span style="font-size: 9pt;" dir="ltr">Query</span><span style="font-size: 9pt;" lang="AR-SA"> را می خواهید اجرا نمائید و اینکه یک شی </span><span style="font-size: 9pt;" dir="ltr">Recordset</span><span style="font-size: 9pt;" lang="AR-SA"> را برگرداند یا  خیر.</span></span></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><span style="font-size: 9pt;" lang="AR-SA">پس از اجرای متد </span><span style="font-size: 9pt;" dir="ltr">Execute</span><span style="font-size: 9pt;" lang="AR-SA"> ( به هر روش  ممکن )، رکوردهای برگردانده شده در شئ </span><span style="font-size: 9pt;" dir="ltr">RecordSet</span><span style="font-size: 9pt;" lang="AR-SA"> برگردانده خواهند شد. در صورتیکه از دستور </span><span style="font-size: 9pt;" dir="ltr">SELECT</span><span style="font-size: 9pt;" lang="AR-SA"> استفاده شود  رکوردهای برگردانده شده در شی </span><span style="font-size: 9pt;" dir="ltr">RecordSet</span><span style="font-size: 9pt;" lang="AR-SA"> قرار خواهند گرفت. اما زمانیکه از دستورات </span><span style="font-size: 9pt;" dir="ltr">INSERT</span><span style="font-size: 9pt;" lang="AR-SA"> و یا </span><span style="font-size: 9pt;" dir="ltr">UPDATE</span><span style="font-size: 9pt;" lang="AR-SA"> استفاده گردد  رکوردی باز گردانده نخواهد شد.</span></span></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><strong><span style="font-size: 9pt;" lang="AR-SA">شئ </span></strong><strong><span style="font-size: 9pt;" dir="ltr">RecordSet</span></strong></span><span style="font-size: 9pt;" lang="AR-SA"><br />
<span style="color: #333333;">از شی </span></span><span style="color: #333333;"><span style="font-size: 9pt;" dir="ltr">RecordSet</span><span style="font-size: 9pt;" lang="AR-SA"> جهت نگهداری  رکوردها یا جدول دریافتی استفاده می گردد. این شئ نظیر یک جدول بانک اطلاعاتی دارای  سطرها و ستون هائی است. در حقیقت شئ فوق یک تصور مجازی از یک جدول خواهد داد و  بصورت فیزیکی یک جدول نیست. چراکه مقادیر مورد نظری که در ستون های این شئ قرار می  گیرد ممکن است حاصل ترکیب (</span><span style="font-size: 9pt;" dir="ltr">Join</span><span style="font-size: 9pt;" lang="AR-SA">) چندین جدول دیگر  باشند.</span></span></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><strong><span style="font-size: 9pt;" lang="AR-SA">متد </span></strong><strong><span style="font-size: 9pt;" dir="ltr">RecordSet.Open</span></strong></span><span style="font-size: 9pt;" lang="AR-SA"><br />
<span style="color: #333333;">در صورتیکه در هنگام استفاده از شئ </span></span><span style="color: #333333;"><span style="font-size: 9pt;" dir="ltr">RecordSet</span><span style="font-size: 9pt;" lang="AR-SA"> به هر نوع </span><span style="font-size: 9pt;" dir="ltr">Cursor</span><span style="font-size: 9pt;" lang="AR-SA"> ( اشاره گری به هر یک از سطرهای موجود در  جدول ) نیاز داشته باشید ( صرفا نه یک </span><span style="font-size: 9pt;" dir="ltr">Cursor</span><span style="font-size: 9pt;" lang="AR-SA"> که بصورت </span><span style="font-size: 9pt;" dir="ltr">Forward-Only</span><span style="font-size: 9pt;" lang="AR-SA"> و یا </span><span style="font-size: 9pt;" dir="ltr">Read-Only</span><span style="font-size: 9pt;" lang="AR-SA"> باشد ) می بایست به جای استفاده از متد </span><span style="font-size: 9pt;" dir="ltr">Execute</span><span style="font-size: 9pt;" lang="AR-SA"> مربوط به شی </span><span style="font-size: 9pt;" dir="ltr">Connection</span><span style="font-size: 9pt;" lang="AR-SA">، مستقیما بانک  اطلاعاتی را باز کنید. شئ </span><span style="font-size: 9pt;" dir="ltr">RecordSet</span><span style="font-size: 9pt;" lang="AR-SA"> نیز دارای متدی با نام </span><span style="font-size: 9pt;" dir="ltr">Open</span><span style="font-size: 9pt;" lang="AR-SA"> است که چندین پارامتر را بعنوان پارامتر اخذ  می کند.</span></span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; line-height: 18pt; unicode-bidi: embed; text-align: left;" dir="rtl" align="right"><span style="font-size: 9pt; color: #333333; font-family: Tahoma;" dir="ltr"><span style="font-family: Tahoma;">Recordset.Open  CommandText, Connection|ConnectionString, Cursor-Type, LockType,  Options</span></span><span style="font-size: 9pt; color: #333333; font-family: Tahoma;" lang="AR-SA"></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><span style="font-size: 9pt;" dir="ltr">CommandText</span><span style="font-size: 9pt;" lang="AR-SA"> شامل </span><span style="font-size: 9pt;" dir="ltr">SQL query</span><span style="font-size: 9pt;" lang="AR-SA"> بوده، </span><span style="font-size: 9pt;" dir="ltr">Connection|ConnectionString</span><span style="font-size: 9pt;" lang="AR-SA"> شامل یک رجوع  به شئ </span><span style="font-size: 9pt;" dir="ltr">Connection</span><span style="font-size: 9pt;" lang="AR-SA"> باز شده و یا  یک پارامتر معتبر </span><span style="font-size: 9pt;" dir="ltr">Connectionstring</span><span style="font-size: 9pt;" lang="AR-SA"> است. پارامتر </span><span style="font-size: 9pt;" dir="ltr">CursorType</span><span style="font-size: 9pt;" lang="AR-SA"> مقدار خود را از ثابتی با نام </span><span style="font-size: 9pt;" dir="ltr">adCursorTypeEnm</span><span style="font-size: 9pt;" lang="AR-SA"> مطابق زیر اخذ خواهد کرد:</span><span style="font-size: 9pt;" dir="ltr"></span></span></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-size: 9pt;" lang="AR-SA"><span style="font-family: Tahoma;"><span style="color: #333333;">• </span></span></span><span style="font-family: Tahoma;"><span style="color: #333333;"><strong><span style="font-size: 9pt;" dir="ltr">adopenForwardOnly</span></strong><strong><span style="font-size: 9pt;" lang="AR-SA">:</span></strong><span style="font-size: 9pt;" lang="AR-SA"> یک </span><span style="font-size: 9pt;" dir="ltr">Cursor</span><span style="font-size: 9pt;" lang="AR-SA"> که فقط امکان حرکت بسمت جلو را دارد، برمی  گرداند. ( پیش فرض). اگر نوع </span><span style="font-size: 9pt;" dir="ltr">Cursor</span><span style="font-size: 9pt;" lang="AR-SA"> را مشخص ننمائید، </span><span style="font-size: 9pt;" dir="ltr">ADO</span><span style="font-size: 9pt;" lang="AR-SA"> همواره </span><span style="font-size: 9pt;" dir="ltr">Cursor</span><span style="font-size: 9pt;" lang="AR-SA"> از این نوع را  بر می گرداند. همانگونه که از نام آن مشخص است، صرفا می توان بسمت جلو در شئ </span><span style="font-size: 9pt;" dir="ltr">RecordSet</span></span><span style="font-size: 9pt;" lang="AR-SA"><span style="color: #333333;"> حرکت نمود.<br />
• </span></span><span style="color: #333333;"><strong><span style="font-size: 9pt;" dir="ltr">AdOpenKeyset</span></strong><strong><span style="font-size: 9pt;" lang="AR-SA">:</span></strong><span style="font-size: 9pt;" lang="AR-SA"> یک </span><span style="font-size: 9pt;" dir="ltr">Cursor</span><span style="font-size: 9pt;" lang="AR-SA"> از نوع </span><span style="font-size: 9pt;" dir="ltr">Keyset</span><span style="font-size: 9pt;" lang="AR-SA"> را برمی گرداند. در چنین حالتی می توان جهت و  نوع حرکت را به هر نوع دلخواه انتخاب نمود (اولین رکورد، آخرین رکورد، بسمت جلو،  بسمت عقب&#8230;). سرویس دهنده برای هر یک از سطرهای موجود در شئ </span><span style="font-size: 9pt;" dir="ltr">RecordSet</span><span style="font-size: 9pt;" lang="AR-SA"> پس از اجرای </span><span style="font-size: 9pt;" dir="ltr">Query</span><span style="font-size: 9pt;" lang="AR-SA"> یک </span><span style="font-size: 9pt;" dir="ltr">Bookmark</span><span style="font-size: 9pt;" lang="AR-SA">، ایجاد می کند. این </span><span style="font-size: 9pt;" dir="ltr">Bookmark</span><span style="font-size: 9pt;" lang="AR-SA"> ها تا زمانیکه شئ </span><span style="font-size: 9pt;" dir="ltr">Recordset</span></span><span style="font-size: 9pt;" lang="AR-SA"><span style="color: #333333;"> حیات دارد تغییر نخواهند  کرد بنابراین در صورتی که یک رکورد جدید توسط کاربر دیگری در بانک اطلاعاتی در آن  زمان درج گردد، آن رکورد جدید برای ما قابل رؤیت نخواهد بود.<br />
• </span></span><span style="color: #333333;"><strong><span style="font-size: 9pt;" dir="ltr">adOpenDynamic</span></strong><strong><span style="font-size: 9pt;" lang="AR-SA">:</span></strong><span style="font-size: 9pt;" lang="AR-SA"> یک </span><span style="font-size: 9pt;" dir="ltr">Cursor</span><span style="font-size: 9pt;" lang="AR-SA"> پویا را برمی گرداند. این نوع </span><span style="font-size: 9pt;" dir="ltr">Cursor</span><span style="font-size: 9pt;" lang="AR-SA"> مشابه </span><span style="font-size: 9pt;" dir="ltr">Keyset</span><span style="font-size: 9pt;" lang="AR-SA"> است با این تفاوت که امکان مشاهده رکوردهای  جدید نیز وجود خواهد داشت. یک </span><span style="font-size: 9pt;" dir="ltr">Cursor</span><span style="font-size: 9pt;" lang="AR-SA"> پویا بصورت پیوسته رکوردهای جدید و یا تغییر  یافته را بررسی و حاصل را در شی </span><span style="font-size: 9pt;" dir="ltr">RecordSet</span></span><span style="font-size: 9pt;" lang="AR-SA"><span style="color: #333333;"> بصورت پویا منعکس خواهد  کرد.<br />
• </span></span><span style="color: #333333;"><strong><span style="font-size: 9pt;" dir="ltr">adOpenStatic</span></strong><strong><span style="font-size: 9pt;" lang="AR-SA">:</span></strong><span style="font-size: 9pt;" lang="AR-SA"> یک </span><span style="font-size: 9pt;" dir="ltr">Cursor</span><span style="font-size: 9pt;" lang="AR-SA"> ایستا بهمراه تعداد ثابتی از رکوردها را برمی  گرداند. در چنین حالتی تغییرات و درج رکوردهای جدید در بانک در همان لحظه مشاهده  نخواهد شد مگر اینکه مجددا درخواست بازیابی اطلاعات از بانک صادر  شود.</span></span></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><span style="font-size: 9pt;" lang="AR-SA">پارامتر </span><span style="font-size: 9pt;" dir="ltr">LockType</span><span style="font-size: 9pt;" lang="AR-SA">، به </span><span style="font-size: 9pt;" dir="ltr">ADO</span><span style="font-size: 9pt;" lang="AR-SA"> خواهد گفت که چگونه با مسئله </span><span style="font-size: 9pt;" dir="ltr">Lock</span><span style="font-size: 9pt;" lang="AR-SA"> در بانک اطلاعاتی رفتار نماید. در حالت کلی  می بایست برای اعمال تغییرات و یا درج رکوردهای جدید، پیش بینی های لازم را انجام  داد. چراکه </span><span style="font-size: 9pt;" dir="ltr">Lock</span><span style="font-size: 9pt;" lang="AR-SA"> ایجاد شده توسط  یک کاربر می تواند باعث بروز مسائلی برای سایر کاربران گردد. مقدار این پارامتر  مطابق زیر خواهد بود:</span></span></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><span style="font-size: 9pt;" lang="AR-SA">• </span><strong><span style="font-size: 9pt;" dir="ltr">adLockReadOnly</span></strong><strong><span style="font-size: 9pt;" lang="AR-SA">:</span></strong></span><span style="color: #333333;"><span style="font-size: 9pt;" lang="AR-SA"> فقط خواندنی، امکان تغییر داده ها وجود نخواهد  داشت.<br />
• </span><strong><span style="font-size: 9pt;" dir="ltr">adLockPessimistic</span></strong><strong><span style="font-size: 9pt;" lang="AR-SA">:</span></strong><span style="font-size: 9pt;" lang="AR-SA"> قویترین نوع </span><span style="font-size: 9pt;" dir="ltr">Lock</span><span style="font-size: 9pt;" lang="AR-SA"> است. رکوردهائی که بدین صورت </span><span style="font-size: 9pt;" dir="ltr">Lock</span><span style="font-size: 9pt;" lang="AR-SA"> خواهند شد توسط سایر کاربران قابل دستیابی  نخواهند بود. رکوردها زمانیکه سرویس دهنده آنها را برمی گرداند </span><span style="font-size: 9pt;" dir="ltr">Lock</span><span style="font-size: 9pt;" lang="AR-SA"> شده و تا زمانیکه شئ </span><span style="font-size: 9pt;" dir="ltr">RecordSet</span></span><span style="font-size: 9pt;" lang="AR-SA"><span style="color: #333333;"> وجود دارد، امکان  استفاده از این رکوردها برای سایرین وجود نخواهد داشت.<br />
• </span></span><span style="color: #333333;"><strong><span style="font-size: 9pt;" dir="ltr">adLockoptimistic</span></strong><strong><span style="font-size: 9pt;" lang="AR-SA">:</span></strong><span style="font-size: 9pt;" lang="AR-SA"> این نوع </span><span style="font-size: 9pt;" dir="ltr">Lock</span><span style="font-size: 9pt;" lang="AR-SA"> صرفا در زمان بهنگام سازی یک رکورد اعمال شده  و بلافاصله رکورد از حالت </span><span style="font-size: 9pt;" dir="ltr">Lock</span><span style="font-size: 9pt;" lang="AR-SA"> آزاد می گردد. بنابراین در مراحلی که لازم  است یک رکورد تغییر یابد می توان از این نوع </span><span style="font-size: 9pt;" dir="ltr">Lock</span><span style="font-size: 9pt;" lang="AR-SA"> استفاده کرد. و پس از اعمال تغییرات بصورت  اتوماتیک، </span><span style="font-size: 9pt;" dir="ltr">Lock</span></span><span style="font-size: 9pt;" lang="AR-SA"><span style="color: #333333;"> آزاد خواهد شد.<br />
• </span></span><span style="color: #333333;"><strong><span style="font-size: 9pt;" dir="ltr">AdLockBatchOptimistic</span></strong><strong><span style="font-size: 9pt;" lang="AR-SA">:</span></strong><span style="font-size: 9pt;" lang="AR-SA"> این نوع </span><span style="font-size: 9pt;" dir="ltr">Lock</span><span style="font-size: 9pt;" lang="AR-SA"> مشابه </span><span style="font-size: 9pt;" dir="ltr">Optimistic</span><span style="font-size: 9pt;" lang="AR-SA"> است با این  تفاوت که آنها برای بهنگام سازی </span><span style="font-size: 9pt;" dir="ltr">Batch</span><span style="font-size: 9pt;" lang="AR-SA"> مورد استفاده قرار می گیرند. در این حالت  مجموعه ای از رکوردها در یک مقطع زمانی بهنگام سازی خواهند شد ( بجای اینکه هر کورد  بهنگام سازی گردد ). با توجه به نوع نرم افزار طراحی شده و میزان محاوره ای بودن  آن، می توان تصمیم به استفاده از این نوع </span><span style="font-size: 9pt;" dir="ltr">Lock</span><span style="font-size: 9pt;" lang="AR-SA"> و یا </span><span style="font-size: 9pt;" dir="ltr">Optimistic</span><span style="font-size: 9pt;" lang="AR-SA"> نمود.</span></span></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><span style="font-size: 9pt;" lang="AR-SA">آخرین پارامتر متد </span><span style="font-size: 9pt;" dir="ltr">Recordset.Open</span><span style="font-size: 9pt;" lang="AR-SA">،  پارامتراختیاری </span><span style="font-size: 9pt;" dir="ltr">flag</span><span style="font-size: 9pt;" lang="AR-SA"> است. که نوع </span><span style="font-size: 9pt;" dir="ltr">Query</span><span style="font-size: 9pt;" lang="AR-SA"> را مشخص خواهد  کرد ( </span><span style="font-size: 9pt;" dir="ltr">Table,View,Stored  Procedure</span><span style="font-size: 9pt;" lang="AR-SA"> ).</span></span></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><strong><span style="font-size: 9pt;" lang="AR-SA">متد </span></strong><strong><span style="font-size: 9pt;" dir="ltr">Move</span></strong></span><span style="font-size: 9pt;" lang="AR-SA"><br />
<span style="color: #333333;">پس از باز نمودن یک شئ </span></span><span style="color: #333333;"><span style="font-size: 9pt;" dir="ltr">RecordSet</span><span style="font-size: 9pt;" lang="AR-SA">، با استفاده ازمتد </span><span style="font-size: 9pt;" dir="ltr">Move</span><span style="font-size: 9pt;" lang="AR-SA">، می توان در طول سطرهای موجود در شئ </span><span style="font-size: 9pt;" dir="ltr">RecordSet</span><span style="font-size: 9pt;" lang="AR-SA"> با توجه به نوع </span><span style="font-size: 9pt;" dir="ltr">cursor</span><span style="font-size: 9pt;"> <span lang="AR-SA">حرکت کرد. شئ </span></span><span style="font-size: 9pt;" dir="ltr">RecordSet</span><span style="font-size: 9pt;" lang="AR-SA"> دارای یک صفت  با نام </span><span style="font-size: 9pt;" dir="ltr">RecordCount</span><span style="font-size: 9pt;" lang="AR-SA"> بوده که تعداد  رکوردهای موجود در شئ </span><span style="font-size: 9pt;" dir="ltr">RecordSet</span><span style="font-size: 9pt;" lang="AR-SA"> را مشخص می کند. تصور کنید که شئ </span><span style="font-size: 9pt;" dir="ltr">RecordSet</span><span style="font-size: 9pt;" lang="AR-SA"> نظیر یک جدول  است با یک سطر خالی در ابتدا و یک سطر خالی در انتهای آن و اشاره گر ی که در هر  لحظه به یک رکورد اشاره می کند. در واقع با استفاده از متد </span><span style="font-size: 9pt;" dir="ltr">Move</span><span style="font-size: 9pt;" lang="AR-SA">، موقعیت اشاره گر فوق تغییر خواهد کرد (  اشاره گر حرکت خواهد کرد) . شئ </span><span style="font-size: 9pt;" dir="ltr">RecordSet</span><span style="font-size: 9pt;" lang="AR-SA"> دارای دو متد دیگر با نام </span><span style="font-size: 9pt;" dir="ltr">EOF</span><span style="font-size: 9pt;"> <span lang="AR-SA">و </span></span><span style="font-size: 9pt;" dir="ltr">BOF</span><span style="font-size: 9pt;" lang="AR-SA"> است  که زمان حضور اشاره گر در ابتدا و یا انتهای رکوردها را مشخص خواهند کرد. این دو  متد از نوع </span><span style="font-size: 9pt;" dir="ltr">Boolean</span><span style="font-size: 9pt;" lang="AR-SA"> ( درست /  نادرست ) هستند.</span></span></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><span style="font-size: 9pt;" dir="ltr">While NOT  RecordSet.EOF</span><span style="font-size: 9pt;"> <span lang="AR-SA">در این مقاله به بررسی برخی مثال های کاربردی از نحوه ارتباط </span></span><span style="font-size: 9pt;" dir="ltr">ASP</span><span style="font-size: 9pt;" lang="AR-SA"> و </span><span style="font-size: 9pt;" dir="ltr">ADO</span><span style="font-size: 9pt;" lang="AR-SA"> برای ایجاد وب  سایت های متکی بر بانک های اطلاعاتی خواهیم پرداخت. قبل از پرداختن به مثال های  مربوطه، در ابتدا لازم است که یک بانک اطلاعاتی نمونه بهمراه یک جدول را تعریف  کنیم. به کمک </span><span style="font-size: 9pt;" dir="ltr">Access</span><span style="font-size: 9pt;" lang="AR-SA"> (نوع نسخه آن  هر چیزی می تواند باشد) یک بانک اطلاعاتی با نام </span><span style="font-size: 9pt;" dir="ltr">Students.mdb</span><span style="font-size: 9pt;" lang="AR-SA"> ایجاد و در آن صرفا یک جدول با نام </span><span style="font-size: 9pt;" dir="ltr">Student</span><span style="font-size: 9pt;" lang="AR-SA"> که شامل  فیلدهای اطلاعاتی زیر است، را تعریف می کنیم.</span><span style="font-size: 9pt;" dir="ltr"></span></span></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><span style="font-size: 9pt;" dir="ltr">ID</span><span style="font-size: 9pt;" lang="AR-SA">: شماره  دانشجوئی یک دانشجو را در خود نگهداری خواهد کرد. فیلد فوق </span><span style="font-size: 9pt;" dir="ltr">Primary Key</span></span><span style="font-size: 9pt;" lang="AR-SA"><span style="color: #333333;"> خواهد  بود.<br />
</span></span><span style="color: #333333;"><span style="font-size: 9pt;" dir="ltr">FirstName</span></span><span style="font-size: 9pt;" lang="AR-SA"><span style="color: #333333;">: نام دانشجو را در خود  نگهداری خواهد کرد.<br />
</span></span><span style="color: #333333;"><span style="font-size: 9pt;" dir="ltr">LastName</span></span><span style="font-size: 9pt;" lang="AR-SA"><span style="color: #333333;">: نام خانوادگی دانشجو را  در خود ذخیره خواهد کرد.<br />
</span></span><span style="color: #333333;"><span style="font-size: 9pt;" dir="ltr">DateOfBirth</span></span><span style="font-size: 9pt;" lang="AR-SA"><span style="color: #333333;">: تاریخ تولد یک دانشجو  را در خود نگهداری کرد.<br />
</span></span><span style="color: #333333;"><span style="font-size: 9pt;" dir="ltr">Email</span><span style="font-size: 9pt;" lang="AR-SA">: آدرس پست الکترونیکی دانشجو را در خود ذخیره  خواهد کرد.</span></span></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><strong><span style="font-size: 9pt;" lang="AR-SA">مثال </span></strong><strong><span style="font-size: 9pt;" lang="FA">۱- </span></strong><strong><span style="font-size: 9pt;" lang="AR-SA">بازیابی اطلاعات از بانک  اطلاعاتی دانشجویان</span></strong></span><span style="font-size: 9pt;" lang="AR-SA"><br />
<span style="color: #333333;">در این مثال جهت ارتباط با بانک  اطلاعاتی از </span></span><span style="color: #333333;"><span style="font-size: 9pt;" dir="ltr">ODBC</span><span style="font-size: 9pt;" lang="AR-SA"> استفاده نشده است. برای بازیابی اطلاعات از  بانک اطلاعاتی فوق از </span><span style="font-size: 9pt;" dir="ltr">SQL  SELECT</span><span style="font-size: 9pt;" lang="AR-SA"> استفاده می  شود. متن برنامه بازیابی اطلاعات از بانک اطلاعاتی دانشجویان بصورت زیر  است.</span></span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; background: whitesmoke none repeat scroll 0% 0%; direction: rtl; line-height: 18pt; unicode-bidi: embed; text-align: left;" dir="rtl" align="right"><span style="font-size: 9pt; color: blue; font-family: Tahoma;" dir="ltr"><span style="font-family: Tahoma;">&lt;HTML&gt;<br />
&lt;HEAD&gt;&lt;TITLE&gt;Student  Records&lt;/TITLE&gt;&lt;/HEAD&gt;<br />
&lt;BODY&gt;<br />
&lt;%<br />
Dim DBSet DB =  Server.CreateObject (&#8220;ADODB.Connection&#8221;)<br />
DB.Open  (&#8220;PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=&#8221; +  &#8220;C:\MyDb\Students.mdb&#8221;)<br />
Dim RSSet RS = Server.CreateObject  (&#8220;ADODB.Recordset&#8221;)<br />
RS.Open &#8220;SELECT * FROM Students&#8221;, DB</p>
<p>If RS.EOF And  RS.BOF Then<br />
Response.Write &#8220;There are 0 records.&#8221;<br />
Else<br />
RS.MoveFirst<br />
While Not RS.EOF<br />
Response.Write RS.Fields  (&#8220;FirstName&#8221;)<br />
Response.Write RS.Fields (&#8220;LastName&#8221;)<br />
Response.Write RS.Fields (&#8220;Email&#8221;)<br />
Response.Write  &#8220;&lt;HR&gt;&#8221;<br />
RS.MoveNext<br />
Wend<br />
End  If<br />
%&gt;<br />
&lt;/BODY&gt;<br />
&lt;/HTML&gt;</span></span><span style="font-size: 9pt; color: blue; font-family: Tahoma;" lang="AR-SA"></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><strong><span style="font-size: 9pt;" lang="AR-SA">مثال </span></strong><strong><span style="font-size: 9pt;" lang="FA">۲- </span></strong><strong><span style="font-size: 9pt;" lang="AR-SA">افزودن یک رکورد  جدید</span></strong></span><span style="font-size: 9pt;" lang="AR-SA"><br />
<span style="color: #333333;">در این مثال رکوردهای جدید را در بانک اطلاعاتی دانشجویان ذخیره  خواهیم کرد. برای درج رکوردهای جدید در بانک اطلاعاتی می توان از </span></span><span style="color: #333333;"><span style="font-size: 9pt;" dir="ltr">INSERT  INTO</span><span style="font-size: 9pt;" lang="AR-SA"> استفاده کرد.  یکی دیگر از روش های درج رکورد در بانک اطلاعاتی استفاده از شئ </span><span style="font-size: 9pt;" dir="ltr">RecordSet</span><span style="font-size: 9pt;" lang="AR-SA"> است که بمراتب ساده تر مورد قبلی گفته شده  است. در مثال فوق برای درج رکوردها در بانک اطلاعاتی از مورد دوم استفاده شده است.  متن برنامه درج رکورد جدید در بانک اطلاعاتی دانشجویان بصورت زیر است.</span><span style="font-size: 9pt;" dir="ltr"></span></span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; background: whitesmoke none repeat scroll 0% 0%; direction: rtl; line-height: 18pt; unicode-bidi: embed; text-align: left;" dir="rtl" align="right"><span style="font-size: 9pt; color: blue; font-family: Tahoma;" dir="ltr"><span style="font-family: Tahoma;">&lt;HTML&gt;<br />
&lt;HEAD&gt;<br />
&lt;TITLE&gt;Student  Records&lt;/TITLE&gt;<br />
&lt;/HEAD&gt;<br />
&lt;BODY&gt;<br />
&lt;%<br />
Dim DBSet DB  = Server.CreateObject (&#8220;ADODB.Connection&#8221;)<br />
DB.Mode =  adModeReadWrite<br />
DB.Open (&#8220;PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=&#8221; +  C:\MyDb\Students.mdb&#8221;)<br />
Dim RSSet RS = Server.CreateObject  (&#8220;ADODB.Recordset&#8221;)<br />
RS.Open &#8220;Students&#8221;, DB, adOpenStatic,  adLockPessimistic<br />
RS.AddNew<br />
RS (&#8220;FirstName&#8221;) = &#8220;name&#8221;<br />
RS (&#8220;LastName&#8221;) =  &#8220;family&#8221;<br />
RS (&#8220;Email&#8221;) = &#8220;name @domain.com&#8221;<br />
RS (&#8220;DateOfBirth&#8221;) = CDate(&#8220;25  Mar, 2002&#8243;)<br />
RS.Update<br />
%&gt;<br />
&lt;/BODY&gt;<br />
&lt;/HTML&gt;</span></span><span style="font-size: 9pt; color: blue; font-family: Tahoma;" lang="AR-SA"></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><span style="font-size: 9pt;" lang="AR-SA">در مثال فوق رکورد دانشجوئی  با نام &#8220;</span><span style="font-size: 9pt;" dir="ltr">name</span><span style="font-size: 9pt;" lang="AR-SA">&#8221; و نام  خانوادگی &#8220;</span><span style="font-size: 9pt;" dir="ltr">family</span><span style="font-size: 9pt;" lang="AR-SA">&#8221; بهمراه آدرس  پست الکترونیکی مربوطه و تاریخ تولد آن در بانک اطلاعاتی دانشجویان درج خواهد شد.  اقلام اطلاعاتی مربوط به درج یک رکورد جدید را می توان با طراحی یک فرم از کاربران  اخذ و پس از تکمیل و ارسال فرم مربوطه، مقادیر متناظر در هر یک از فیلدهای موجود در  فرم اخذ اطلاعات به مقادیر مربوطه در بانک اطلاعاتی نسبت داده شود (کار بسیار ساده  ای است ! امتحان کنید).</span><span style="font-size: 9pt;" dir="ltr"></span></span></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><strong><span style="font-size: 9pt;" lang="AR-SA">مثال </span></strong><strong><span style="font-size: 9pt;" lang="FA">۳- </span></strong><strong><span style="font-size: 9pt;" lang="AR-SA">بهنگام سازی رکوردهای بانک  اطلاعاتی دانشجویان</span></strong></span><span style="font-size: 9pt;" lang="AR-SA"><br />
<span style="color: #333333;">در این مثال با نحوه بهنگام سازی  رکوردهای موجود در بانک اطلاعاتی دانشجویان آشنا خواهیم شد. متن برنامه بهنگام سازی  رکورد دانشجوئی در بانک اطلاعاتی دانشجویان بصورت زیر  است.</span></span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; background: whitesmoke none repeat scroll 0% 0%; direction: rtl; line-height: 18pt; unicode-bidi: embed; text-align: left;" dir="rtl" align="right"><span style="font-size: 9pt; color: blue; font-family: Tahoma;" dir="ltr"><span style="font-family: Tahoma;">&lt;HTML&gt;<br />
&lt;HEAD&gt;<br />
&lt;TITLE&gt;Student  Records&lt;/TITLE&gt;<br />
&lt;/HEAD&gt;<br />
&lt;BODY&gt;<br />
&lt;%<br />
Dim DBSet DB  = Server.CreateObject (&#8220;ADODB.Connection&#8221;)<br />
DB.Mode =  adModeReadWrite<br />
DB.Open (&#8220;PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=&#8221; +  &#8220;C:\MyDb\Students.mdb&#8221;)<br />
Dim RSSet RS = Server.CreateObject  (&#8220;ADODB.Recordset&#8221;)<br />
RS.Open &#8220;SELECT * FROM Students WHERE FirstName =  &#8221;name&#8221;, DB, adOpenStatic, adLockPessimistic<br />
RS (&#8220;Email&#8221;) =  &#8220;name@domain.com&#8221;<br />
RS (&#8220;DateOfBirth&#8221;) = CDate(&#8220;26 Mar,  2001&#8243;)<br />
RS.Update<br />
%&gt;<br />
&lt;/BODY&gt;<br />
&lt;/HTML&gt;</span></span><span style="font-size: 9pt; color: blue; font-family: Tahoma;" lang="AR-SA"></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><span style="font-size: 9pt;" lang="AR-SA">در برنامه فوق رکورد  دانشجوئی با نام &#8220;</span><span style="font-size: 9pt;" dir="ltr">name</span><span style="font-size: 9pt;" lang="AR-SA">&#8221; انتخاب و  فیلدهای آدرس پست الکترونیکی (</span><span style="font-size: 9pt;" dir="ltr">Email</span><span style="font-size: 9pt;" lang="AR-SA">) و تاریخ تولد (</span><span style="font-size: 9pt;" dir="ltr">DateIfBirth</span><span style="font-size: 9pt;" lang="AR-SA">) آن تغییر و حاصل مجددا در بانک اطلاعاتی  دانشجویان ثبت شده است.</span><span style="font-size: 9pt;" dir="ltr"></span></span></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><strong><span style="font-size: 9pt;" lang="AR-SA">مثال </span></strong><strong><span style="font-size: 9pt;" lang="FA">۴- </span></strong><strong><span style="font-size: 9pt;" lang="AR-SA">حذف یک  رکورد</span></strong></span><span style="font-size: 9pt;" lang="AR-SA"><br />
<span style="color: #333333;">در این مثال با نحوه حذف یک رکورد در بانک اطلاعاتی دانشجویان آشنا  خواهیم شد. متن برنامه حذف یک رکورد از بانک اطلاعاتی دانشجویان بصورت زیر  است.</span></span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; background: whitesmoke none repeat scroll 0% 0%; direction: rtl; line-height: 18pt; unicode-bidi: embed; text-align: left;" dir="rtl" align="right"><span style="font-size: 9pt; color: blue; font-family: Tahoma;" dir="ltr"><span style="font-family: Tahoma;">&lt;HTML&gt;<br />
&lt;HEAD&gt;<br />
&lt;TITLE&gt;Student  Records&lt;/TITLE&gt;<br />
&lt;/HEAD&gt;<br />
&lt;BODY&gt;<br />
&lt;%<br />
Dim DBSet DB  = Server.CreateObject (&#8220;ADODB.Connection&#8221;)<br />
DB.Mode =  adModeReadWrite<br />
DB.Open (&#8220;PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=&#8221; +  &#8220;C:\MyDb\Students.mdb&#8221;)<br />
DB.Execute (&#8220;DELETE * FROM Students WHERE FirstName =  &#8216;name&#8217;&#8221;)<br />
%&gt;<br />
&lt;/BODY&gt;<br />
&lt;/HTML&gt;</span></span><span style="font-size: 9pt; color: blue; font-family: Tahoma;" lang="AR-SA"></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><span style="font-size: 9pt;" lang="AR-SA">در مثال فوق رکورد دانشجوئی  با نام &#8220;</span><span style="font-size: 9pt;" dir="ltr">name</span><span style="font-size: 9pt;" lang="AR-SA">&#8221; از بانک  اطلاعاتی دانشجویان حذف شده است. در زمان حذف یک رکورد از بانک اطلاعاتی به دو نکته  مهم می بایست توجه کرد: اولا امکان معروف </span><span style="font-size: 9pt;" dir="ltr">Undo</span><span style="font-size: 9pt;" lang="AR-SA"> وجود ندارد. بنابراین رکوردی که حذف می گردد،  امکان برگرداندن آن وجود ندارد. ثانیا اگر در زمان اجرای </span><span style="font-size: 9pt;" dir="ltr">DELETE</span><span style="font-size: 9pt;" lang="AR-SA"> ، عبارت </span><span style="font-size: 9pt;" dir="ltr">WHERE</span><span style="font-size: 9pt;" lang="AR-SA"> حذف گردد، تمامی رکوردهای موجود در جدول حذف  خواهند گردید.</span><span style="font-size: 9pt;" dir="ltr"></span></span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; direction: rtl; line-height: 18pt; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><strong><span style="font-family: Times New Roman;">متدهای </span></strong><strong><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sort</span></strong><strong><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> و </span></strong><strong><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Search</span></strong><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"><br />
با استفاده از متدهای شئ </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">RecordSet</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">، می توان عملیات مرتب سازی (</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sort</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">) و جستجو (</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Search</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">) را انجام داد. برای مرتب سازی یک مجموعه از رکوردها نام فیلد مورد  نظری را که می خواهیم مرتب سازی بر اساس آن انجام شود را به صفت </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">Sort</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> نسبت خواهیم داد. مثلا اگر بخواهیم مجموعه ای از رکوردها را که  توسط اجرای </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">SELECT * FROM PhoneBook</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> برگردانده شده است را براساس نام خانوادگی (</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">LastName</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">) مرتب نمائیم، می توان دستور </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">RecordSet.Sort =  &#8220;LastName</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">&#8221; را استفاده کرد. برای مرتب سازی رکوردها براساس بیش از یک فیلد  بصورت </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">RecordSet.Sort</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA"> = &#8220;</span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">LastName, FirstName</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">&#8221; عمل می نمائیم. برای مرتب سازی رکوردها بصورت صعودی ( پیش فرض است  )، یا نزولی بصورت </span><span style="font-size: 9pt; font-family: Tahoma;" dir="ltr">RecordSet.Sort = &#8220;LastName,  FirstName DESC</span><span style="font-size: 9pt; font-family: Tahoma;" lang="AR-SA">&#8221; عمل می کنیم.</span><span style="font-size: 9pt; color: #333333; font-family: Tahoma;" dir="ltr"></span></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><span style="font-size: 9pt;" lang="AR-SA">برای جستجوی یک رکورد بخصوص  در بین مجموعه رکوردهای برگردانده شده از متد </span><span style="font-size: 9pt;" dir="ltr">Find</span><span style="font-size: 9pt;" lang="AR-SA"> شئ </span><span style="font-size: 9pt;" dir="ltr">RecordSet</span><span style="font-size: 9pt;" lang="AR-SA"> استفاده می گردد. شرط جستجو را بصورتی که در  یک </span><span style="font-size: 9pt;" dir="ltr">SQL Where</span><span style="font-size: 9pt;"> <span lang="AR-SA">است، مشخص خواهیم کرد و پس  از اجرای متد </span></span><span style="font-size: 9pt;" dir="ltr">Find</span><span style="font-size: 9pt;" lang="AR-SA">، شئ </span><span style="font-size: 9pt;" dir="ltr">RecordSet</span><span style="font-size: 9pt;" lang="AR-SA"> به اولین موردی  که پیدا کرده است اشاره خواهد کرد و در صورتیکه رکوردی پیدا نشود،</span><span style="font-size: 9pt;" dir="ltr">EOF</span><span style="font-size: 9pt;" lang="AR-SA"> ارزش درست را پیدا خواهد کرد. متد </span><span style="font-size: 9pt;" dir="ltr">Find</span><span style="font-size: 9pt;" lang="AR-SA"> بغیر از شرطی  که نظیر </span><span style="font-size: 9pt;" dir="ltr">SQL WHERE</span><span style="font-size: 9pt;" lang="AR-SA"> برای آن مشخص  می کنیم، می تواند دارای سه پارامتر اختیاری دیگر  باشد:</span></span></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><span style="font-size: 9pt;" lang="AR-SA">• </span><strong><span style="font-size: 9pt;" dir="ltr">SkipRecords</span></strong><strong><span style="font-size: 9pt;" lang="AR-SA">:</span></strong><span style="font-size: 9pt;" lang="AR-SA"> تعداد رکوردهائی را که می بایست قبل از عملیات جستجو،  صرفنظر (</span><span style="font-size: 9pt;" dir="ltr">Skip</span></span><span style="font-size: 9pt;" lang="AR-SA"><span style="color: #333333;">) نماید، مشخص خواهد کرد.<br />
• </span></span><span style="color: #333333;"><strong><span style="font-size: 9pt;" dir="ltr">SearchDirection</span></strong><strong><span style="font-size: 9pt;" lang="AR-SA">:</span></strong><span style="font-size: 9pt;" lang="AR-SA"> جهت حرکت جستجو در مجموعه رکوردها را مشخص خواهد کرد. </span><span style="font-size: 9pt;" dir="ltr">adSearchForward</span><span style="font-size: 9pt;" lang="AR-SA"> ( بسمت جلو)  ویا </span><span style="font-size: 9pt;" dir="ltr">adSearchBackward</span></span><span style="font-size: 9pt;" lang="AR-SA"><span style="color: #333333;">( از آخر بسمت اول )<br />
• </span></span><span style="color: #333333;"><strong><span style="font-size: 9pt;" dir="ltr">Start</span></strong><strong><span style="font-size: 9pt;" lang="AR-SA">:</span></strong><span style="font-size: 9pt;" lang="AR-SA"> تعداد  رکوردهائی را که می بایست برای جستجو شروع کرد مشخص می  کند.</span></span></span></p>
<p class="text" style="margin: auto 0in; direction: rtl; unicode-bidi: embed; text-align: right;" dir="rtl"><span style="font-family: Tahoma;"><span style="color: #333333;"><strong><span style="font-size: 9pt;" lang="AR-SA">شئ </span></strong><strong><span style="font-size: 9pt;" dir="ltr">Field</span></strong></span><span style="font-size: 9pt;" lang="AR-SA"><br />
<span style="color: #333333;">با اینکه تاکنون ما به شئ </span></span><span style="color: #333333;"><span style="font-size: 9pt;" dir="ltr">RecordSet</span><span style="font-size: 9pt;" lang="AR-SA"> بصورت یک جدول نگاه می کردیم، اما این صرفا  یک مدل فرضی برای راحتی تصور آن است. شئ </span><span style="font-size: 9pt;" dir="ltr">RecordSet</span><span style="font-size: 9pt;" lang="AR-SA"> در حقیقت شامل یک بردار دو بعدی از شئ </span><span style="font-size: 9pt;" dir="ltr">Field</span><span style="font-size: 9pt;" lang="AR-SA"> است. شئ </span><span style="font-size: 9pt;" dir="ltr">Field</span><span style="font-size: 9pt;" lang="AR-SA"> شامل داده است.  بنابراین هر شئ از این نوع دارای یک اندازه، یک مقدار و یک نوع بخصوص است. شئ فوق  همچنین دارای مجموعه ای از صفات است. در اکثر موارد شاید نیازی نباشد که با صفات و  متدهای شئ فوق مستقیما کار کنیم، اما مطالعه آنها برای موارد پیش بینی شده در طراحی  صفحات </span><span style="font-size: 9pt;" dir="ltr">ASP</span><span style="font-size: 9pt;" lang="AR-SA"> که قصد ارتباط  با بانک های اطلاعاتی از طریق </span><span style="font-size: 9pt;" dir="ltr">ADO</span><span style="font-size: 9pt;" lang="AR-SA"> را  دارند، توصیه می گردد.</span></span></span></p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.irandevelopers.com/programming/adouseasp8710281842-1231/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

