تبليغاتX
فرساران آموزش Microsoft Office Excel پیشرفته مشاوره و برنامه نویسی VBA آموزش اکسل مقدماتی Excel 2010 آموزش Excel پیشرفته،مشاوره Excel کاربردی - تاریخ جلالی در اکسس - تبدیل عدد به حروف در اکسس Hejri Date in Access

آموزش Excel پیشرفته،مشاوره Excel کاربردی

آموزش Excel پیشرفته Excel مقدماتی: گروهی و خصوصی ،مشاوره، پیاده سازی نیازهای نرم افزاری شما با Excel

                                           این اکسس است.

 توجه: روش جدید بکار گیری این توابع را در اکسس در سایت فرساران ببینید.

مقدمه

 

بعد از انتشار توابع کار با  تاریخ و عدد به حروف در اکسل ، برخی از دوستان سوال کردند که چگونه می‌توان از این امکانات [1]  در نرم افزار اکسس نیز استفاده کرد. در این مقاله نحوه نصب و بکارگیر این توابع را فرا خواهیم گرفت.

اگر ما DLL ها را بشناسیم ، خیلی ساده جواب این سوال را پیدا خواهیم کرد یعنی می‌دانیم DLL فایلی است ترجمه شده و می‌توان آنرا به همان سادگی که در اکسل فراخوانی کرده‌ایم، در اکسس نیز آن کار را تقریبا با همان ترفندها انجام دهیم.

 

قدم اول :

ابتدا بایستی محتویات فایل add-in.xla را در یک ماژول اکسس کپی کنید.

این فایل شامل تعاریف فایلهای DLL است و همان فایلی است که در اکسل از آن استفاده کرده‌ایم و می‌توانید فایل را از وبلاگ farsaran.blogfa.com در‌یافت کنید . البته برای سادگی کاربرد،  محتویات این فایل در ادامه همین مقاله در پیوست شماره 1 آمده است.

قدم دوم :

  • Access را اجرا کنید و بانک اطلاعاتی خود را باز کنید.
  • به قسمت Modules بروید و گزینه New را انتخاب کنید.

با اینکار شما وارد محیط ویژوال بیسیک خواهید شد

قدم سوم :

  • محتویات پیوست 1 را انتخاب کنید و در ماژول (پنجره که باز شده است آنرا کپی کنید.)

نتیجه کار شما چیزی مشابه شکل زیر باید باشد.

  • ماژول را Save  کنید .

 ( با زدن روی دکمه نشان داده شده در شکل زیر می‌توانید اینکار را انجام دهید.)

  • نام پیش فرض برای این ماژول Module1 است ، آنرا بپذیرید تا ماژول با این نام در فایل اکسس شما ذخیره شود.

 

قدم چهارم :

در این مرحله بایستی فایلهای DLL [2]  را  نصب کنید.


  • از منوی Tools گزینه Prefrences را انتخاب کنید.

 

  • در پنجره باز شده با زدن دکمه Browse فایلهای addad2horof.dll و VJDate.dll  را انتخاب کنید.

 

 

  • از محیط ویژوال بیسیک خارج شوید . (Alt+Q)

 

حال می‌توانید از توابع استفاده کنید. در ادامه به ذکر چند مثال ساده ! از موارد استفاده این توابع در اکسس می‌پردازیم .

در صورتیکه دوستان عزیز کاربردهای متنوع‌تری از این توابع را در پروژه‌های خود بکار گرفتند ، لطفا نتیجه کار خود را برای اینجانب بفرستند تا در اختیار سایرین نیز قرار گیرد.


 

مثال شماره 1-  تبدیل عدد به حروف در یک Query

ابتدا یک Table با مشخصات زیر می‌سازیم.

نام فیلد : Name 

نوع داده : Text

نام فیلد : Salary  

نوع داده: Number

و در این جدول چند رکورد مانند شکل وارد می‌کنیم.
 

 

 می‌خواهیم حقوق (salary) را به صورت حروف داشته باشیم . برای این منظور یک Query مانند شکل می‌سازیم و از تابع ABH به این صورت استفاده می‌کنیم :

Horof:ABH([Salary])

می‌دانیم که Horof نام فیلد جدید ما است و هر چیز دیگری می‌تواند باشد !

 

 

