Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: elvodia am Dezember 09, 2011, 19:19:13

Titel: Daten zusammenführen und eingabe machen
Beitrag von: elvodia am Dezember 09, 2011, 19:19:13
Guten Abend.

Da ich nicht genau weis wie ich mein Problem benennen soll hat mich auch die suche mich genützt daher hier eine Erläuterung.

Folgendes ist vorhanden:

Tabelle "Behandlungsarten"
Tabelle "Kassen"
Tabelle "Wer Zahlt was" (Welche Kasse zahlt was bei welcher Behandlung)


Was möchte ich.

Ich versuche mir aus 2 Tabellen eine zu machen als Zeilen Beschriftung die Kassen Namen und als Spalten Beschriftung die Behandlungsarten das hab ich soweit auch schon hinbekommen. Dort wo es in der Tabelle "Wer zahlt was" einen Treffer gibt liest er den wert auch aus und zeigt ihn mir an.

Nun kann ich in dieser Tabelle aber nix eintragen das dies ja ein Abfrage generiertes Formular ist. Gibt es eine Möglichkeit dort irgendwie was zu programmieren meinetwegen auch mit vba das man ein Feld auswählt Kasse Behandlung b "kosten" was dann in die Tabelle  "Wer zahlt was" geschrieben wird. Habs mit anfüge abfrage versucht aber leider net hinbekommen.

Hoffe ihr versteht was ich versuche. wenn nicht werd ich es an hand einer Tabelle erklären müssen.
Titel: Re: Daten zusammenführen und eingabe machen
Beitrag von: database am Dezember 09, 2011, 19:38:39
Hallo,

das was du hier beschreibst ist eine klassische n:m Beziehung zwischen den Tabellen 'Behandlungsarten' und 'Kassen', die zu 2 mal 1:n mit der Zwischentabelle 'Wer zahlt was' aufgelöst wird.
Den Namen würde ich aber auch schnell ändern ... z.B. 'Kassenleistung'.

Um zu realisieren was du dir da vorstellst müssen natürlich die Tabellen den Normailsierungsregeln entsprechend gestaltet sein ,
Primärschlüssel enthalten und untereinander über deren Fremdschlüssel verbunden sein.

Zitat....Ich versuche mir aus 2 Tabellen eine zu machen als Zeilen Beschriftung die Kassen ....
Diese Darstellung oder Ausdrucksweise läßt mich vermuten, dass du mit Excel mehr gemacht hast als mit einer Datenbank (Access)  ;)

ZitatDort wo es in der Tabelle "Wer zahlt was" einen Treffer gibt ...
Die sogenannten 'Treffer' sind Einträge, die einer Kassa und einer oder mehreren Behandlungsarten entsprechen.

Im Prinzip kann ich mir Vorstellen, dass die Daten über ein einfaches Formular zu erfassen sein sollten, in dem eine Kassa ausgewählt, eine Behandlungsart ausgewählt und ein bestimmter Betrag eingegeben wird.
in einem Unterformular oder einem Listenfeld werden dann alle Leistungen einer Kasse aufgelistet.

Ist es gewünscht diese Einträge auch zu Papier zu bringen kann das mit einem schön formatierten Bericht geschehen.

Um solche Einträge zu machen bedarf es in der Regel keiner Programmierkenntnisse, das erledigt Access von alleine,
wenn die Tabellen richtig aufgebaut und die Formulare entsprechend gestaltet werden.

Wie weit gehen denn deine Kenntnisse mit Access?
Es ist nicht ganz einfach dir zu helfen wenn wir nicht wissen wie weit wir ans Fundament müssen  ::)
Aber keine Angst, wir haben hier schon ganz frischen 'Frischlingen' auf die Sprünge geholfen.

Zu Anfang und zur Einstimmung kann ich dir die Linkliste in meiner Signatur anbieten, für Grundkenntnisse in Bezug auf Tabellen und Beziehungen,
Tabellengestaltung und Normalisierung die Links #1 und #1a in der Signatur von DF6GL.

