Zeugnisse-Relation und decodierung

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Maikswelt
*
Beiträge: 10
Registriert: Mi, 09.09.2009 10:37

Zeugnisse-Relation und decodierung

Beitrag von Maikswelt »

Hi, ich steh vor folgendem Problem und hab noch keine große Ahnung wie ich es lösen soll :-/
Um die Vorbereitung von Zeugnisbeurteilungen zu erleichtern, haben die entsprechendn Ausbilder einen Codeplan

A1 steht für das
A2 für jenes ....
usw...

Ich möchte in einem ersten Schritt für jeden Teilnehmer, der bereits in einer DB-Tabelle angelegt ist, die codierten Daten eingeben.
In einem zweiten Schritt soll die "Übersetzung" erfolgen und in einem dritten die Ausgabe in einem Serienbrief.

1.: Als Primärschlüssel hab ich die 5 verschiedenen Rubriken wie "Arbeitsweise" festgelegt, die Code-Bezeichnungen stehen im Tabellenkopf und sind als Boolean konfiguriert

2.: wie kann ich die Relation herstellen, dass für den Serienbrief die ausgeschriebenen Formulierungen gezogen werden?

ich glaub mein Hauptproblem is derzeit, dass ich noch ni kapiert hab, wie ich letztlich dem Namen ein Zeugnis zuordne ohne es in die gleiche Tabelle wie den hauptdatensatz einbaue

weiß einer Rat?

thx Maik
Barlee
******
Beiträge: 767
Registriert: Sa, 17.12.2005 12:27

Re: Zeugnisse-Relation und decodierung

Beitrag von Barlee »

Hallo Maikswelt,
Als Primärschlüssel hab ich die 5 verschiedenen Rubriken wie "Arbeitsweise" festgelegt, die Code-Bezeichnungen stehen im Tabellenkopf und sind als Boolean konfiguriert
Welches gemeinsame Attribut (Spalte) besteht zwischen dieser Tabelle und der mit den Teilnehmern? Aus der Tabelle mit den Rubriken muss ja irgendwie der Teilnehmer hervorgehen, dem die codierte Bewertung zugeordnet ist. Evtl. musst Du Deine Tabellenstruktur nochmal durchdenken.
Denkbar wäre z.B.

[Teilnehmer]
PersID
Vorname
Name

[codierung]
Code
Code_lang

[Zuordnung]
ID
PersID (aus Teilnehmertabelle)
A1
A2
A3

Dann könntest Du mit Hilfe einer Abfrage die Zuordnung (Übersetzung) vornehmen. Diese könnte wie folgt aussehen.

Code: Alles auswählen

SELECT "a".*, "b".* ,
CASE 
WHEN "b"."A1" = TRUE THEN (SELECT "Code_lang" FROM "Codierung" WHERE "Code" = 'A1')
WHEN "b"."A2" = TRUE THEN (SELECT "Code_lang" FROM "Codierung" WHERE "Code" = 'A2')
WHEN "b"."A3" = TRUE THEN (SELECT "Code_lang" FROM "Codierung" WHERE "Code" = 'A3')
END AS "Beschreibung"
FROM "Teilnehmer" "a", "Zuordnung" "b"
WHERE "a"."PersID" = "b"."PersID"
Letzten Endes nimmst Du die Abfrage als Grundlage für den Serienbrief.

Gruß Barlee
Antworten