Ansicht ein-/ausblenden

Zweck:

Abhängig von der Datenlage soll im freien Arbeiten eine Ansicht eingeblendet oder ausgeblendet werden.


Achtung:

Im Workflow werden immer die Ansichten angezeigt, die auch in der Bearbeitungsstufe gewählt wurden. Hier ist es nicht möglich über einen Makro Ansichten ein- oder auszublenden. Dies ist nur im Arbeitsmodus "freies Arbeiten" möglich.


Vorgehensweise:

Auf Ebene der Adresstabelle gibt es den Makro BEIM LADEN.
Über nachfolgenden Makro-Code kann die Ansicht ein- oder ausgeblendet werden:

Die Eigenschaft Visible gibt an, ob eine Ansicht aktuell sichtbar ist.
Wird die Eigenschaft Visible innerhalb eines Makros auf den Wert True gesetzt, so wird eine Ansicht sichtbar (eingeblendet). Durch Setzen der Eigenschaft Visible auf False wird eine Ansicht ausgeblendet.

Beispiel:


' Ansicht Ausblenden, wenn Feld NUMMER = ""
' Über ActiveAddressSet.Forms erhalten wir Zugriff auf
' alle Ansichten
    Dim oForm
    Set oForm = ActiveAddressSet.Forms
   
' Makro darf im Workflow nicht ausgeführt werden
   If Context.WorkflowMode = false then
' Bedingung, wann Ansicht ein- / ausgeblendet wird
       If ActiveRecord.Fields("Number") ="" Then
            oForm("Stammdaten").Visible = false
        Else
            oForm("Stammdaten").Visible = true
        End If
    End If

Beispielmakro für Ansichten ein-/ausblenden abhängig von Zugehörigkeit des Anwender zu einer Benutzergruppe:

Ansicht nur für bestimmte Benutzergruppen erlauben
 
Option Explicit
Application.GlobalData("Refresh_"&CurrentForm.Name) = true
' Zugriff auf die Ansicht nur Mitglieder der Gruppe "Muster" gewähren
Dim bAccessGranted, oGroups, oUser
On Error Resume Next
bAccessGranted = false
 
Set oGroups = Application.Groups("Muster")
For Each oUser in oGroups.Users
IF oUser.Name = Application.ActiveUser.Name Then
bAccessGranted = true
Exit For
End If
Next
 
If NOT bAccessGranted Then
CurrentForm.Visible = false
End If