Wenn du möchtest kannst du gerne mal deinen bisherigen Stand der Dinge komprimiert/repariert und gezippt hier hochladen (200KB maximale Größe)
Ich oder jemand anderes schauen uns gerne mal dein Werk an.

HTH
Titel: Re: Daten zusammenführen und eingabe machen
Beitrag von: elvodia am Dezember 09, 2011, 19:46:20
Das was du beschrieben hast entspricht in etwa dem was ich möchte.

Natürlich kann ich auch wie du beschrieben hast es über die Variante Kasse Behandlung wählen Leistung eintragen. So hab ich es bisher auch gemacht. Jedoch als ich diese Kreuztabelle als Übersicht gebaut habe um in einer Gesamtübersicht zu sehen wer was zahlt dachte ich mir " Und hier jetzt was eingeben das wär nice".

Zu meinen Kentnissen. Excel mehr als Access ja das Stimmt wohl. Habe schon viel mit Acces rumprobiert aber nie wirklich einProjekt zu ende gebracht was ich nun ändern möchte. ich habe viel mit PHP und mysql Programmiert zwegst datenback in php was ich zu der zeit einfacher fand als Access. Da sich SQL und Acces ja zumindest in den Befehlen was das schreiben und auslesen etwas ähneln denke ich kann ich mit eingen sachen schon was anfangen.
Titel: Re: Daten zusammenführen und eingabe machen
Beitrag von: database am Dezember 09, 2011, 20:54:19
Hallo,

ZitatJedoch als ich diese Kreuztabelle als Übersicht gebaut habe um in einer Gesamtübersicht zu sehen wer was zahlt dachte ich mir " Und hier jetzt was eingeben das wär nice"
...wäre nicht nice sondern grundfalsch!  :o

ZitatNatürlich kann ich auch wie du beschrieben hast es über die Variante Kasse Behandlung wählen Leistung eintragen
Dateneingaben erfolgen (auch) bei Access AUSSCHLIESSLICH über Formulare und KEINESFALLS in die Tabellen direkt.
Somit wäre dann meine Beschreibung der einzig gangbare Weg - da mußt du durch wenn das Projekt gelingen soll  ;D

ZitatDa sich SQL und Acces ja zumindest in den Befehlen was das schreiben und auslesen etwas ähneln
Wenn du mit SQL meinst T-SQL und mit Access Jet-SQL hast du schon ungefähr recht.

MySQL, PHP und Access haben miteinander nix zu tun - dynamische Webseiten unter PHP und MySQL-Backend sind etwas grundlegend Anderes als Access-Formulare.
Ebenso darf ich dir vorab ans Herz legen die Erkenntnisse aus Excel bei der Arbeit mit einer Datenbank gleich mal adActa zu legen - auch hier gibts keine Gemeinsamkeiten.

ZitatJedoch als ich diese Kreuztabelle als Übersicht gebaut habe ...
Um zu sehen welche Kasse welche Leistung erbringt bedarf es keiner Kreuztabelle - da genügt schon ein ganz normaler Bericht mit gruppierter Abfrage im Hintergrund.
Titel: Re: Daten zusammenführen und eingabe machen
Beitrag von: elvodia am Dezember 10, 2011, 22:28:26
Also ich habe nun eine neue Tabelle erstellt mir den Kassenleistungen. Muss halt wenn eine neue Behandlungsart hinzukommt die Tabelle Manuel im Entwurf verändern.

Der Vorteil dabei ist das ich mir diese Tabelle einfach in ein Formular lege und somit die Daten direkt bearbeiten kann so wie ich es möchte.

