Hallo,
ich habe ein Problem mit Access. Es geht darum, dass ich Leistungsbögen erfassen muss:
- ca. 20 Leistungen, von denen jeder Patient mehrere in Anspruch genommen haben kann
- der (jeder dieser Leistungen) zugrundeliegende Betrag unterscheidet sich nun danach, ob der der Patient entweder privat
oder pflichtversichert ist. Also zum Beispiel:
-------------------------------------
Fritz Mustermann
Datum: 12.10.1999
Versicherungsart: privat
("X" = Leistung wurde beansprucht)
Leistung 1: X
Leistung 2:
Leistung 3: X
Leistung 4: X
Leistung 5:
.
.
.
Leistung 20: X
-------------------------------------
In der obigen Form werden die Daten in einer Tabelle ("Erfassungstabelle") mittels eines Formulars erfasst.
Das Feld "Name" war einfach Text, Datum natürlich Datum, Versicherungsart auch wieder Text, die einzelnen Leistungen
"Ja/Nein".
Nun muss ich erreichen, dass ich die Summe der Beträge der in Anspruch genommen Leistungen pro Patient angezeigt bekomme. Ich
habe nun dazu eine zweite Tabelle ("Wertetabelle") gemacht, die folgendermaßen aussieht:
Vers_art|Betrag_Leistung1|Betrag_Leistung2|...|Betrag_Leistung20
----------------------------------------------------------------
pflicht | 12,00 DM| 8,00 DM|...| 17,00 DM
----------------------------------------------------------------
privat | 19,00 DM| 14,00 DM|...| 26,00 DM
Dann habe ich zwischen den beiden Tabellen eine Beziehung hergestellt, in dem ich aus "Erfassungstabelle" das Feld
"Vers_art" auf "Vers_art" in "Wertetabelle" gezogen habe.
Nun erstellte ich eine Abfrage ("Abfrage1") , die alle Felder beider Tabellen enthält. Danach erstellte ich ein Formular
("Abfrageformular"), dass alle Felder von "Abfrage1" enthält.
Das ganze hat auch soweit prima funktioniert, d.h. es wurde mir in diesem Abfrageformular jeder Patient mit den in Anspruch genommenen Leistungen und den jeweils dazugehörigen Einzelbeträgen der Leistungen angezeigt. Auch die Abhängigkeit der Beträge von der Versicherungsart klappte.
Das Problem ist nun, die Beträge der in Anspruch genommen Leistungen zu addieren und als Summe anzuzeigen. Ich habe versucht,
ein neues Textfeld im Abfrageformular zu erzeugen, dass als Steuerelementinhalt enthält:
=Summe([Abfrage1]![Betrag_Leistung1]+[Abfrage1]![Betrag_Leistung2]+...+[Abfrage1]![Betrag_Leistung20])
Das Textfeld habe ich (wie auch die Felder Betrag_Leistung1 bis Betrag_Leistung20 in der Wertetabelle) als Währung (DM)
definiert. In der Formularansicht zeigt mir dieses Textfeld aber nur "#Fehler" an.
Was hab ich da falsch gemacht? Ich weiss nun einfach nicht mehr weiter.
Tausend Dank für Eure Hilfe,
MfG,
Robert Klerx
robert.klerx@mz-ac.de
Office - Word, Excel und Co. 9.703 Themen, 40.813 Beiträge
>Was hab ich da falsch gemacht?
Du hast den klassischen Anfaengerfehler gemacht und ACCESS, was eine Datenbank ist, wie EXCEL bedient.
so, wie es jetzt ist, bekommst du die Leistungssume nur unter erheblichen Muehen heraus.
Heute Abend nicht mehr, aber wenn ich morgen etwas zeit finde, droesele ich dein Tabellen-Design auseinander, dann zweige ich dir, wie du bei sowas immer an alle Daten kommst.
Du wirst aber nicht umhin kommen, dich bei so einer komplexen Sache mit dem Relationenmodell und dem Entity-Relationship Modell, also mit relationaler Datenbanktheorie, zu befassen, sowie mit dem Thema "Normalisierung". Keine Angst, es nicht wirklich kompliziert, und ich kenne auch ein Buch, in dem es sehr anschaulich und leicht verdaulich beschrieben ist:
"ACCESS 97 - Das Handbuch" bzw "ACCESS 2000 - Das handbuch" aus dem Verlag "Microsoft Press" -die Buecher wurden von den Access-Profis Ralf Albrecht und Natascha Nicol geschrieben.
Volker