benutzerdef. Funktion im reportbuilder

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

bbberti
**
Beiträge: 38
Registriert: Do, 28.05.2009 13:55

benutzerdef. Funktion im reportbuilder

Beitrag von bbberti »

Hallo,

ich habe eine Datenbank, in der ich den Praktikumseinsatz von Schülern verwalte. In einer Tabelle "SchuelerStellenBelegung" werden die SchülerID und die StellenID der Praktikumsstelle zusammengeführt.

Ich habe einen Bericht mit dem reportbuilder erstellt für Schüler, die die Praktikumsstelle aus diversen Gründen wechseln.
Der Bericht führt im Kopf den Schüler mit Wechselgrund auf, im Detailbereich die beiden Praktikumsstellen. Zuerst kommt die alte Stelle, die ein Abbruchdatum aufweist, dann die neue Stelle.
Ich hätte jetzt gerne eine Funktion, die über die alte Praxisstelle den Text "bisherige Praxisstelle" und über die neue Praktikumsstelle entsprechend diesen Text schreibt. Mein Gedanke wäre nun ein Feld im Detail-Bereich einzufügen, das mit if-Funktion "alte Stelle" als Text schreibt, wenn ein Abbruchdatum in der SchuelerStellenBelegung" vorhanden ist, und über die neue Stelle entsprechend dies schreibt, wenn kein Abbruchdatum vorhanden ist, also dieses Feld leer ist. Abbruchdatum ist ein Feld in der Tabelle "SchuelerStellenBelegung", das aber nicht ausgefüllt werden muss (logischerweise).

Ich hab schon einen Nachmittag rumprobiert, nach dem Motto: IF (ISBLANK("Abbruchdatum"));Then_value("Neue Stelle");Otherwise_value("alte Stelle"). Ich weiß allerdings nicht, ob das überhaupt so möglich ist, und wenn ja, wie genau dies geschrieben werden soll.

Danke für Tipps.
Berthold
RobertG
********
Beiträge: 2065
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: benutzerdef. Funktion im reportbuilder

Beitrag von RobertG »

Hallo Berthold,

obwohl ich das Handbuch größtenteils selbst verfasst habe hier der Generaltip für solche Lösungen: Versuche alles dem Report-Builder in einer Ansicht vorzugeben - Ansicht eher noch als eine Abfrage. Für Deinen Fall müsste die Abfrage alle Felder enthalten. Ich gehe einmal davon aus, dass eins der Felder "Abbruchdatum" heißt. Baue in diese Abfrage ein

Code: Alles auswählen

CASEWHEN( "Abbruchdatum" IS NULL, 'neue Stelle', 'alte Stelle') AS "Text"
Dann hast Du den Text in der Abfrage/der Ansicht und kannst darauf entsprechend zugreifen.
Ansonsten schau Dir im Handbuch das Kapitel zum Report-Builder an, wenn Du das unbedingt anders lösen möchtest.

Gruß

Robert
Antworten