Neues Problem. Als Schlüssel habe ich die Kassen_ID angegeben die natürlich eine Zahl ist, was in der Übersicht blöd aus sieht weil mann ja keinen Namen sehen kann. Habe versucht dieses ID Feld mit einer Einzel abfrage mit dem namen der Kasse zu füllen. Die abfrage alleine Funktioniert wenn ich sie öffne soll ich ID eingeben und er Spuckt dann Namen aus. Aber im Formular steht dann immer nur #name?

Weis jemand wo der Fehler ist?

SELECT Krankenkassen.Krankenkassen_name
FROM Krankenkassen
WHERE (((Krankenkassen.Krankenkassen_ID)=[Formulare]![Kassenleistungen_übersicht]![Kassenleistungen].[Formular]![Krankenkasse]));


Die Tabelle befindet sich in dem Unterformular "Kassenleistungen_unterformular" welches sich im Formular "Kassenleistungen_übersicht" befindet
Titel: Re: Daten zusammenführen und eingabe machen
Beitrag von: database am Dezember 11, 2011, 11:46:24
Hallo,

"Muss halt wenn eine neue Behandlungsart hinzukommt die Tabelle Manuel im Entwurf verändern."

??? ??? ???
Wieso dieses?

ZitatDer Vorteil dabei ist das ich mir diese Tabelle einfach in ein Formular lege und somit die Daten direkt bearbeiten kann so wie ich es möchte
Das ist eigentlich Standard und sollte IMMER so erfolgen!
Allerdings hat dieses Argument nichts mit der vorherigen Feststellung zu tun  ;)

ZitatHabe versucht dieses ID Feld mit einer Einzel abfrage mit dem namen der Kasse zu füllen
Du kannst ein ID Feld nicht mit Text füllen, wenn dieses aus einer Tabelle stammt in der die ID per Autowert befüllt wird!

ZitatDie Tabelle befindet sich in dem Unterformular "Kassenleistungen_unterformular" welches sich im Formular "Kassenleistungen_übersicht" befindet
Schön und gut, jetzt weiß ich wie die Formulare heißen - nur....
Irgendwie werd' ich aus deinen Aussagen nicht klug - wie sind denn die Formulare untereinander in Beziehung gesetzt - welche Felder haben deine Tabellen, wie sieht das gesamte Tabellenkonzept aus, beziehen deine Formulare die Daten direkt aus den Tabellen oder aus Abfragen .....
Sag mal ist das Ding wirklich so streng geheim, dass du die DB nicht hochladen magst?
Titel: Re: Daten zusammenführen und eingabe machen
Beitrag von: Beaker s.a. am Dezember 11, 2011, 15:20:37
Hallo Elvodia,

ZitatAlso ich habe nun eine neue Tabelle erstellt mir den Kassenleistungen. Muss halt wenn eine neue Behandlungsart hinzukommt die Tabelle Manuel im Entwurf verändern.

Ganz schlecht, beachte unbedingt Peters Ausführungen.

ZitatNeues Problem. Als Schlüssel habe ich die Kassen_ID angegeben die natürlich eine Zahl ist, was in der Übersicht blöd aus sieht weil mann ja keinen Namen sehen kann. Habe versucht dieses ID Feld mit einer Einzel abfrage mit dem namen der Kasse zu füllen. Die abfrage alleine Funktioniert wenn ich sie öffne soll ich ID eingeben und er Spuckt dann Namen aus. Aber im Formular steht dann immer nur #name?

Das kannst Du mit einem einfachen DLookup bewerkstelligen. Lege ein ungebundenes Textfeld an, und verwende diesen Steuerlementeinhalt

=DLookup("Krankenkassen_name";"Krankenkassen";"Krankenkassen_ID=" & [Formulare]![Kassenleistungen_übersicht]![Kassenleistungen].[Formular]![Krankenkasse])

hth
gruss ekkehard
Titel: Re: Daten zusammenführen und eingabe machen
Beitrag von: elvodia am Dezember 12, 2011, 23:46:21
Nabend.

