Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Access 2013 Vergleich mehrere Felder

Begonnen von bn1986, November 16, 2015, 18:50:49

⏪ vorheriges - nächstes ⏩

bn1986

Liebe Access Spezialisten:)
Ich brauch eure Hilfe. Ich bin leider kein Profi und muss trotzdem ein Problem in Access lösen.

Ich habe im Access 2013 insgesamt drei Felder die ich miteinander vergleichen möchte. Ich will gerne, dass die jeweiligen Daten verglichen werden, wenn alle Werte in den Feldern gleich sind soll dieser Wert in einem neuen Feld wiedergegeben werden (Zielvariable). Sollten sich die Werte nicht entsprechen dann möchte ich, dass dies markiert wird, zB durch wiedergabe eines Datums das in der Zukunft liegt(dass ich im Anschluss das problemlos filtern kann). Sollten Nullwerte in einem der Felder stehen dann soll das beim Vergleich egal sein, also wenn zb zwei identische Werte (datum) eingetragen sind und ein Feld leer ist soll trotzdem das Datum wiedergegeben werden.

liebe Grüße und vielen Dank
Benjamin

MzKlMu

Hallo,
warum hier noch mal ?
http://www.office-loesung.de/p/viewtopic.php?f=167&t=706954

Grossposting ist unerwünscht (siehe Regeln).

Ich kann die Beispieldaten nicht ansehen, habe nur Access2003 (MDB).
Allerding ist Deine Beschreibung hier und im anderen Forum nicht so richtig verständlich (zumindest für mich).
Gruß Klaus

bn1986

Ich konnte in dem anderen Forum die Daten leider nicht hochladen deshalb habe ich es hier nochmals hineingestellt.
Ich hab mal noch ein Screenshot von den Feldern gemacht. Sorry falls ich irgendetwas noch nicht ausführlich genug formuliert habe. Was hast du nicht verstanden?
liebe Grüße

MzKlMu

Hallo,
ZitatIch konnte in dem anderen Forum die Daten leider nicht hochladen deshalb habe ich es hier nochmals hineingestellt.
wenn Du Dich im anderen Forum auch anmeldest (wie hier) kannst Du auch dort hochladen.

Was ist denn das Ziel der Aufgabe ?

Was sind das für 3 Datumsfelder ?
3 Datumsfelder die verglichen werden, sind fast immer ein Hinweis auf ein falsches Datenmodell.
Gruß Klaus

bn1986

Ausgangslage:
ich habe drei unterschiedliche Tabellen. In diesen Tabellen befinden sich jeweils Daten (die sich teilweise überschneiden) zu Personen . Es kann sein dass in manchen Feldern Werte vorkommen in manchen Feldern kommen keine Werte vor. Die Werte können (aufgrund von Fehler beim Eintragen in die Tabelle) sich teilweise in den unterschiedlichen Tabellen widersprechen obwohl es sich um die gleiche Person handelt.
In diesem Beispiel entspricht eine Spalte eine Person.

Datum-Feld:
Hier sind die Geburtsdaten der Personen eingetragen. "1 Datum" stammt ursprünglich aus Tabelle 1, "2 Datum" aus Tabelle 2, "3 Datum" aus Tabelle 3.
(Ich habe noch viele andere Variablen die ich auf diese Weise vergleichen möchte aber habe das Geburtsdatum mal als Beispiel genommen)

Ziel:
Ich will möglichst viele richtige Informationen erhalten. Wenn die Werte in den verschiedenen Felder nun gleich sind möchte ich das übernehmen in der neuen Variable (Zielvariable). Falls sich die Daten unterscheiden möchte ich mir das nochmal anschauen (und deshalb das Feld markieren).

MzKlMu

Hallo,
willst Du nicht lieber das Datenmodell bereinigen ?
Wieso gibt es zu Personen 3 Tabellen ?
Wie unterscheiden sich die Tabellen (Feldnamen) ?
Gruß Klaus

bn1986

Was meinst du damit das Datenmodell bereinigen?

Eigentlich habe ich drei Subtabellen in Access importiert und die drei Subtabellen durch eine Sub ID mit einer Haupttabelle (In der sich die unterschiedlichen Sub IDs befinden die dann eindeutig einer Haupt ID zugeordnet sind. Die eigentlichen Werte der Variablen, also z.B. Geburtsdatum, Größe, etc stehen jedoch in den Subtabellen)  in Beziehung gesetzt. Somit habe ich jetzt eine Abfrage für eine Variable erstellt (Geburtsdatum) die ich hier nun als Beispiel eingebracht habe.

