2017-03-28 4 views
0

Mit meiner App können Benutzer einen Bericht nach einer beliebigen Anzahl von Optionen sortieren. Ich brauche meinen VBA-Code, um zu prüfen, ob ein GroupLevel bereits existiert, damit ich ihn hinzufügen kann, falls der Bericht keine bestimmte Gruppenebene hat. (Natürlich, wenn die Grouplevel bereits vorhanden ist, ändere ich es Kontrolle ist zum einen durch den Benutzer festgelegt, dass ein Teil funktioniert..)So erhalten Sie die Länge des GroupingLevel-Arrays eines Berichts in VBA

Wenn ich Grouplevel als ein Array wie so behandeln:

If Me.Child0.Report.GroupLevel.Level < Grouping_Level Then 

ich bekommen Compiler-Fehler zeigt auf den .GroupLevel sagen:

"Argument nicht optional"

Wenn stattdessen teste ich für einen NULL-Wert in der vorgeschlagenen Gruppe ing Ebene wie folgt:

If IsNull(Me.Child0.Report.GroupLevel(Grouping_Level)) Then 

ich diese Fehlermeldung:

„Es gibt keine Sortierung oder Gruppierung Feld oder Ausdruck für die Anzahl Gruppenebene definiert Sie verwendet“

Was mache ich falsch?

Antwort

1

Kann den GroupLevel nicht als Ganzes referenzieren, muss jede Ebene nach Index referenzieren. Ich sehe Level nicht als Eigenschaft von GroupLevel. Der Verweis auf einen GroupLevel-Index, der nicht zusammen mit einer GroupLevel-Eigenschaft vorhanden ist, löst den Laufzeitfehler 2464 aus.
Me.Child0.Report.GroupLevel(Grouping_Level).ControlSource
Also nur Ansatz, den ich sehen kann, ist, den Fehler zu behandeln, wenn es ausgelöst wird.
Bewertung Allen Browne error handler

Verwandte Themen