بعد از اجرای Query خواهیم داشت :

 

 

 

مثال شماره 2-  درج روز هفته و تاریخ در یک Form

برای این منظور یک Form از Query که در مرحله قبل ایجاد کرده‌ایم یک Form می‌سازیم و سپس این Form را در نمای Design باز می‌کنیم.

دو Textbox در فرم ایجاد می‌کنیم و سپس فرمولهای زیر را در این دو Textbox وارد می‌کنیم:

=j_today()

=j_weekday(j_today(),1)

شکل زیر می‌تواند به شما در ساختن این فرم کمک کند.

 

 

 

 

نتیجه نهایی Form را در شکل زیر مشاهد می‌کنید.

 

 

پیوست شماره 1

 

Function ABH(Number As String)

 

    Dim obj As addad2horof.addadconventor

    Set obj = New addadconventor

    ABH = obj.DivID(Number)

   

End Function

 

Function J_TODAY(Optional Mode As Integer)

 

 

    Dim x1 As New VJDate.DateClass

    x1.Initial

   

    If Mode = 1 Then

        temp$ = x1.Jtoday("long")

        J_TODAY = Left(temp$, 4) & "/" & Mid(temp$, 5, 2) & "/" & Right(temp$, 2)

    Else

        temp$ = x1.Jtoday("short")

        J_TODAY = Left(temp$, 2) & "/" & Mid(temp$, 3, 2) & "/" & Right(temp$, 2)

    End If

   

   

End Function

 

Function J_WEEKDAY(JDate As String, Optional Mode As Integer)

 

    Dim x2 As New VJDate.DateClass

    x2.Initial

    Dim temp$

    If Mode = 1 Then temp$ = "long" Else temp$ = "short"

        J_WEEKDAY = x2.JWeekDay(x2.NormDate(JDate), temp$)

    End Function

 

Function J_NORMDATE(JDate As String)

    Dim x3 As New VJDate.DateClass

    x3.Initial

    J_NORMDATE = x3.NormDate(JDate)

End Function

 

 

Function J_ADDDAY(JDate As String, Number As Integer, Optional Mode As Integer)

    Dim x4 As New VJDate.DateClass

    x4.Initial

    If Mode = 1 Then

        temp$ = x4.JAddDay(x4.NormDate(JDate), Number, "long")

        J_ADDDAY = Left(temp$, 4) & "/" & Mid(temp$, 5, 2) & "/" & Right(temp$, 2)

    Else

        temp$ = x4.JAddDay(x4.NormDate(JDate), Number, "short")

        J_ADDDAY = Left(temp$, 2) & "/" & Mid(temp$, 3, 2) & "/" & Right(temp$, 2)

    End If

End Function

 

Function J_DIFF(JDate1 As String, JDate2 As String)

    Dim x5 As New VJDate.DateClass

    x5.Initial

        J_DIFF = x5.JDiff(x5.NormDate(JDate1), x5.NormDate(JDate2))

   

End Function

 

 

Function J_JALALDATE(MDate As String, Optional Mode As Integer)

 

 

 

    Dim x6 As New VJDate.DateClass

    x6.Initial

    If Mode = 1 Then

        temp$ = x6.JalalDate(x6.NormDate(MDate), "long")

        J_JALALDATE = Left(temp$, 4) & "/" & Mid(temp$, 5, 2) & "/" & Right(temp$, 2)

    Else

        temp$ = x6.JalalDate(x6.NormDate(MDate))

        J_JALALDATE = Left(temp$, 2) & "/" & Mid(temp$, 3, 2) & "/" & Right(temp$, 2)

    End If

   

End Function

 

Function J_SUBDAY(JDate As String, Number As Integer, Optional Mode As Integer)

    Dim x7 As New VJDate.DateClass

    x7.Initial

   

    If Mode = 1 Then

        temp$ = x7.JSubDay(x7.NormDate(JDate), Number, "long")

        J_SUBDAY = Left(temp$, 4) & "/" & Mid(temp$, 5, 2) & "/" & Right(temp$, 2)

    Else

        temp$ = x7.JSubDay(x7.NormDate(JDate), Number, "short")

        J_SUBDAY = Left(temp$, 2) & "/" & Mid(temp$, 3, 2) & "/" & Right(temp$, 2)

    End If

   