3 Tabellen pro Person:
Die Daten zu den Personen wurden in unterschiedlichen Untersuchungen erhoben. Deshalb überschneiden diese sich teilweise. Hier soll jetzt eben herausgefunden werden welche Daten übereinstimmen und welche nicht um diese dann zu korrigieren.

Unterschied in den Tabellen:
Die Feldnamen (z.B. 1 Datum, 2 Datum, 3Datum) die im Endeffekt zusammengeführt werden sollen sind meistens in allen Tabellen vorhanden (manchmal auch nur in zwei).
Aber das wird recht kompliziert. Vielleicht ist es besser das anhand dieses Beispiels zu lösen und ich versuche das dann auf die anderen Fragestellungen zu übertragen.

Es soll am Ende quasi eine neue Tabelle entstehen die alle richtigen Werte aus allen SubTabellen enthält und nach Möglichkeit keine Fehler (sich nicht entsprechende Werte aus gleichen Feldern der unterschiedlichen Tabellen).

MzKlMu

Hallo,
führe die 3 Tabellen zu einer Tabelle zusammen mit einem Kennzeichen aus welcher Untersuchung diese kommen.

Der Sinn der 3 Datumsfelder habe ich immer noch nicht verstadnen.

Weist Du nicht was ein Datenmodell ist ?
Eine Datenbank sollte zur ordnungsgemäßen Funktion nach den Normalisierungsregeln aufgebaut sein. Das ist mit Datenmodell gemeint.
Gruß Klaus

bn1986

Naja ganz genau das (die drei Tabellen zusammenführen) versuche ich ja zu tun. Allerdings muss ich dazu ja die Werte der unterschiedlichen Tabellen vergleichen. Was ich bislang nicht hinbekommen habe. Deshalb habe ich hier ja um Hilfe gesucht:)  Einfach in Excel kann ich die Tabellen nicht zusammenführen da dies sehr unübersichtlich wird.
Es ist natürlich unsinnig, dass das Geburtsdatum dreimal vorhanden ist. Aber die Daten wurden wie gesagt in unterschiedlichen Untersuchungen erhoben, weshalb es eben vorkommen kann, dass identische Personen in den unterschiedlichen Subtabellen doppelt vorkommen. Deshalb soll ja gerade eine fertige Tabelle entstehen in der jedes Geburtsdatum (bzw jede weitere Variable) nur einmal aber richtig vorkommt. Daher muss ich die sich entsprechenden Felder der verschiedenen Tabellen vergleichen.

MzKlMu

Hallo,
irgendwie habe ich das mit dem Datum immer noch nicht richtig verstanden.
Hast Du in jeder dieser 3 Tabellen jeweils drei Felder für das Geburtsdatum ?
Oder steht da nur ein Feld ?

Mit Tabellen zusammenführen, meinte ich jetzt einfach mal alle 3 Tabellen per Anfügeabfragen in eine Tabelle übertragen, mit einem Kennzeichen um welcher Untersuchung es geht (kann eine Zahl 1-3 sein).
Dann suchst Du in dieser Tabelle nach Duplikaten von Name und Geburtsdatum. Die Datensätze die keine Duplikate haben sind schon mal richtig.
Gruß Klaus

bn1986

Hi,
ich glaube es führt zu weit wenn ich an dieser Stelle erkläre wie genau meine Tabellen aufgebaut sind und weshalb ich sie nicht einfach wie von dir beschrieben zusammenführen kann.
Wenn möglich würde ich mich gerne auf das Beispiel konzentrieren.
Ich Suche nach einer Lösung (einem Code den ich später in die Zielvariable schreiben kann) nach dem Motto:

wenn feld "1 Datum" = "2 Datum" = "3 Datum" dann übernehme "1 Datum"
Wenn  "1 Datum" =2 Datum ungleich "3 Datum" dann schreib 1.1.2050 (um das filtern und nochmal von Hand ansehen zu können)
Wenn"1Datum" leer ist und "2 Datum" = "3 Datum" dann schreibe "2 Datum".

Ist so etwas möglich?
und vielen Dank für eure Hilfe
Liebe Grüße

MaggieMay

Hallo,

die Lösung ist lediglich eine Fleißarbeit, indem du alle Fälle mit Hilfe der Wenn-Funktion abhandelst - etwas besseres fällt mir dazu auch nicht ein.

BTW:
Sonderzeichen in Feldnamen solltest du vermeiden und ein Datenfeld ist keine "Variable".
Freundliche Grüße
MaggieMay

bn1986