Unterberichte aus SQL-Abfrage

Hallo,

in meinem aktuellen Projekt sollen Arbeitsberichte über Unterberichte implementiert werden, d.h. eine Liste von Arbeitsberichten soll nach den Angestellten gruppiert werden.

Laut Handbuch (“5.2 Praxis: Unterberichte korrekt definieren”) ist dies mit relational verknüpften Tabellen möglich. Allerdings bietet unser Interface momentan nur SQL-Abfragen an. Die ursprüngliche Datenbank verfügt zwar über relationale Verknüpfungen, über Queries können diese jedoch meines Wissens nach nicht übernommen werden.

Gibt es noch weitere Möglichkeiten, Unterberichte zu definieren?

Mit einem eigenen Datenprovider können Sie an sich beliebige Strukturen abbilden. Bei der Enterprise-Edition haben Sie den vollen .NET-Sourcecode dabei, dann können Sie sich inspirieren lassen. Aber auch sonst ist das kein Hexenwerk, werfen Sie einmal einen Blick auf das C# Data Provider-Beispiel, da wird das exemplarisch für einen (einfachen) CSV-Provider demonstriert.

Wenn es sich um eine Datenbank mit ADO.NET-Treiber handelt hilft in der Regel auch der DbCommandSetDataProvider weiter - Sie können darin beliebige Relationen definieren (die so auch in der Datenquelle nicht vordefiniert sein müssen) solange Sie die Schlüsselfelder kennen. Wir haben hier ein Beispiel dafür in der Dokumentation, wenn Sie mehrere Schlüssel verwenden wollen wäre die Syntax in etwa so:

provider.AddRelation("Customers2Orders", "Customers", "Orders", "CustomerID\tCustomerSubID", "CustomerID\tCustomerSubID ");