اذهب الي المحتوي
أوفيسنا

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

قام بنشر

السلام عليكم 

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

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

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

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

  • أفضل إجابة
قام بنشر (معدل)

أخي الكريم تفضل طلبك بطريقتي :rol:

Test Foksh.accdb

 

تم تعديل بواسطه Foksh
  • Like 1
قام بنشر

جميل جدا المعلم والخبير الاستاذ فادي , اشكرك ياصديقي @Foksh 🌹

  • Thanks 1
قام بنشر

أيضاً هذه فكرة أخرى للأستفادة من الحقل 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

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

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

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

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

قام بنشر (معدل)

اوك فوكشش

 

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

اخي الكريم ، عضويتك تسمح لك بارسال رسالة ، فيا حبذا تعديل مشاركتك بالغاء رقم الهاتف حتى لا يتعرض الموضوع للإغلاق 😊

قام بنشر

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

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

رقم 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

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

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

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information