تبلیغات
آموزش نرم افزار های تخصصی - سیستم نوبت دهی بر اساس تاریخ شمسی در نرم افزار اکسس

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

در خیلی از مشاغل با پدیده نوبت دهی برای مشتریان روبرو هستیم که بارزترین آن در مطب های پزشکی ، بانکها و ... می باشد .

در این مطلب فرا می گیریم که چگونه با استفاده از یک فرم در نرم افزار اکسس و با توجه به تاریخ شمسی روز سیستم به ایجاد نوبت برای فرد ثبت نام شده بپردازیم بگونه ای که این نوبت تلفیقی از  تاریخ روز و نوبت فرد باشد .

برای آشنایی با این روش در ادامه مطلب همراه من باشید.
1. ابتدا جدولی با آیتمهای موجود در عکس زیر طراحی نموده و آن را به نام     ذخیره نمایید.
جدول نوبت دهی در اکسس
2. حال از این جدول خود یک فرم تهیه نمایید .

طراحی فرم اکسس

در تهیه این فرم نکات زیر را مدنظر قرار دهید .
- خاصیت visible تکس باکس مربوط به CardNo را به صورت NO تعریف نمایید . (طبق تصویر زیر)

پنجره خصوصیات

-نام دکمه مربوط به ایجاد نوبت را بصورت txtnobat تعریف نمایید .(طبق تصویر زیر)

فرم اکسس

- دکمه های مربوط به پیمایش بین رکوردهای قبلی و بعدی و نیز ایجاد نوبت جدید را ایجاد و به فرم خود اضافه نمایید .
3. در نمای طراحی فرم با نگهداشتن همزمان دکمه های ALT+F11  بطور همزمان فشرده تا وارد محیط کد نویسی شوید سپس از منوی Insert گزینه module  را انتخاب نموده و کدهای زیر را درون آن کپی نمایید .و با ذخیره آن از محیط کد نویسی خارج شوید .

Public Function Autonum(ByVal strField As String, ByVal strTable As String) As String
Dim dmval As String, dt1 As String, dt2 As String, Seq As Integer, dv As String


dmval = Nz(DMax(strField, strTable), 0)


If val(dmval) = 0 Then
   dv = Format(Now(), "yyyymmdd") * 1000 + 1
   Autonum = dv
   Exit Function
End If


dv = Format(dmval, "00000000000")

Seq = val(Right(dv, 3))

dt1 = Left(dv, 8)

dt2 = Format(Now(), "yyyymmdd")

If dt1 = dt2 Then
   Seq = Seq + 1
  
   Autonum = Format(val(dt1) * 1000 + Seq)
   Exit Function
Else
  
   Autonum = Format(val(dt2) * 1000 + 1)
End If

End Function


4. مجدا در حالی که در نمای طراحی فرم خود قرار دارید از سربرگ  Design گزینه view Cod  را انتخاب نموده و کدهای زیر را درون آن ذخیره نمایید .

کدنویسی


Private Sub cmdcreat_Click()

Me.txtnobat = Shamsi() & "-" & "(" & Right(Me.cardNO, 3) & ")"
End Sub

Private Sub Form_BeforeInsert(Cancel As Integer)
  Me![cardNO] = Autonum("CardNo", "Patients")
End Sub

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

نکته مهم (1) :
     این سیستم نوبت دهی بر اساس تاریخ روز عمل می نماید یعنی تا زمانی که تاریخ برابر با تاریخ امروز باشد نوبت دهی از شماره 1 شروع و تا شماره های بالاتر ادامه می یابد اما به محض اینکه تاریخ سیستم به روز بعد منتقل شود شماره دهی مجددا از شماره 1 و برای همان روز تا شماره های بالاتر تداوم پیدا می کند .

نکته مهم (2):
    برای اینکه سیستم نوبت دهی را بر طبق تاریخ شمسی داشته باشید باید ماژول های تبدیل تاریخ جاری سیستم به تاریخ شمسی را تهیه و به محیط کاری خود اضافه نمایید تا این تبدیل تاریخ انجام گردد . اگر در خصوص نحوه اضافه کردن این مآژول ها سوال و یا مشکلی داشتید در قسمتنظرات بپرسید تا راهنمایی های لازم ارائه شود .





طبقه بندی: آموزش ACCESS،
برچسب ها:سیستم نوبت دهی در اکسس، تاریخ شمسی در اکسس، ماژول،
تاریخ : دوشنبه 4 دی 1396 | 01:50 ب.ظ | نویسنده : امید شهری | نظرات()
.: Weblog Themes By Bia2skin :.