'LLTAB' - Designer-Tabellen

Allgemeine Beschreibung

In nahezu jeder Menüfunktion können über die Drucken- bzw. Liste-Funktion Formulare und Listen gedruckt werden. Das Aussehen dieser Ausdrucke wird durch Report-Dateien bestimmt, welche mit dem integrierten Report-Designer erstellt und bearbeitet werden. Dem Designer stehen grundsätzlich die Daten der Primärtabelle der Menüfunktion zur Verfügung, z.B.bei den Artikeln die Artikel-Tabelle. Oft gehören zu einem Objekt aber noch weitere Daten, welche in anderen 1-zu-n-verknüpften Tabellen untergebracht sind, z.B. die Adresse eine Beleges, die Produktgruppe eines Artikels oder das Land einer Adresse. Damit der Designer diese Daten anbietet und z.B. auf einer Artikel-Liste zu jedem Artikel nochmal eine Untertabelle mit den Lieferanten-Daten des Artikels gedruckt werden kann, muss dies dem Designer entsprechend mitgeteilt werden. Dazu steht die Menüfunktion 'Verwaltung -> Formulare und Listen -> Designer-Tabellen' zur Verfügung.

Teilweise werden Einträge in den Designer-Tabellen bereits bei der Entwicklung oder im Zuge der Weiterentwicklung von easyWinArt eingestellt, weil diese für Original-Listen und -Formulare benötigt oder allgemein als sinnvoll erachtet werden. Darüber hinaus können die Designer-Tabellen jederzeit kundenspezifisch um weitere Einträge erweitert werden. Hierbei können weitere Original-Tabellen und -Sichten, aber auch eigene Tabellen und Sichten hinzugefügt werden. Oft ist es sinnvoll, Daten mit Hilfe einer Sicht (View) im SQL Server Management Studio bereits passend aufzubereiten, so dass die richtigen Zeilen und gewüschten Spalten zur Verfügung stehen.

Eintragen von Designer-Tabellen

Die Menüfunktion 'Designer-Tabellen' kann pro Menüfunktion aufgerufen werden und die Einträge gelten genau dann für den Report-Designer, wenn dieser aus der entsprechenden Menüfunktion aufgerufen wird. Möchte man z.B. eine Untertabelle für die Positionen im Rahmen des Rechnungs-Drucks hinzufügen, so ist nicht die Vorgangs-Positionen-Menüfunktion, sondern die Menüfunktion 'Vorgangs-Belege' zu bearbeiten, da zwar die Positionen erweitert werden sollen, diese aber wiederum eine Erweiterung der Rechunng bzw. des Vorgangs sind und der Druck später auch aus der Menüfunktion 'Vorgangs-Belege' angestoßen wird. Bei einem neuen Eintrag müssen die vier Pflichtinformationen zu Primärschlüsselfeld und Fremdschlüsselfeld ausgefüllt werden. Sollen z.B. die Vorgangs-Positionen für einen Beleg zur Verfügung gestellt und der Druck über die Vorgangs-Belege ausgeführt werden, so ist dies eine klassische 1-zu-n-Beziehung, die Vorgangs-Tabelle 'Vorgang', welche auch Primärtabelle ist, wäre dann die 'Master-Tabelle'. Hinzugefügt werden sollen die Positionen, daher wird die Tabelle 'VorgangsPosition' als Detail-Tabelle eingetragen. Über das Fremdschlüssel-Feld 'Beleg' in der VorgangsPosition-Tabelle ist jeder Position ein Beleg zugewiesen, daher wird dieses als Detail-Spalte eingestellt. Der Wert in dieser Spalte findet sich dann als  Primärschlüssel im Feld 'GUID' der Vorgang-Tabelle wieder, dies ist deshalb als Master-Spalte einzutragen.

Funktioniert die Beziehung andersherum, soll also zu jeder der Positionen jeweils die Artikel-Tabelle verknüpft werden, so ist das Häkchen 'Master-Detail vertauschen' zu setzen, da es zu jeder der Positionen höchstens genau eine Zeile in der Artikel-Tabelle gibt, dies wäre eine n-zu-1-Beziehung. Genauso ist es z.B. zwischen Vorgang und Adresse eingestellt, da es zu jedem Beleg genau eine Adresse gibt.

Wenn Tabellen mehrfach in den Designer-Tabellen einer Menüfunktion vorkommen, so wird dies entsprechend durch einen Hinweis quittiert und es muss ein anderer Zusatz, z.B. eine '1', eingestellt werden. Dies ist nötig, damit durch entsprechende Aliase eine Eindeutigkeit des SQL-Befehls gewährleistet ist.

Beispiel für Designer-Tabellen

Als praktisches Beispiel zum Ansehen eigenen sich die Designer-Tabellen der Menüfunktion 'Vorgangs-Belege'. Dort sind beide Arten von Beziehungen sowie sowohl Tabellen und als auch Sichten eingestellt.

Häufiger Fehler der nicht gegebenen Eindeutigkeit

Sollen z.B. bei den Vorgangs-Belegen noch Daten zum Artikel hinzugefügt werden, so kann man auf den Gedanken kommen, einen Eintrag zu erstellen, welcher mit der Artikel-Tabelle als Master-Tabelle und der GUID-Spalte des Artikels als Master-Spalte verknüpft wird. Dies scheint auch im ersten Augenblick zu funktionieren, sobald aber ein Artikel doppelt in einem Beleg vorkommt, erscheint ein Fehler, weil keine eindeutige Zuordnung mehr möglich ist. In diesem Fall ist die verknüpfte Tabelle/Sicht so zu konstruieren, dass man diese mit der Spalte 'GUID' der Tabelle 'VorgangsPosition' verknüpfen kann, da jede dieser GUIDs weltweit eindeutig ist und dies zum gewünschten Ergebnis führt, die Daten also im Report-Designer korrekt zur Verfügung stehen.

Beratung erwünscht?

Gerne können Sie mich oder einen mein­er freund­lichen Kollegen telefonisch er­reichen:  +49 2161 277 680

Alter­na­tiv schrei­ben Sie uns an  info@it-easy.de oder nutz­en Sie das nach­folgende Kontakt­formular.

Ihr Ralf Jasper
Kundenservice

Mitarbeiterfoto von Herrn Ralf Jasper


Rückruf-Service

Für eine möglichst unkomplizierte Kontaktaufnahme füllen Sie bitte das unten stehende Formular aus und klicken auf „Rückruf anfordern“.