Also ich habe nochmal Umgemodelt und einiges hinbekommen. Wahrscheinlich über Umwege die Gute Programmierer nie gehen würden ^^

Die DB mach nun meist das was sie soll.

Nun habe ich das Problem das ich ein Eingabe Formular habe bei dem Folgendes passieren soll:

Ein Auswahlfeld mit den Patienten namen natürlich raus gezogen aus der Tabelle Patienten. Darunter nochmal ein Auswahlfeld was mit Daten aus einen abfrage gefüttert wird.

Abfrage etwas Kompliziert um sie zu erklären, was auch egal ist sie macht ja das was ich will.

Das Problem:

Wenn ich im ersten Feld eine Auswahl des Patienten mache soll er die abfrage ausführen und mir die Daten im zweiten Auswahlfeld anbieten. Das Funzt beim Ersten mal. Wenn ich den Patienten damm oben ändere führt er die abfrage nicht neu aus und bietet mit immer die selben Daten an. Habe es mit Aktualisierung Macro versucht was an sich geht aber dazu muss ich die abfrage im Hintergrund offen haben was ich nicht möchte.

Kenne mich mit VBA nicht ganz so aus.
Titel: Re: Daten zusammenführen und eingabe machen
Beitrag von: database am Dezember 13, 2011, 21:35:05
Hallo,

Zitat... über Umwege die Gute Programmierer nie gehen würden ...

Naja, wenn die DB nur MEISTENS das macht was sie soll ... denke ich, dass da was nicht ganz richtig läuft - oder?
Ich bin da schon eher der Meinung, dass die DB IMMER das machen soll, wozu sie geschaffen wurde  ;)

ZitatAbfrage etwas Kompliziert um sie zu erklären ...
Hmmmm...  ztztz

ZitatWenn ich im ersten Feld eine Auswahl des Patienten mache ....
Was du suchst ist die Lösung zur Frage um abhängige Kombifelder
Sieh mal da rein...
http://www.donkarl.com?FAQ4.36 (http://www.donkarl.com?FAQ4.36)  +  inkludierten Link

Hier wird unkompliziert erklärt wie für ein Kombifeld die Datenherkunft (Abfrage) dynamisch gestaltet und zugewiesen wird

HTH
Titel: Re: Daten zusammenführen und eingabe machen
Beitrag von: elvodia am Dezember 13, 2011, 22:09:34
Wunderbar. Danke für den Tip. Ich hab die 2te Variante genommen

Me!cbo_Artikel.Requery

Geht Super Danke
Titel: Re: Daten zusammenführen und eingabe machen
Beitrag von: elvodia am Dezember 13, 2011, 22:31:34
Ich arbeite Komplett mit Macros und wollte nun auf VBA umstellen und da kommt auch schon das erste Problem.

Private Sub Krankenkassen__name_DblClick(Cancel As Integer)
    DoCmd.OpenForm "FM_Kassen_details"
End Sub


Habe mir den Code aus Netz kopiert und angepasst. Es tut sich nix. Das Feld auf das ich dies anwende ist Gesperrt und nicht Aktiv hat das was damit zu tun?
Titel: Re: Daten zusammenführen und eingabe machen
Beitrag von: Beaker s.a. am Dezember 13, 2011, 22:48:43
Hallo Elvodia,

ZitatDas Feld auf das ich dies anwende ist Gesperrt und nicht Aktiv hat das was damit zu tun?

Hast Du es dann mal ausprobiert, das Control ungesperrt und aktiv zu stellen?
IMO reagieren gesperrte und inaktive Controls auf keine Ereignisse.
gruss ekkehard
Titel: Re: Daten zusammenführen und eingabe machen
Beitrag von: elvodia am Dezember 13, 2011, 23:13:47
Ist wieder mal Typisch. Ja ich hatte es Probiert vorhin. Denkste gehste auf nummer sicher versuchste nochmal. Geht nun.