End Function


 

پیوست شماره 2 – نام و شرح توابع

استفاده از تابع تبدیل عدد به حروف

Syntax :

ABH(number)

number : یک عدد صحیح است و یا  می‌تواند به یک سلول اشاره کند.

توجه : حداکثر عددی که این تابع می‌تواند تبدیل کند 999/999/999/999   می‌باشد.

تابع J_TODAY

این تابع تاریخ جاری سیستم را نشان می‌دهد.

Syntax:

J_TODAY(MODE)

Mode: گزینه اختیاری است و در صورتیکه 1 باشد سال را چهار رقمی می‌نویسد.

تابع J_WEEKDAY

این تابع مشخص می‌کند که یک تاریخ چندمین روز هفته است.

Syntax:

J_WEEKDAY(JDATE,MODE )

JDATE: تاریخ باید داخل علامت کوتیشن " "   باشد.

تابع J_ADDDAY

می‌توان یک تاریخ را با یک عدد جمع کرد و تاریخ جدید را بدست آورد.

Syntax:

J_ADDDAY(JDATE,NUMBER,MODE )

 

JDATE: تاریخ باید داخل علامت کوتیشن " "   باشد.

NUMBER: عددی که باید به تاریخ اضافه شود. اگر عدد منفی باشد از این تاریخ کم خواهد شد و تاریخ متناظرش نوشته خواهد شد!

Mode: گزینه اختیاری است و در صورتیکه 1 باشد سال را چهار رقمی می‌نویسد.


 

تابع J_DIFF

این تابع دو تاریخ را از هم کم می‌کند و اختلاف روزهای آن را بر می‌گرداند.

Syntax:

J_DIFF(JDATE1,JDATE2)

JDATE1: تاریخ اول باید داخل علامت کوتیشن " "   باشد.

JDATE2: تاریخ دوم باید داخل علامت کوتیشن " "   باشد.

تابع J_JALALDATE

این تابع تاریخ میلادی را به تابع هجری شمسی معادلش تبدیل می‌کند.

Syntax:

J_JALALDATE (MDATE,Mode)

MDATE: تاریخ میلادی است که به صورت روز/ماه/سال نوشته می‌شود.

 تابع J_SUBDAY

برای کم کردن یک عدد از یک تاریخ بکار می‌رود.

Syntax:

J_SUBDAY(JDATE,NUMBER,MODE)

 

JDATE: تاریخ باید داخل علامت کوتیشن " "   باشد.

NUMBER: عددی صحیح است.

Mode: گزینه اختیاری است و در صورتیکه 1 باشد سال را چهار رقمی می‌نویسد.

تذکر: به جای این تابع می‌توان از تابع J_ADDDATE با عدد منفی هم استفاده کرد

تابع J_NORMDATE

این تابع یک تاریخ را به فرم استانداردی که قابل استفاده برای سایر توابع ذکر شده است تبدیل می‌کند.

Syntax:

J_NORMDATE(JDATE)

JDATE: تاریخ باید داخل علامت کوتیشن " "   باشد

تذکر: خروجی تابع J_NORMDATE یک رشته (STRING) است و در صورت می‌توان آنرا با تابع VALUE به یک مقدار عددی تبدیل کرد.

 

 

 

 

منتظر دریافت نظرات سودمند شما هستیم.

 

فرشید میدانی  - شهریور 1385

Farshid_mi@yahoo.com

www.Farsaran.blogfa.com

 

 

پاورقی :

 

[1]   منظور توابع کار با تاریخ در اکسل است که در سایت farsaran.blogfa.com مفصل به آن پرداخته شده است.

 

[2]  برای دریافت همه فایلها اینجا را کلیک کنید.

 

 

کلمات کلیدی مقاله :

تاریخ در اکسس – تاریخ هجری در اکسس – تاریخ جلالی در اکسس – تاریخ هجری شمسی در اکسس – تبدیل عدد به حروف در اکسس – ماژول نویسی اکسس – ویژوال بیسیک در اکسس – کار با توابع در اکسس –

Access Hejri Date – Access Iranian Date – Access Jalali Date – Access Persian Function -

 

+     نویسنده: فرشید میدانی  |