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

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

قام بنشر
Private Sub Report_Open(Cancel As Integer)

Dim ctl As Control

For Each ctl In Me.Controls
    If IsNull(ctl.Value) Or ctl.Value = "" Then
        ctl.Visible = False
    End If
Next ctl

End Sub

هل يمكن جعل هذا الكود في موديل و استدعائه لجميع التقارير الموجودة في البرنامج 

  • تمت الإجابة
قام بنشر

تفضل أخي @أبو امين 🙂 

<< تعديل >>

عملت لك دالتين .. واحدة للنماذج وأخرى خاصة بالتقارير .. أنسخهم هم الإثنين في موديول :

Public Sub ShowOrHideFormControls()

Dim Frm As Form
Dim Ctl As Control

Set Frm = Screen.ActiveForm

For Each Ctl In Frm.Controls
    Select Case Ctl.ControlType
      Case acTextBox, acComboBox, acListBox, acCheckBox, acOptionButton, acOptionGroup
        If IsNull(Ctl.value) Or Ctl.value = "" Then
            Ctl.Visible = False
        End If
    End Select
Next Ctl

Set Frm = Nothing
End Sub

'-------------------------------------------------------------------
Public Sub ShowOrHideReportControls()

Dim Rpt As Report
Dim Ctl As Control

Set Rpt = Screen.ActiveReport

For Each Ctl In Rpt.Controls
    Select Case Ctl.ControlType
      Case acTextBox, acComboBox, acListBox, acCheckBox, acOptionButton, acOptionGroup
        If IsNull(Ctl.value) Or Ctl.value = "" Then
            Ctl.Visible = False
        End If
    End Select
Next Ctl

Set Rpt = Nothing
End Sub

وتنادي كل دالة باسمها حسب الاستخدام هكذا :

' للنماذج
Call ShowOrHideFormControls()


' للتقارير
Call ShowOrHideReportControls()

 

  • Like 3
  • Thanks 2

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

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

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

Important Information