اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

كود تاريخ لمده معينه


Bshar
إذهب إلى أفضل إجابة Solved by Foksh,

الردود الموصى بها

السلام عليكم 

عندي جدول اسمه tabel1

حقل ترقيم اسمه numbr

وحقل تاريخ اسمه datss

,, بحاجه الى  كود vba  عن طريق دالة dlook up يعمل على اغلاق النموذج تلقائيا  بعد مده معينه مثلا شهر او سنه من قيمة التاريخ  الموجوده في datss. 

رابط هذا التعليق
شارك

أيضاً هذه فكرة أخرى للأستفادة من الحقل Numbr في جدولك ،

بحيث تكون قيمته هي المدة التجريبية التي بناءً على الفرق ( بعدد الأشهر ) سيتم اغلاق النموذج .

 

Sub AutoCloseFormAfterDuration()
    Dim tableName As String
    Dim fieldName As String
    Dim dateFieldName As String
    Dim durationInMonths As Variant
    Dim recordValue As Variant
    Dim currentDate As Date
    Dim recordDate As Date
    Dim diffInMonths As Integer
    
    tableName = "table1"
    fieldName = "numbr"
    dateFieldName = "datss"
    durationInMonths = Nz(DLookup(fieldName, tableName), 0)
    
    If IsNumeric(durationInMonths) Then
        recordValue = DLookup(dateFieldName, tableName)
        
        If Not IsNull(recordValue) Then
            currentDate = Date
            recordDate = DLookup(dateFieldName, tableName)
            diffInMonths = DateDiff("m", recordDate, currentDate)
            
            If diffInMonths > durationInMonths Then
                MsgBox "انتهت الفترة التجريبية", vbExclamation, "تحذير"
                DoCmd.Close acForm, Me.Name
            End If
        End If
    End If
End Sub

 

رابط هذا التعليق
شارك

انا تلخبطت في الكودين ولم انجح في تنفيذ العمليه @Foksh 

اليك فكرتي حيث ان Table1  فيه  عدة حقول شرحت في الوصف وظيفتهم با اختصار

قسمة فترة 3شهور و 6 شهور و سنه في حقل no_aa و no_pp و no_cc 

وفي دالة DLookup  عملت شرط با ان اريد تاريخ التفعيل الموجود عند سجل رقم 18  ولم انجح

ارجو المساعده لطفاا

مرفق

Test Foksh.accdb

رابط هذا التعليق
شارك

ههههه   الفكره واضحه فادي هي ان

قيمة  حقول  no_a و  no_p  و  no_c   هيه رموز التفعيل

قيمة  حقول  no_aa و  no_pp  و  no_cc   هيه مدة فترة التفعيل بالشهور

يعني كل رمز له فتره تفعيل معينه  

هيه موحده no_aa     ثلاث شهور

                   no_pp  ستة شهور

                   no_cc    اثنا عشر شهر

واذا كانت القيمه خاليه يكون التفعيل مفتوح

يارب 🤲 ان تكون فهمتني فووكش 😆

 

تم تعديل بواسطه Bshar
رابط هذا التعليق
شارك

يا Bshar 😂

في اول مشاركة كانت الحقول باسماء مختلفة ، وتم انشاء الكود بناءً على المعطيات ، وفي التعديل الأخير الفكرة مختلفة تماماً.

 

على العموم ، أكد لي ما فهمته قبل ما أروح لفكرة السجل ١٨ !!!!!!

no_a و no_p و no_c

كيف سنحدد رمز التفعيل ؟

على أي أساس نريد انشاء كود البحث !!

هذه النقطة وضحها اولاً

معلش استيعابي صباحاً يكون محدود وما أفكر غير بالفطور أولاً 🤣

رابط هذا التعليق
شارك

حاولت ارسال رساله جت رساله تقول مسموح لك يا ارسال صفر رساله 🤣

على العموم سأشرح لك كيف 

رقم 18 يأتي من نموذج آخر يقوم بتحديد رقم الجهاز من خلال

Dim obj_fsc As Object, obj_drive As Object
Set obj_fsc = CreateObject("Scripting.fileSystemObject")
Set obj_drive = obj_fsc.GetDrive("C:\")
[y1] = obj_drive.SerialNumber

و استند على رقم التسلسل هذا واضع رقم تفعيل المرافق في الحقل بجانب رقم التسلسل

في نموذج الدخول

 

رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information