صفحه 1 از 2 12 آخرآخر
نمایش نتایج 1 تا 40 از 75

نام تاپیک: ماژول کامل تاریخ شمسی در اکسس با VBA

  1. #1
    کاربر دائمی آواتار Rasool-GH
    تاریخ عضویت
    دی 1387
    محل زندگی
    خراسان
    پست
    704

    ماژول کامل تاریخ شمسی 8 رقمی در اکسس

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

    به عنوان مقدمه ای در تکمیل مبحث به مواردی باید اشاره بشه .
    به طور کلی محاسبات مربوط به تاریخ شمسی در محیط اکسس به دلیل اینکه از این نوع تاریخ پشتیبانی نمیکنه به دو روش قابل انجام و دست یابی است .
    اولین روش استفاده از یک ماژول تو کار VBA میباشد که توابع مورد نیاز در اون گرد اوری شده باشه و از این توابع به فراخور نیاز در جاهای مختلف برنامه استفاده میشه
    مزایا : استفاده از این روش راحته . کدها در دسترس هستند . بررسی و اصلاح و تکمیل اون به راحتی امکان پذیره
    معایب : امکان ایجاد تغییرات سهوی در ماژول وجود داره . به دلیل افزایش کدهای داخل برنامه فایل اکسس را در معرض خطر تخریب قرار میده
    دومین روش استفاده از یک فایل DLL هست که باز هم همین توابع در داخل اون گرد اوری شده و در جاهای مختلف برنامه قابل استفاده است
    مزایا : در این روش فایل به راحتی قابل دستکاری نیست و توابع داخل اون در معرض تخریب قرار نمیگیرن
    معایب : برای استفاده نیاز به اضافه کردن در رفرنس اکسس داره . فایلهای کامل معمولا پولی هستند . دسترسی به کدهای اونها وجود نداره

    اساتید لطفا در تکمیل و تصحیح توضیحات بالا نظرات خودشون رو بدن .


    ماژولها و برنامه های مشابه :


    نمونه ای از تمام فایلهای موجود در تاپیک در ضمیمه امده است ولیکن از اخرین ورژن استفاده کنید . ورژن های قبلی صرفا جهت بررسی کدها و تغییرات توسط علاقه مندان قرار گرفته است
    تنها مورد که باید ذکر بشه Input mask هست که حتما باید به صورت -;0;0000/00/00 باشه
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله Rasool-GH : جمعه 30 مهر 1395 در 16:26 عصر دلیل: به روز رسانی مطالب 1658-1137




  2. #2
    کاربر دائمی آواتار Rasool-GH
    تاریخ عضویت
    دی 1387
    محل زندگی
    خراسان
    پست
    704

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    سلام
    دوستان برای به دست اوردن تاریخ روز از تابع زیر در Default Value باکس مورد نظر خودتون استفاده کنید .
    Shamsi()

    این تابع تاریخ رو بدون "/" ذخیره میکنه . برای اینکه به همراه / ذخیره بشه از تابع زیر استفاده کنید .
     Slash(Shamsi())

    برای سنجش اعتبار تاریخ میتونید از تابع زیر استفاده کنید .
    ValidDate([Field Name])=True

    برای اشاره به خود کنترل بدون ذکر نام اون از تابع به شکل زیر استفاده کنید
    ValidDate(Screen.ActiveControl)=True

    (البته داخل قسمت Validation Rule کنترل مورد نظر)

    برای بدست اوردن تفاوت زمان بین دو تاریخ میتونید از این کد استفاده کنید
    Diff(Date1,Date2)
    آخرین ویرایش به وسیله Rasool-GH : جمعه 30 مهر 1395 در 16:27 عصر

  3. #3
    کاربر دائمی آواتار Rasool-GH
    تاریخ عضویت
    دی 1387
    محل زندگی
    خراسان
    پست
    704

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    دوستان عزیز نمونه جدید اماده شد
    از این نمونه میتونید در اضافه کردن و کم کردن و تفاضل تاریخ استفاده کنید
    نمونه کاملا گویاست . تنها مورد که باید ذکر بشه Input mask هست که حتما باید به صورت -;0;00/00/00"13" باشه
    ضمنا اکثر موارد خطا ها هم حذف شده و با خیال راحت میتونید استفاده کنید
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله Rasool-GH : سه شنبه 20 دی 1390 در 22:37 عصر

  4. #4
    کاربر دائمی
    تاریخ عضویت
    تیر 1388
    محل زندگی
    استان البرز
    پست
    114

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    با سلام خدمت استاد عزیز
    واقعا گل کاشتی ، دستت درد نکنه ، گیرم تا اینجا برطرف شد اگه به موردی برخورد کردم حتما به اطلاعت میرسونم
    بازم از همه ممنونم

  5. #5
    کاربر تازه وارد آواتار mj_bayati
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    اکسس آباد علیا
    پست
    88

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    نقل قول نوشته شده توسط Rasool-GH مشاهده تاپیک
    تنها مورد که باید ذکر بشه Input mask هست که حتما باید به صورت -;0;00/00/"13" باشه
    البته فک میکنم این نکته در مورد ماژول استفاده شده درست نباشه
    اون ماسکی که شما فرمودین برای ماژول اصلی آقای آزادی است ولی این ماژول استفاده شده ماژول اصلاحی است و خودش سال رو 4 رقمی حساب می کنه، بنابراین نیازی به گذاشتن "13" در ابتدا سال نیست
    بلکه ماسک مناسب همون 0000/00/00 است

    اگه اشتباه میکنم اساتید تذکر بدن

  6. #6
    کاربر دائمی آواتار Rasool-GH
    تاریخ عضویت
    دی 1387
    محل زندگی
    خراسان
    پست
    704

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    کاملا صحیح هستش . منظور عدد 13 نبود به دلیل روال کنترل خطایی که استفاده شده باید -;0; در اخر ماسک بیاد .
    -;0;0000/00/00
    دارم روش کار میکنم درست شد همینجا قرار میدم
    اساتید لطفا راهنمایی کنن و از انتقادات خودشون مارو بی نصیب نزارن

  7. #7
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    بدلیل اینکه خود تابع دارای تابع اعتبارسنجی است بهتر است InputMask فیلد به 9999/99/99 تغییر کند تا پیغام Validation فیلد در زمان ناقص تایپ کردن نمایش داده نشود

  8. #8
    کاربر تازه وارد آواتار mj_bayati
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    اکسس آباد علیا
    پست
    88

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    بدلیل اینکه خود تابع دارای تابع اعتبارسنجی است بهتر است InputMask فیلد به 9999/99/99 تغییر کند
    خیلی حرف زیبا و جالبی زده شد...
    باتشکر از استاد امیری

    آقای Rasool-GH لطفاً توجه فرمایید....

  9. #9
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1389
    پست
    61

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    آیا حتما باید فیلدی که برای تاریخ توی جدول تعریف میکنیم حتما از نوع عدد باشه
    یعنی اگه تکست باشه جواب نمیده
    چون من توی توابع تاریخی که باید وارد کنم وقتی فیلد مربوطه رو بصورت عدد (number) می زارم ارور می ده و وقتی یتکت میکنم درست میشه
    در این مورد هم راهنمایی کنید ممنون میشم

  10. #10
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    اگر تابعی فقط آرگومان عددی می پذیرد وشما نوع تکست دارید می توانید از توابع تبدیل نوع استفاده کنید مثل (CInt(str و (CLng(str

  11. #11
    کاربر دائمی آواتار Rasool-GH
    تاریخ عضویت
    دی 1387
    محل زندگی
    خراسان
    پست
    704

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    سلام
    با توجه به اينكه در كوئري ها شما براي مقايسه تاريخها نياز دارين كه تيپ همه تاريخها به يك شكل باشه مجبور هستين كه در ماسك از 0 استفاده كنيد . در غير اين صورت تاريخهايي كه به شكل (1390/10/1) (1390/2/1) تايپ شده در گزارشگيري باعث اشتباه ميشه در صورتي كه اگر به صورت (1390/02/01) باشه ديگه اين اشتباه پيش نمياد . دارم روي تابع كار ميكنم كه تاريخ (1390/1/1) رو به صورت (1390/01/01) ذخيره كنه . در اين زمينه هركي ميتونه كمك منه.
    ممنون از توجه دوستان

  12. #12
    کاربر دائمی آواتار Rasool-GH
    تاریخ عضویت
    دی 1387
    محل زندگی
    خراسان
    پست
    704

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    آیا حتما باید فیلدی که برای تاریخ توی جدول تعریف میکنیم حتما از نوع عدد باشه
    خدمت شما عرض كنم كه اگر فيلد رو عدد تعيين ميكنيد از خود توابع استفاده كنيد
    Shamsi()     تاريخ روز را به صورت 13900205 بازميگرداند 
    در صورتي كه نياز داريد تاريخها با / ذخيره بشه نوع فيلد رو تكست تعيين كنيد و توابع رو داخل تابع Slash قرار بدين
    Slash(Shamsi())     تاريخ روز را به صورت 1390/02/05 بازميگرداند

  13. #13
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1389
    پست
    61

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    نقل قول نوشته شده توسط Rasool-GH مشاهده تاپیک
    خدمت شما عرض كنم كه اگر فيلد رو عدد تعيين ميكنيد از خود توابع استفاده كنيد
    Shamsi()     تاريخ روز را به صورت 13900205 بازميگرداند 
    در صورتي كه نياز داريد تاريخها با / ذخيره بشه نوع فيلد رو تكست تعيين كنيد و توابع رو داخل تابع Slash قرار بدين
    Slash(Shamsi())     تاريخ روز را به صورت 1390/02/05 بازميگرداند

    من بالاخره تونستم با خصوصیت number از این تابع استفاده کنم
    البته از این تابع
    shansi()

    ولی این تابع هر کاری میکنم نمی تونم استفاده کنم چراش رو نمیدونم وقتی خصوصیت رو به تکست تبدیل می کنم درست میشه
    slash(shamsi())


    کاربری توی همین بخش یه نمونه گذاشته بودن که با کلیک بروی کلیدی می تونستی از تقویمی که ظاهر می شد تاریخ رو انتخاب کرد این نمونه هم برای من به هیچ وجه از فیلدی با خصوصیت number اجرا نمیشد که مجبور شدم به تکست تبدیل کنم که این تبدیل توی جستجوی بین دو تاریخ مشکل بوجود می اورد لازم به ذکره که این نمونه نیز از همین ماژول های موجود در همین بخش استفاده ککرده یعنی ماژول ادیت شده آقای ازادی
    راهنمایی کنید

  14. #14
    کاربر دائمی آواتار Rasool-GH
    تاریخ عضویت
    دی 1387
    محل زندگی
    خراسان
    پست
    704

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    اگر بیشتر توجه کنید توضیح کامل داده شده تابع اول خروجی عددی داره یعنی فیلد میتونه Number باشه
    در تابع دوم به دلیل وجود / خروجی رشته است یعنی داخل فیلد Number قابل ذخیره سازی نیست و حتما باید فیلد رو به تکست تبدیل کنید

  15. #15
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    استفاده از این تابع برای تکمیل تاریخهای ناکامل مثل 139011 که منظور 13900101 می باشد ویا 1390221 ویا ... می تواند مورد استفاده قرار گیرد دوستان تست کنند تا اگر اشکالی بود متفقا مرتفع کنیم. اگر خروجی صفر باشد تاریخ نامعتبر خواهد بود

    Public Function FixUncompeleteDate(ByVal fDate As Long) As Long
    Dim date1 As String, date2 As Long
    date1 = CStr(fDate)
    If Len(date1) < 6 Then
    Exit Function
    End If
    date2 = CLng(Left(date1, 4))
    If Len(date1) = 6 Then
    date2 = CLng(date2 & 0 & Mid(date1, 5, 1) & 0 & Right(date1, 1))
    ElseIf Len(date1) = 7 Then
    If Right(date1, 1) > 3 Then
    date2 = CLng(date2 & Mid(date1, 5, 2) & Right(date1, 2))
    ElseIf Mid(date1, 6, 1) > 3 Then
    date2 = CLng(date2 & Mid(date1, 5, 2) & 0 & Right(date1, 1))
    ElseIf Mid(date1, 5, 1) > 1 Or Right(date1, 1) = 0 Then
    date2 = CLng(date2 & 0 & Mid(date1, 5, 1) & Right(date1, 2))
    Else
    date2 = CLng(date2 & Mid(date1, 5, 2) & 0 & Right(date1, 1))
    End If
    End If
    If ValidDate(date2) = False Then Exit Function
    FixUncompeleteDate = date2
    End Function

    آخرین ویرایش به وسیله Abbas Amiri : پنج شنبه 22 دی 1390 در 00:14 صبح دلیل: درج تغییرات

  16. #16
    کاربر دائمی آواتار emami.sie
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    طبس
    پست
    501

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    نقل قول نوشته شده توسط Rasool-GH مشاهده تاپیک
    سلام
    با توجه به اينكه در كوئري ها شما براي مقايسه تاريخها نياز دارين كه تيپ همه تاريخها به يك شكل باشه مجبور هستين كه در ماسك از 0 استفاده كنيد . در غير اين صورت تاريخهايي كه به شكل (1390/10/1) (1390/2/1) تايپ شده در گزارشگيري باعث اشتباه ميشه در صورتي كه اگر به صورت (1390/02/01) باشه ديگه اين اشتباه پيش نمياد . دارم روي تابع كار ميكنم كه تاريخ (1390/1/1) رو به صورت (1390/01/01) ذخيره كنه . در اين زمينه هركي ميتونه كمك منه.
    با سلام
    خدمت دوستان عرض کنم که به نظر من اصلا نیازی به وجود صفر در Mask نیست و شما می تونید از همون ماسک"13"99/99/99;0 استفاده کنید، بخاطر اینکه شما دارید از تابع اعتبار سنجی تاریخ استفاده می کنید و خود تابع تاریخ ناکامل رو تشخیص و پیغام میده...
    در مورد تابعی هم که جناب امیری برای تکمیل تاریخ پیشنهاد دادند باید بگم تابع جالبیه، اما مشکل داره و فکر نکنم به نتیجه برسه چون وقتی شما مثلا تاریخ 1390112 رو وارد می کنید چه جوری میشه تشخیص داد که منظور کاربر 1390/11/2 بوده یا 1390/1/12 ...
    قبلا از اینکه در محضر اساتید ارائه نظر کردم عذر خواهی میکنم...
    یا علی
    آخرین ویرایش به وسیله emami.sie : پنج شنبه 22 دی 1390 در 08:52 صبح

  17. #17
    کاربر دائمی آواتار abdoreza57
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    دنياي آمال و آرزوها
    پست
    485

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    با سلام

    ضمن تشکر بابت زحمتی که کشیده اید مورد بعدی تو بدست آوردن اختلاف ایام هست که قاعدتا عدد متناظر وجود نداره عمل نخواهد کرد
    در ضمن به اعتقاد من این داستان خیلی دنباله دار شده ضمن اینکه تمام این مانورها با وجود تابع کامل پرشین تولز کلا مرتفع میگردد چه التحابی برای استفاده مختص از تابع آزادی است ؟
    فایل های ضمیمه فایل های ضمیمه

  18. #18
    کاربر دائمی آواتار emami.sie
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    طبس
    پست
    501

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    نقل قول نوشته شده توسط abdoreza57 مشاهده تاپیک
    با سلام

    ضمن تشکر بابت زحمتی که کشیده اید مورد بعدی تو بدست آوردن اختلاف ایام هست که قاعدتا عدد متناظر وجود نداره عمل نخواهد کرد
    در ضمن به اعتقاد من این داستان خیلی دنباله دار شده ضمن اینکه تمام این مانورها با وجود تابع کامل پرشین تولز کلا مرتفع میگردد چه التحابی برای استفاده مختص از تابع آزادی است ؟
    سلام
    من هم کاملا موافقم ، اما تنها مشکلی که در توابع آقای میدانی هست وجود نداشتن ماژولی یرای اعتبار سنجی تاریخ هستش، وگرنه من باهاش کار کردم و از هر جهت کامله... (اگه اساتید زحمتش رو بکشن و این تابع رو بهش اضافه کنند خیلی عالیه)
    لیست توابع موجود در این برنامه و نحوه استفادش رو هم ضمیمه کردم...
    ممنون
    یا علی
    فایل های ضمیمه فایل های ضمیمه

  19. #19
    کاربر دائمی آواتار Rasool-GH
    تاریخ عضویت
    دی 1387
    محل زندگی
    خراسان
    پست
    704

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    من اين تابع رو نديده بودم . برسي كردم خيلي جالب بود با توجه به امكاناتي كه داخلش هست براي موارد زيادي ميشه ازش استفاده كرد .
    تابع اقاي ازادي يه دليل سادگي در ويرايش و استفاده خيلي خوبه مخصوصا براي دوستاني كه بخوان وارد برنامه نويسي بشن از جنبه اموزشي خيلي كار امده
    ولي در كل با اين تابعي كه شما معرفي كردين خيلي جامع هست
    استفاده از این تابع برای تکمیل تاریخهای ناکامل مثل 139011 که منظور 13900101 می باشد ویا 1390221 ویا ...
    اين كدي كه اقاي اميري زحمت كشيدن قرار دادن رو داخل ماژول قرار ميدم تا همه در قالب همين ماژول بتونن استفاده كنن . با تشكر از جناب اميري

  20. #20
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1389
    پست
    61

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    آیا من اگه بخوام از تابع
    slash(shamsi())

    استفاده کنم که از نوع تکست هست بعدا مشکلی توی سرچ بین دو تاریخ برام بوجود نمیاد؟
    ممنون میشم یه نمونه برام بزارید

  21. #21
    کاربر دائمی آواتار Rasool-GH
    تاریخ عضویت
    دی 1387
    محل زندگی
    خراسان
    پست
    704

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    سلام
    من متاسفم که چنین برداشتی به وجود امده .
    من در تاپیک قبلی که شما اشاره کردین با این ماژول مشکل داشتم . به لطف Zero Defect عزیر مشکل با نمونه کدی که ایشون زحمت کشیدن و اصلاح کردن حل شد
    من هم دیدم کلی بحث روی این موضوع در تالار وجود داره که هر کدوم یک قسمت ناقص داره . برای همین کل ماژول رو مطابق کدی که Zero Defect عزیز اصلاح کرده بودن اصلاح کردم وبرای استفاده عمومی با اموزش نحوه استفاده در این تاپیک قرار دادم و در او تاپیک قبلی هم ادرس دادم که هر کی به این مطلب نیاز داشت بتونه به یک ماژول سالم به همراه اموزش استفاده از اون دسترسی داشته باشه .
    ادعایی برای ارائه مطلب جدیدی نداشتم و ندارم .
    اون موردی هم که ذکر کردین ویرایش شده مربوط به
    دوستان عزيز لطفا اينجا سوال نپرسين كه اين تاپيك فقط جنبه اموزشي داشته باشه. سوالات رو اينجا مطرح كنيد
    نبود بلکه منظور ویرایش فایلی بود که پیوست شده بود
    به هر حال از مدیر تالار درخواست دارم در صورت صلاحدید این مطالب رو به تاپیک قبلی منتقل کنن و فقط پستهای اموزش ماژول اینجا باقی بمونه
    ممنون از توجه همه دوستان
    آخرین ویرایش به وسیله Rasool-GH : سه شنبه 27 دی 1390 در 10:47 صبح

  22. #22
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    برای تبدیل تاریخ شمسی به میلادی از تابع زیر می توانید استفاده کنید. برای تاریخهای نامعتبر مقدار برگشتی Null خواهد بود جهت استفاده از بعضی توابع آقای آزادی در این تابع تغییراتی دادم . احتمالا برای تاریخهای بسیار دور خطا خواهد داشت ولی برای تاریخهای نسبتا نزدیک هیچ مشکلی ندارد.

    Public Function Miladi(ByVal ShamsiDate)
    Dim DiffYear As Integer
    Dim DiffMonth As Integer
    Dim fYear As Integer, fMonth As Integer, fDay As Integer
    Dim Days As Double, fd As Long
    fd = CLng(Replace(ShamsiDate, "/", ""))
    j = Len(CStr(fd))
    If j = 6 Then
    fd = 13000000 + fd
    End If
    If j <> 8 Or Not ValidDate(fd) Then
    Miladi = Null
    Exit Function
    End If
    fYear = IL(fd)
    fMonth = ay(fd)
    fDay = Guon(fd)
    DiffYear = fYear - 1343
    DiffMonth = fMonth - 1
    Select Case DiffMonth
    Case Is < 6
    Days = DiffMonth * 31 + fDay
    Case 6 To 11
    Days = (DiffMonth - 6) * 30 + fDay + 186
    End Select
    Days = Days + Int(DiffYear * 365.243) - 1
    Miladi = DateAdd("d", CLng(Days), "1964/03/21")
    End Function

  23. #23

    درخواست راهنمایی

    نقل قول نوشته شده توسط abdoreza57 مشاهده تاپیک
    با سلام

    ضمن تشکر بابت زحمتی که کشیده اید مورد بعدی تو بدست آوردن اختلاف ایام هست که قاعدتا عدد متناظر وجود نداره عمل نخواهد کرد
    در ضمن به اعتقاد من این داستان خیلی دنباله دار شده ضمن اینکه تمام این مانورها با وجود تابع کامل پرشین تولز کلا مرتفع میگردد چه التحابی برای استفاده مختص از تابع آزادی است ؟
    سلام
    یک مورد راهنمایی می خواستم
    در Table در Acceess 2010 می خواهم فیلدی درست کنم که خودش تاریخ و روز و ساعت شمسی را نشان دهد و پس از ذخیره در دیتابیس قرار گیرد. وقتی از این ماِژول ها استفاده می کنم در Design Table مقدار Default Value را برابر =J_Today() قرار می دهم پیغام خطا می دهد . چنانچه امکانش هست راهنمایی بفرمایید.

  24. #24

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    نقل قول نوشته شده توسط Rasool-GH مشاهده تاپیک
    دوستان عزیز نمونه جدید اماده شد
    از این نمونه میتونید در اضافه کردن و کم کردن و تفاضل تاریخ استفاده کنید
    ضمنا اکثر موارد خطا ها هم حذف شده و با خیال راحت میتونید استفاده کنید
    با سلام
    1-خوب است که تغییرات ماژول اصلاحی همراه با تغییر در نحوه بکارگیری هر تغییر را که آقای رسولی زحمتش را کشیدید نسبت به ماژول اصلاح شده جناب آزادي توسط احمد ميرزازاده به تاريخ 1388/7/22 (که در فایل ضمیمه زیر در یک ماژول قرار داده شده ) لیست شود و اگر چیزی اضافه کرده اند یا اشکالی را برطرف نموده اند عنوان شود تا قضیه منسجم تر و جمع بندی و نتیجه گیری بهتری و مشخص تری از این ماژول پرکاربرد صورت گیرد (منظورم نسبت به ماژول زیر است که تا قبل از ماژول اصلاحی آقای رسولی فکر کنم آخرین اصلاحیه بوده) و اگر هم بعد از ماژول آقای رسولی کسی اصلاحیه ای داده لطفا آنرا ارائه نمایید تا معلوم شود آخرین اصلاحیه این ماژول به کجا رسیده است
    2- استفاده از Farsidatepicker که در ضمیمه آورده شده و با ماژول اصلاح شده زیر هماهنگ هست هم به دلیل تغییر توابع در ماژول آصلاح شده جناب رسولی نیز باید اصلاح شود تا به درستی عمل کند که اگر دوستان زحمت این تغییر را با مآژول اصلاح شده جدید بکشند و تغییرات لازم را انجام دهند ممنون می شیم
    لینکی که فایل ضمیمه در آن هست :
    https://barnamenevis.org/showthread.p...l=1#post827848
    هر یک از دوستان هم که بتونن این لیست را ارائه دهند ممنون می شیم
    با تشکر[LTR]
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله hamid-nice : پنج شنبه 07 شهریور 1392 در 21:20 عصر

  25. #25

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    کسی تمایل به انجام مورد بالا ندارد ؟

  26. #26
    کاربر دائمی آواتار mahmood3d
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    همه جای ایران سرای من است
    پست
    334

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    یه سؤال از اساتید محترم دارم
    تا حدودی با این ماژول کارم راه افتاد ولی یه مشکلی دارم و اینکه میخوام یک کوری بنویسم که اطلاعات بین دو تاریخ رو بهم نشون بده. اینجا که فیلد تاریخ از نوع Text هست چطوری میتونم یه همچین کوری بنویسم؟؟؟ مثلا داده های بین 92/02/01 تا 92/05/24 رو واکشی کنم.

  27. #27
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    نقل قول نوشته شده توسط mahmood3d مشاهده تاپیک
    یه سؤال از اساتید محترم دارم
    تا حدودی با این ماژول کارم راه افتاد ولی یه مشکلی دارم و اینکه میخوام یک کوری بنویسم که اطلاعات بین دو تاریخ رو بهم نشون بده. اینجا که فیلد تاریخ از نوع Text هست چطوری میتونم یه همچین کوری بنویسم؟؟؟ مثلا داده های بین 92/02/01 تا 92/05/24 رو واکشی کنم.
    برای اینکه تاریخ از نوع تکست را بصورت نامبر درآورید از تابع Replace استفاده کنید
    d1=CLng(Replace(Date1,"/",""))

  28. #28
    کاربر دائمی آواتار abdoreza57
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    دنياي آمال و آرزوها
    پست
    485

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    سلام

    با توجه به پیشنهاد دوستمون hamid_nice و اینکه استاد امیری تو تاپیکی مجزا آموزش تقویم قابل ویرایش را ایجاد نمودند که متاسفانه علی رقم اهمیت و کاربردی بودن این مسئله نتوانست مخاطبان خود را جذب کند البته این از دید من بود شاید به دلیل جذابیت فوق العاده اکتیوکسهای PDC باشه که خیلی ها را مثل من از افتادن تو دام کدنویسی های پیچیده بی نیاز میکنه ....

    امروز اتفاقی وقتی این تاپیک بالا اومد یاد تقویم استاد امیری افتادم که واقعا چه پروژه ای را دست گرفتند و نمیدونم به کجا رسید ؟
    تو اون نمونه به نظر من چون از مازولهای متعددی استفاده شده بود نتونست همه گیر بشه ولی واقعا از اهمیت کارشون ذره ای کم نمیکنه .


    اگه بخواییم از پیچیدگی های کد نویسی فرار کنیم نمونه زیر خوب هست ولی من نتونستم مناسبتها را با فرمول dlookup فرا خوانی کنم
    مشکل کجا هست ؟
    ضمنا اگه جناب امیری راهکاری برای سادگی این تقویم دارند یا تغییراتی تو نمونه خودشون دادند و میدونند کاربردی هست لطف کنند و بازم مثل همیشه راهنمای ما باشند که عزت و طول عمرشون آرزوی همه خواهد بود

    خدا نگهدار
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله abdoreza57 : پنج شنبه 16 آبان 1392 در 23:51 عصر

  29. #29
    کاربر دائمی آواتار mahmood3d
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    همه جای ایران سرای من است
    پست
    334

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    آقای امیری تو جواب پست قبلی من که داده بودین اون کد داده متنی تاریخ من رو تبدیل به عدد می کنه و به من میده. من از این داده عددی چطوری برای هدفم استفاده کنم؟؟ من داده های یک بازه تاریخی رو میخوام.
    درواقع چیزی که توی دیتابیس من ذخیره شده یک داده متنی هست و چیزی که این تابع به من میده یک داده عددیه. چطوری میتونم از این داده یک بازه تولید کنم و تو دیتابیس استفاده کنم؟؟

  30. #30
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    نقل قول نوشته شده توسط mahmood3d مشاهده تاپیک
    آقای امیری تو جواب پست قبلی من که داده بودین اون کد داده متنی تاریخ من رو تبدیل به عدد می کنه و به من میده. من از این داده عددی چطوری برای هدفم استفاده کنم؟؟ من داده های یک بازه تاریخی رو میخوام.
    درواقع چیزی که توی دیتابیس من ذخیره شده یک داده متنی هست و چیزی که این تابع به من میده یک داده عددیه. چطوری میتونم از این داده یک بازه تولید کنم و تو دیتابیس استفاده کنم؟؟
    ابتدا متغیرهای تاریخ عددی را به تکست تبدیل و سپس عبارت شرط را ایجاد کنید(فرض شده نام فیلد تاریخ شما MyDate است)


    Dim Date1 As String, Date2 As String
    ' d1,d2=Numeric Date
    Date1 = Format(d1,"####/##/##")
    Date2 = Format(d2,"####/##/##")

    strCriteria = "MyDate >= '" & Date1 & "' AND MyDate <= '" & Date2 & "'"

  31. #31
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    نقل قول نوشته شده توسط abdoreza57 مشاهده تاپیک
    سلام

    با توجه به پیشنهاد دوستمون hamid_nice و اینکه استاد امیری تو تاپیکی مجزا آموزش تقویم قابل ویرایش را ایجاد نمودند که متاسفانه علی رقم اهمیت و کاربردی بودن این مسئله نتوانست مخاطبان خود را جذب کند البته این از دید من بود شاید به دلیل جذابیت فوق العاده اکتیوکسهای PDC باشه که خیلی ها را مثل من از افتادن تو دام کدنویسی های پیچیده بی نیاز میکنه ....

    امروز اتفاقی وقتی این تاپیک بالا اومد یاد تقویم استاد امیری افتادم که واقعا چه پروژه ای را دست گرفتند و نمیدونم به کجا رسید ؟
    تو اون نمونه به نظر من چون از مازولهای متعددی استفاده شده بود نتونست همه گیر بشه ولی واقعا از اهمیت کارشون ذره ای کم نمیکنه .


    اگه بخواییم از پیچیدگی های کد نویسی فرار کنیم نمونه زیر خوب هست ولی من نتونستم مناسبتها را با فرمول dlookup فرا خوانی کنم
    مشکل کجا هست ؟
    ضمنا اگه جناب امیری راهکاری برای سادگی این تقویم دارند یا تغییراتی تو نمونه خودشون دادند و میدونند کاربردی هست لطف کنند و بازم مثل همیشه راهنمای ما باشند که عزت و طول عمرشون آرزوی همه خواهد بود

    خدا نگهدار
    مناسبتها رو به شکل زیر و در انتهای روال optCalendar_Click درج کنید


    Me.Txtrooz = DLookup("[rooz]", "taghvim", "[dateday]='" & STRDATE & "'")


    در ضمن باکمی تغییر ، روزهای تعطیل را هم میتوان به رنگ قرمز نمایش داد

  32. #32
    کاربر دائمی آواتار mahmood3d
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    همه جای ایران سرای من است
    پست
    334

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    آقا حله دست شما درد نکنه
    من فکر کردم چون داده رشته ایه جواب نمیده ولی جواب داد. مرسی

  33. #33
    کاربر دائمی آواتار abdoreza57
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    دنياي آمال و آرزوها
    پست
    485

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    سلام
    نقل قول نوشته شده توسط Abbas Amiri مشاهده تاپیک
    مناسبتها رو به شکل زیر و در انتهای روال optCalendar_Click درج کنید


    Me.Txtrooz = DLookup("[rooz]", "taghvim", "[dateday]='" & STRDATE & "'")


    در ضمن باکمی تغییر ، روزهای تعطیل را هم میتوان به رنگ قرمز نمایش داد

    ممنونم از لطفتون اون مورد به کمک شما حل شد .

    پیشنهاد خوبی دادید لذا من فیلد Tatil را به Yes/No تغییر دادم که رنگ روزهای انتخابی را بشه تغییر داد
    انواع دستورهای من درآوردی را توش بکار بردم خطا میگیره !

    اگه لطف کنید و خودتون بفرمایید منت دارتون خواهم بود

    خدا نگهدار

  34. #34
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    نقل قول نوشته شده توسط abdoreza57 مشاهده تاپیک
    سلام



    ممنونم از لطفتون اون مورد به کمک شما حل شد .

    پیشنهاد خوبی دادید لذا من فیلد Tatil را به Yes/No تغییر دادم که رنگ روزهای انتخابی را بشه تغییر داد
    انواع دستورهای من درآوردی را توش بکار بردم خطا میگیره !

    اگه لطف کنید و خودتون بفرمایید منت دارتون خواهم بود

    خدا نگهدار
    فایلی اصلی رو پیدا نکردم ولی این یکی هم جواب شما را خواهد داد:
    فایل های ضمیمه فایل های ضمیمه

  35. #35

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    برای دیده شدن بصورت صحیح متنهای فارسی داخل فرمها و ماژولهای این فایلها در Windows 7 و Access 2007 چه تنظیماتی وجود دارد؟

  36. #36
    کاربر دائمی
    تاریخ عضویت
    مهر 1388
    محل زندگی
    بوشهر
    پست
    110

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    باسلام خدمت همه اساتید
    چرا از این استفاده نمی کنید.
    http://npmpro.blogfa.com/post/3/%D8%...B9%DA%A9%D8%B3
    من در همه برنامه هام استفاده کردم بدون نقص و خیلی عالی کار میکنه
    اینم سایت اصلی
    http://cpsd.ir/?

  37. #37
    کاربر دائمی آواتار abdoreza57
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    دنياي آمال و آرزوها
    پست
    485

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    نقل قول نوشته شده توسط Abbas Amiri مشاهده تاپیک
    فایلی اصلی رو پیدا نکردم ولی این یکی هم جواب شما را خواهد داد:

    سلام

    فایل ارسالیتون همان طور که عرض کردم حرف نداره میمونه یک نکته :
    امکان تبدیل به date picker درش هست یا اینکه چه تغییری تو optCalendar_Click باید داد تا به نتیجه رسید؟

    خدا نگهدار

  38. #38
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    نقل قول نوشته شده توسط mohammad5593 مشاهده تاپیک
    باسلام خدمت همه اساتید
    چرا از این استفاده نمی کنید.
    http://npmpro.blogfa.com/post/3/%D8%...B9%DA%A9%D8%B3
    من در همه برنامه هام استفاده کردم بدون نقص و خیلی عالی کار میکنه
    اینم سایت اصلی
    http://cpsd.ir/?
    مسلما یکی از بهترین اکتیو ایکسها برای تاریخ شمسی فایل مورد اشاره شماست .
    ولی اینجا سایت برنامه نویس است و خیلی ها بدنبال مهارت ویا بی نیازی به اکتیوایکس و ... هستند. برای همین در موارد مشابه بحث و ارائه نظر بسیار است .

  39. #39
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    نقل قول نوشته شده توسط mr_jafari2001 مشاهده تاپیک
    برای دیده شدن بصورت صحیح متنهای فارسی داخل فرمها و ماژولهای این فایلها در Windows 7 و Access 2007 چه تنظیماتی وجود دارد؟
    هرچند برنامه فوق یک کار تجاری نیست ولی مشکل شما در استفاده از آن چیست؟

  40. #40

    نقل قول: ماژول کامل تاریخ شمسی در اکسس با VBA

    نقل قول نوشته شده توسط Abbas Amiri مشاهده تاپیک
    هرچند برنامه فوق یک کار تجاری نیست ولی مشکل شما در استفاده از آن چیست؟

    مشکل من در نمایش فارسی کامنتها و تکستهای فرمها بود که از change system locale در Regional Language و تغییر آن به persian حل شد.

صفحه 1 از 2 12 آخرآخر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •