TAHA
11-22-2009, 08:11 PM
تقويم هجري شمسي در Access 2000
اگر استفاده از تقويم هجري شمسي در نرمافزار Access2000 فراهم نشود، كاربران فارسي زبان ناگزير به استفاده از انواع ديگر فيلدها براي نگهداري اطلاعات مربوط به تاريخ ميباشند. بنابراين، اگرچه كاربران با معرفي كردن فيلدهاي مختلفي (معمولا" از نوع Text) به هر حال نياز خود را مرتفع ميكنند، اما طبيعي است با فراهم شدن امكان استفاده از تاريخ شمسي، اينك ميتوان معرفي فيلدي از نوع تاريخ و از مزاياي مختلف اين نوع فيلد بهره برد.
برخي از مزاياي استفاده از فيلد نوع تاريخ (Date/Time) عبارتند از:
ورود و تصحيح اطلاعات مربوط به تاريخ در بازكردن معمولي جدولها:
اگر فيلد مربوط به تاريخ از نوع Text معرفي شده باشد، در ورود اطلاعات به هنگام بازكردن معمولي لازم است كاربر شخصا" اطلاعات را با فرمت قابل قبول وارد كند و از آنجا كه سيستم كنترلي بر روي اين فيلد نخواهد داشت ، طبيعتا" ممكن است تاريخ با شكلهاي اشتباه وارد شود. درصورتيكه اگر فيلد از نوع (Date/Time) باشد، كاربر به هيچ طريقي نميتواند اطلاعات نادرست را وارد كند.
استفاده از فرمتهاي مختلف براي تاريخ :
اگر فيلد مربوط به تاريخ را از نوع (Date/Time) باشد ميتوان تاريخ را با فرمتهاي مختلف بوجود آورد كه كاربر بطور دلخواه هر فرمتي را كه مناسب با سيستم خود بداند انتخاب ميكند و يا بوجود ميآورد.
همچنين براي كاربراني كه هيچ اطلاعي ازفرمت تعيين شده ندارند ميتوان فرمت را بطور پيشگزيده نشان داد تا كاربران ديگر از فرمت انتخاب شده اطلاع پيدا كنند و تاريخ را با همان فرمت وارد كنند.
عدم نياز به برنامهنويسي :
اگر فيلد مربوط به تاريخ از نوع Text معرفي شده باشد، هنگام وارد كردن اطلاعات اگر تاريخي با فرمت اشتباه وارد شود پيغام خطا نميدهد و اين باعث ميشود كه در يك سيستم فرمتهاي مختلف تاريخ پديدار شود كه باعث اشكالاتي در عمليات محاسباتي ميشود . براي جلوگيري از اين خطا كاربران ناگزير از كدهاي برنامهنويسي استفاده ميكردند، اما اگر فيلد مربوط به تاريخ از نوع Date/Time معرفي شود ، براي چك كردن درستي فيلدها و يا فرمت تاريخها لازم به برنامهنويسي نميباشد و تمام تاريخها با همان فرمتي كه تعيين ميشوند وارد ميشود و اگر اطلاعات وارد شده مطابق با فرمت تعيين شده نباشد پيغام خطا صادر ميشود.
چگونگي ذخيره سازي تاريخ در Access
بطور كلي براي تمامي تقويمها از قبيل ميلادي - هجري قمري - هجري شمسي و...، يك مبدا مشخص در نظر گرفته شده است كه اين مبدا يك عدد مشخص است كه بطور ثابت قرار داده شده است، تاريخهاي بعدي بر مبناي اين مبدا بدست ميآيند و براي هر تاريخ يك عدد مشخص در نظر گرفته ميشود.
بعنوان مثال اگر عدد0.0000 براي تاريخ 1960/01/01 در نظر گرفته شود براي تاريخ روز بعد 1960/01/02 عدد 1.0000 در نظر گرفته ميشود كه اين عدد بسته به فرمتهاي تاريخ ممكن است به تاريخ ميلادي و يا هجري قمري و شمسي اختصاص داده شود. اين روش اين امكان را براي ما فراهم ميكند كه بتوانيم تاريخهاي متفاوت را با اضافه و يا كم كردن به اين عدد بدست آوريم.
ايجاد يك فيلد تاريخ در برگه Tables
ابتدا در قسمت Design يك Table فيلدي را با نوع Date/Time بوجود ميآوريم، كه اين فيلد قابليتهاي مختلفي را براي بكار بردن تاريخ در سيستم بوجود ميآورد.
در قسمت Format قادر هستيم كه فرمتهاي مختلف را انتخاب كنيم و يا فرمت دلخواه را ايجاد كنيم، يكسري از فرمتها در International Panel ويندوز تعريف شده است كه بصورت آماده در Access نمايش داده ميشوند كه كاربر ميتواند فرمت مورد نظر خود را انتخاب كند و تاريخهايي كه به شكل عددي و يا متني وارد ميكنيم بايد به ترتيب سال و ماه و روز آن باشد ، اما اگر كاربر فرمت ديگري را در نظر داشته باشد ميتواند آن فرمت را به همان صورت در جلوي Format تايپ كرده و اطلاعات تاريخ خود را به همان شكل مشاهده كند.
در قسمت Input Mask ميتوانيم يك پيشگزيدهاي براي شكل وارد كردن اطلاعات بوجود آوريم، كه اگر كاربري با فرمت تعيين شده ما آشنايي نداشت بتواند به راحتي از طريق اين پيشگزيده اطلاعات تاريخ را وارد كند، در جلوي Input Mask هم ميتوانيم همان فرمت را انتخاب و يا ايجاد كنيم، بعنوان مثال در قسمت Open ميتوانيم تاريخها را در پيشفرض تعيين شده --/--/---- وارد كنيم كه اين پيشگزيده نشان دهنده فرمت انتخاب شده است، كه اگر اطلاعات تاريخ را بر اساس اين فرمت وارد نكنيم پيغام خطا صادر ميشود.
ايجاد فيلد تاريخ دربرگه Queries
در Query ابتدا جدول مورد نظررا انتخاب ميكنيم و سپس فيلد تاريخ را با نوع Date/Time به سمت پايين ميكشيم، در Query ميتوانيم از شرطهاي متفاوتي مناسب با سيستم استفاده كنيم. اين شرطها را در قسمت Criteria وارد ميكنيم كه Access2000 خودش بطور اتوماتيك در اطراف تاريخ وارد شده در شرط علامت # را قرار ميدهد.
براي برقرار كردن ارتباط بهتر با شرايط، بهتر است تاريخ مورد نظر را در تابع ()Cdate قرار دهيم .زمانيكه از تابع ()Cdate استفاده ميكنيم در اطراف تاريخ علامت " " قرار داده ميشود، بعنوان مثال اگر بخواهيم ليست اطلاعات ركوردها را براي تاريخهاي بزرگتر از يك تاريخ معين را نمايش دهيم به صورت زير عمل ميكنيم :
> Cdate (" 1378/06/01")
كه تمامي تاريخهاي بزرگتر از اين تاريخ را نشان ميدهد. و ساير شرايطي كه بسته به نياز كاربر بوجود ميآوريم.
ايجاد فيلد تاريخ در برگه Forms
ابتدا فرم را بر اساس جدول مورد نظر بوجود ميآوريم و فيلدهاي مورد نظر را انتخاب ميكنيم، همان فيلد تاريخ كه با نوع Date/Time معرفي كرده بوديم در فرم به همان صورت و با همان فرمت نمايش داده ميشود. حال اگر بخواهيم در فرم، فرمت اين تاريخ را تغيير دهيم در قسمت Properties آن فيلد جلوي قسمت Format فرمت دلخواه خود را تعيين ميكنيم .
در فرم ميتوانيم قابليت نمايش تاريخ سيستم را بوجود آوريم، به اين صورت كه ابتدا يك Text box در فرم بوجود ميآوريم و در قسمت Control Source آن Now= را تايپ ميكنيم كه تابع ()Now تاريخ و زمان سيستم را نشان ميدهد كه بطور اتوماتيك بر حسب تغيير تاريخ سيستم تغيير ميكند كه اين تاريخ هم ميتوانيم با فرمتهاي دلخواه نمايش دهيم.
همچنين از تابعهاي ()Date براي تاريخ سيستم و از ()Time براي زمان سيستم ميتوان استفاده كرد.
ايجاد فيلد تاريخ در برگه Reports
ابتدا Report را بر اساس جدول مورد نظر بوجود ميآوريم و فيلدهاي مورد نظر را انتخاب ميكنيم، Report قابليت گروه بندي بر اساس سال- ماه - روز در فيلد تاريخ را دارا ميباشد به اين صورت كه درReport Wizard دكمه Grouping Options را فشار ميدهيم و در قسمت Groping intervals ميتوانيم گروهبندي موردنظر خود را بوجود آوريم. مثلا" اگر Month را انتخاب كنيم كل تاريخها براساس ماه گروهبندي ميشوند و تاريخها در ماههاي مختلف بطور جداگانه نمايش داده ميشوند.
همچنين در قسمت پايين صفحه Report تاريخ سيستم بطور اتوماتيك نشان داده ميشود. منبع این مطلب سایت : آی تی ایران
اگر استفاده از تقويم هجري شمسي در نرمافزار Access2000 فراهم نشود، كاربران فارسي زبان ناگزير به استفاده از انواع ديگر فيلدها براي نگهداري اطلاعات مربوط به تاريخ ميباشند. بنابراين، اگرچه كاربران با معرفي كردن فيلدهاي مختلفي (معمولا" از نوع Text) به هر حال نياز خود را مرتفع ميكنند، اما طبيعي است با فراهم شدن امكان استفاده از تاريخ شمسي، اينك ميتوان معرفي فيلدي از نوع تاريخ و از مزاياي مختلف اين نوع فيلد بهره برد.
برخي از مزاياي استفاده از فيلد نوع تاريخ (Date/Time) عبارتند از:
ورود و تصحيح اطلاعات مربوط به تاريخ در بازكردن معمولي جدولها:
اگر فيلد مربوط به تاريخ از نوع Text معرفي شده باشد، در ورود اطلاعات به هنگام بازكردن معمولي لازم است كاربر شخصا" اطلاعات را با فرمت قابل قبول وارد كند و از آنجا كه سيستم كنترلي بر روي اين فيلد نخواهد داشت ، طبيعتا" ممكن است تاريخ با شكلهاي اشتباه وارد شود. درصورتيكه اگر فيلد از نوع (Date/Time) باشد، كاربر به هيچ طريقي نميتواند اطلاعات نادرست را وارد كند.
استفاده از فرمتهاي مختلف براي تاريخ :
اگر فيلد مربوط به تاريخ را از نوع (Date/Time) باشد ميتوان تاريخ را با فرمتهاي مختلف بوجود آورد كه كاربر بطور دلخواه هر فرمتي را كه مناسب با سيستم خود بداند انتخاب ميكند و يا بوجود ميآورد.
همچنين براي كاربراني كه هيچ اطلاعي ازفرمت تعيين شده ندارند ميتوان فرمت را بطور پيشگزيده نشان داد تا كاربران ديگر از فرمت انتخاب شده اطلاع پيدا كنند و تاريخ را با همان فرمت وارد كنند.
عدم نياز به برنامهنويسي :
اگر فيلد مربوط به تاريخ از نوع Text معرفي شده باشد، هنگام وارد كردن اطلاعات اگر تاريخي با فرمت اشتباه وارد شود پيغام خطا نميدهد و اين باعث ميشود كه در يك سيستم فرمتهاي مختلف تاريخ پديدار شود كه باعث اشكالاتي در عمليات محاسباتي ميشود . براي جلوگيري از اين خطا كاربران ناگزير از كدهاي برنامهنويسي استفاده ميكردند، اما اگر فيلد مربوط به تاريخ از نوع Date/Time معرفي شود ، براي چك كردن درستي فيلدها و يا فرمت تاريخها لازم به برنامهنويسي نميباشد و تمام تاريخها با همان فرمتي كه تعيين ميشوند وارد ميشود و اگر اطلاعات وارد شده مطابق با فرمت تعيين شده نباشد پيغام خطا صادر ميشود.
چگونگي ذخيره سازي تاريخ در Access
بطور كلي براي تمامي تقويمها از قبيل ميلادي - هجري قمري - هجري شمسي و...، يك مبدا مشخص در نظر گرفته شده است كه اين مبدا يك عدد مشخص است كه بطور ثابت قرار داده شده است، تاريخهاي بعدي بر مبناي اين مبدا بدست ميآيند و براي هر تاريخ يك عدد مشخص در نظر گرفته ميشود.
بعنوان مثال اگر عدد0.0000 براي تاريخ 1960/01/01 در نظر گرفته شود براي تاريخ روز بعد 1960/01/02 عدد 1.0000 در نظر گرفته ميشود كه اين عدد بسته به فرمتهاي تاريخ ممكن است به تاريخ ميلادي و يا هجري قمري و شمسي اختصاص داده شود. اين روش اين امكان را براي ما فراهم ميكند كه بتوانيم تاريخهاي متفاوت را با اضافه و يا كم كردن به اين عدد بدست آوريم.
ايجاد يك فيلد تاريخ در برگه Tables
ابتدا در قسمت Design يك Table فيلدي را با نوع Date/Time بوجود ميآوريم، كه اين فيلد قابليتهاي مختلفي را براي بكار بردن تاريخ در سيستم بوجود ميآورد.
در قسمت Format قادر هستيم كه فرمتهاي مختلف را انتخاب كنيم و يا فرمت دلخواه را ايجاد كنيم، يكسري از فرمتها در International Panel ويندوز تعريف شده است كه بصورت آماده در Access نمايش داده ميشوند كه كاربر ميتواند فرمت مورد نظر خود را انتخاب كند و تاريخهايي كه به شكل عددي و يا متني وارد ميكنيم بايد به ترتيب سال و ماه و روز آن باشد ، اما اگر كاربر فرمت ديگري را در نظر داشته باشد ميتواند آن فرمت را به همان صورت در جلوي Format تايپ كرده و اطلاعات تاريخ خود را به همان شكل مشاهده كند.
در قسمت Input Mask ميتوانيم يك پيشگزيدهاي براي شكل وارد كردن اطلاعات بوجود آوريم، كه اگر كاربري با فرمت تعيين شده ما آشنايي نداشت بتواند به راحتي از طريق اين پيشگزيده اطلاعات تاريخ را وارد كند، در جلوي Input Mask هم ميتوانيم همان فرمت را انتخاب و يا ايجاد كنيم، بعنوان مثال در قسمت Open ميتوانيم تاريخها را در پيشفرض تعيين شده --/--/---- وارد كنيم كه اين پيشگزيده نشان دهنده فرمت انتخاب شده است، كه اگر اطلاعات تاريخ را بر اساس اين فرمت وارد نكنيم پيغام خطا صادر ميشود.
ايجاد فيلد تاريخ دربرگه Queries
در Query ابتدا جدول مورد نظررا انتخاب ميكنيم و سپس فيلد تاريخ را با نوع Date/Time به سمت پايين ميكشيم، در Query ميتوانيم از شرطهاي متفاوتي مناسب با سيستم استفاده كنيم. اين شرطها را در قسمت Criteria وارد ميكنيم كه Access2000 خودش بطور اتوماتيك در اطراف تاريخ وارد شده در شرط علامت # را قرار ميدهد.
براي برقرار كردن ارتباط بهتر با شرايط، بهتر است تاريخ مورد نظر را در تابع ()Cdate قرار دهيم .زمانيكه از تابع ()Cdate استفاده ميكنيم در اطراف تاريخ علامت " " قرار داده ميشود، بعنوان مثال اگر بخواهيم ليست اطلاعات ركوردها را براي تاريخهاي بزرگتر از يك تاريخ معين را نمايش دهيم به صورت زير عمل ميكنيم :
> Cdate (" 1378/06/01")
كه تمامي تاريخهاي بزرگتر از اين تاريخ را نشان ميدهد. و ساير شرايطي كه بسته به نياز كاربر بوجود ميآوريم.
ايجاد فيلد تاريخ در برگه Forms
ابتدا فرم را بر اساس جدول مورد نظر بوجود ميآوريم و فيلدهاي مورد نظر را انتخاب ميكنيم، همان فيلد تاريخ كه با نوع Date/Time معرفي كرده بوديم در فرم به همان صورت و با همان فرمت نمايش داده ميشود. حال اگر بخواهيم در فرم، فرمت اين تاريخ را تغيير دهيم در قسمت Properties آن فيلد جلوي قسمت Format فرمت دلخواه خود را تعيين ميكنيم .
در فرم ميتوانيم قابليت نمايش تاريخ سيستم را بوجود آوريم، به اين صورت كه ابتدا يك Text box در فرم بوجود ميآوريم و در قسمت Control Source آن Now= را تايپ ميكنيم كه تابع ()Now تاريخ و زمان سيستم را نشان ميدهد كه بطور اتوماتيك بر حسب تغيير تاريخ سيستم تغيير ميكند كه اين تاريخ هم ميتوانيم با فرمتهاي دلخواه نمايش دهيم.
همچنين از تابعهاي ()Date براي تاريخ سيستم و از ()Time براي زمان سيستم ميتوان استفاده كرد.
ايجاد فيلد تاريخ در برگه Reports
ابتدا Report را بر اساس جدول مورد نظر بوجود ميآوريم و فيلدهاي مورد نظر را انتخاب ميكنيم، Report قابليت گروه بندي بر اساس سال- ماه - روز در فيلد تاريخ را دارا ميباشد به اين صورت كه درReport Wizard دكمه Grouping Options را فشار ميدهيم و در قسمت Groping intervals ميتوانيم گروهبندي موردنظر خود را بوجود آوريم. مثلا" اگر Month را انتخاب كنيم كل تاريخها براساس ماه گروهبندي ميشوند و تاريخها در ماههاي مختلف بطور جداگانه نمايش داده ميشوند.
همچنين در قسمت پايين صفحه Report تاريخ سيستم بطور اتوماتيك نشان داده ميشود. منبع این مطلب سایت : آی تی ایران