فروم تخصصی - پشتیبانی CPSD
ترفندهای اکسس - نسخه‌ی قابل چاپ

+- فروم تخصصی - پشتیبانی CPSD (http://cpsd.ir/forum)
+-- انجمن: آموزش (/forumdisplay.php?fid=9)
+--- انجمن: عمومی (/forumdisplay.php?fid=21)
+--- موضوع: ترفندهای اکسس (/showthread.php?tid=404)



ترفندهای اکسس - fns4565 - ۳ اسفند ۱۳۹۵ ۰۹:۴۶ صبح

ترفند هاي اكسس (1) : روش سه رقم ، سه رقم جدا كردن اعداد از يكديگر
از امروز به بعد قصد دارم در مورد ترفند هاي اكسس ( فوت هاي كوزه گري ) صحبت كنم . مي خواهيم ببينيم چگونه مي توان اعداد را سه رقم ، سه رقم از هم جدا كرد . همانطور كه قبلا گفته شد براي قالب اعداد جهت امور مالي و حسابداري كه ارقام بزرگي هستند حتما بايد نوع فيلد را Currency انتخاب كنيم . به هنگام طراحي جدول اگر فيلد را Currency انتخاب كنيم در پايين جدول و در بخش Format بايد دستور زير را بنويسيم . بعد از انجام اين عمل هر كجا از اين فيلد ، مثلا فيلد مبلغ كالا بخواهيد استفاده كنيد سيستم به صورت اتوماتيك ارقام را سه رقم ،سه رقم از يكديگر جدا خواهد كرد .

0##,#;0##,# دقت داشه باشيد كه ۰ نقطه نيست بلكه عدد صفر مي باشد

ترفند های اکسس (2) : اضافه کردن ستون ردیف در گزارشات اکسس
گاهی موارد در گزارشات نیاز است تا ستون ردیف داشته باشیم ، ایجاد ستون ردیف در گزارشات به صورت ذیل خواهد بود .
۱ـ روی گزارش مورد نظر کلیک راست کرده و Design View را انتخاب می کنیم تا گزارش در حالت طراحی باز شود .

۲ـ در گزارش یک تکست باکس به نام ردیف ایجاد کرده و در قسمت Detail آن ۱= را تایپ می کنیم.

۳ـ روی تکست باکس کیلک راست کرده و در بخش Data مقدار Running Sum را به Over All تغییر می دهیم .

۴ـ در پایان تغییرات را ذخیره کرده و با اجرای گزارش خواهید دید که ستون ردیف در گزارش ایجاد شده است.

ترفند هاي اكسس (3) : جلوگيري از نمايش گزارشات فاقد اطلاعات
اگر با گزارشات اكسس سر و كار داشته ايد به كرات مشاهده نموده ايد كه اكسس گزارشات فاقد اطلاعات رابه صورت يك صفحه خالي نمايش مي دهد. حال اگر شما بخواهيد اكسس گزارش هاي بدون اطلاعات را نمايش ندهد به صورت ذيل عمل نماييد :

در زبانه EVENT گزارش و در بخش ON NO DATA كدهاي ذيل را بنويسيد

" اطلاعاتي براي نمايش وجود ندارد"Msgbox

Cancel=True

حال اگر گزارش فاقد اطلاعاتي را اجرا كنيم سيستم پيام "اطلاعاتي براي نمايش وجود ندارد " را نشان خواهد داد .

ترفند هاي اكسس (4) : قرار دادن يك رديف پيش فرض در كمبو باكس
همانطور كه مي دانيد يكي از پركاربرد ترين كنترل ها در اكسس كمبو باكس مي باشد و در فرم ها به كرات مورد استفاده قرار مي گيرد . هر كمبو باكس از رديف هاي مختلفي تشكيل شده،حتما براي شما هم اين سوال پيش آمده كه چگونه مي توان به محض باز شدن فرم يك رديف كمبو باكس به صورت پيش فرض در فرم نمايش داده شود . براي مثال شما در فرمي كمبو باكسي به نام نوع ارز داريد و در آن ارز هاي مختلفي مثل ريال ، دلار ، يورو و ... وجود دارد كه شما مي توانيد آنها را انتخاب كنيد ولي در اكثر موارد ارز شما ريال خواهد بود و براي اين كه در هر فرم مجبور به انتخاب ريال نباشيد مي خواهيد با ترفندي همواره پيش فرض كمبو باكس نوع ارز ريال باشد براي اين كار به صورت ذيل عمل خواهيم كرد.

در بخش EVENT فرم و در قسمت ON OPEN كد هاي ذيل را بنويسيد .



Me.Comboname.Setfocus

Me. Comboname.Dropdown

Me.Comboname.Selected(3)=True

در قسمت Comboname نام كمبو باكس نوشته مي شود . اگر بخواهيم اولين رديف كمبو باكس انتخاب شود بايد به جاي ۳ عدد صفر را بنويسيم . در مثال فوق دومين رديف كمبو باكس در حالت پيش فرض قرار خواهد گرفت .

ترفند هاي اكسس (5) : رنگي كردن يكي در ميان سطر هاي گزارش
براي مرور بهتر گزارشات مي توان سطر هاي گزارش را يكي در ميان رنگي كرد . در اكسس ۲۰۰۷ بدون كد نويسي و به راحتي مي توان اين كار را انجام داد . ابتدا روي گزارش خود كليك راست كرده و گزينه Layout View را انتخاب كنيد . سپس در سمت چپ گزارش روي يكي از سطر هاي گزارش كليك كرده تا كل سطر انتخاب شود سپس از منوي بالاي صفحه نوع رنگ را انتخاب و به محض اينكه روي رنگ مورد نظر كليك كنيد سطر هاي گزارش يكي در ميان رنگي خواهند شد . البته با كد نويسي هم مي توان اين كار را انجام داد ولي هميشه بايد راه سريع و آسان را برگزيد . اين ترفند در اكسس ۲۰۰۷ به بعد قابل اجرا مي باشد و در اكسس ۲۰۰۳ قابل اجرا نمي باشد . البته همانطور كه گفتم اكسس ۲۰۰۳ را به فراموشي سپرده و همواره به روز باشيد .

ترفند هاي اكسس (6) : كنترل داده هاي ورودي بخش اول
فرم ها براي ورود اطلاعات به جداول مورد استفاده قرار مي گيرند و يكي از مهم ترين مباحث در فرم ها جلوگيري از ورود داده هاي غير استاندارد در جداول مي باشد لذا كنترل داده هاي ورودي امري بسيار مهم و حياتي مي باشد كه عدم توجه به آن باعث بروز مشكلات فراواني خواهد شد .

براي مثال در طراحي دفترچه تلفن شماره تلفن بايد ۸ رقم باشد حال اگر كاربر دقيقا ۸ رقم وارد نكند سيستم به صورت هوشمند بايد با اخطاري كاربر را از اين امر آگاه نمايد . همچنين اگر كاربر به جاي شماره تلفن كه عددي است حروف وارد كند سيستم بايد هشدار لازم را به كاربر داده و از پذيرش آن جلوگيري به عمل آورد .

منحصر كردن داده ورود در فرم هاي اكسس : فرمي داريم و تكست باكسي در آن قرار داده ايم مي خواهيم كاربر تنها مجاز به وارد كردن اعداد بوده و در صورت اشتباه سيستم با پيام مناسبي كاربر را اگاه نمايد . براي اين كار روي تكست باكس مورد نظر كليك راست كرده در بخش Even و قسمت On Exit كد هاي زير را مي نويسيم .

On Error Resume Next

If Isnumeric (text1.value)=False Then

"لطفا كد را به صورت عددي وارد نماييد "Msgbox

Cancel=true

Text1.Setfocus

Text1=Null

Endif


ترفند هاي اكسس (7) : كنترل داده هاي ورودي بخش دوم
در بخش قبل كمي در مورد كنترل داده ها در فرم هاي اكسس صحبت كرديم و در اين قسمت به ادامه آن خواهيم پرداخت . همانطور كه مي دانيد برخي داده ها در فرم ها الزامي بوده و برخي اختياري هستند . مثلا در فرم اطلاعات پرسنلي وارد كردن كد پرسنلي ، نام ، نام خانوادگي و كد ملي الزامي بوده ولي آدرس پست الكترونيكي شما اختياري مي باشد كه در اين جا بحث كنترل داده ها پيش مي آيد .

الزام كاربر به وارد كردن داده ها در فيلد هاي اكسس :

فرض كنيد فيلدي داريد به نام Text2 و مي خواهيد كاربر حتما در اين فيلد داده هاي خود را وارد كرده و در صورتي كه بخواهد فيلد را خالي بگذارد سيستم هشدار بدهد براي اين كار به روش ذيل عمل خواهيم كرد .

روي فيلد كليك راست كرده Properties را انتخاب كرده و در قسمت ويژگي هاي فيلد روي زبانه Event كليك كنيد . سپس در رويداد On Exit كد هاي ذيل را بنويسيد .

If Isnull(Text2)=True Then

"لطفا اطلاعات فيلد را وارد نماييد"Msgbox

Cancel=True

Endif

ترفند هاي اكسس (8) : تایپ فارسی در فیلد ها
برخی مواقع نیاز است که ما به محض وارد شدن در یک تکست باکس زبان پیش فرضمان فارسی باشد و کاربر مجبور به تغییر زبان از لاتین به فارسی نشود .برای مثال فیلد هایی مثل نام ، نام خانوادگی ، محل سکونت و غیره . برای این کار روی تکست باکس مورد نظر کلیک راست کرده و از زبانه Format گزینه آخر یعنی Keyboard Langue را به فارسی تغییر می دهیم در این حالت تکست باکس داده ها را به صورت فارسی دریافت خواهد کرد .