سؤال

لدي قاعدة بيانات Access تحتوي على عدة حقول عبارة عن خانات اختيار تتوافق مع حقول أخرى مثل رقم المعرف والتاريخ.أريد أن تكون هذه الحقول باللون الرمادي عندما لا يتم تحديد خانة الاختيار المقابلة وأن يتم فتحها عند تحديدها.

Check box: Study

Field 1: StudyID

Fields 2: StudyDate

تم تعطيل الحقلين بشكل افتراضي.أنا أستخدم الكود التالي لـ AfterUpdate في خانة الاختيار:

If Me.Study Then
    StudyID.Enabled = True
    StudyDate.Enabled = True
Else
    StudyID.Enabled = False
    StudyDate.Enabled = False
End If

وهذا يجعلها نوعا من العمل.إنه يعمل عند النقر ولكنه لا يحفظ التغيير عند تبديل السجلات أو إغلاق/إعادة فتح النموذج.هل هذا هو الكود الصحيح، أم أن هناك شيئًا أفضل، أم أن كل سجل يحتاج إلى ربطه بشكل فردي؟

هل كانت مفيدة؟

المحلول

ما تفتقده هو أن الكود يحتاج إلى التشغيل مرة أخرى "في الوضع الحالي".بهذه الطريقة، في كل مرة تقوم فيها بالرجوع مرة أخرى إلى النموذج، سيظهر لمعرفة ما إذا تم تحديد خانة الاختيار، وتمكين/تعطيل الحقول بشكل صحيح.

حدد النموذج (انقر فوق المربع الصغير الموجود أعلى اليسار حيث تتقاطع المساطر)، ثم في علامة التبويب "خصائص الحدث"، انقر فوق "On Current".قم بتحميل هذا الكود:

If Me.Study = -1 Then
    StudyID.Enabled = True
    studydate.Enabled = True
Else
    StudyID.Enabled = False
    studydate.Enabled = False
End If
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top