9.1k Aufrufe
Gefragt in Datenbanken von suki Mitglied (131 Punkte)
Hallo zusammen,

ich möchte in Access Übereinstimmungen in Feldern verschiedener Tabellen ermitteln. Der Einfachheit halber füge ich hier die Datenbank ein:
https://www.dropbox.com/s/y25zqppri291afm/Datenbank%20Abfrage.accdb

Im Beispiel habe ich zwei Texte (ID_text), die über einen Titel, den Volltext sowie Schlagworte verfügen. Diese sind in den drei Tabellen aufgeführt. Nun möchte ich eine Abfrage erstellen, die mir die Schlagworte mit den Titeln und dem Volltext der jeweiligen Text-ID abgleicht, d.h. quasi, dass die Zeichenfolge dort auch vorkommen muss. Beispiel: Schlagwort "Affe" bei Text Nr. 1 ist im Titel des Textes Nr. 1 enthalten (Affen). Ich möchte, dass mir dies für jedes Schlagwort einzeln ausgegeben wird.

Es wäre super, wenn mir jemand weiterhelfen könnte!

Liebe Grüsse,
Suki

25 Antworten

0 Punkte
Beantwortet von suki Mitglied (131 Punkte)
Hallo Paul,

vielen Dank für den Link zu den Matrixformeln, das ist wirklich sehr gut erklärt!

Die Zellbereiche habe ich jetzt angepasst, dabei ist allerdings ein Fehler zutage gekommen: Bei einem Schlagwort der TextID 1 soll dieses Schlagwort ja lediglich mit dem Titel mit ebenfalls TextID 1 verglichen werden. Nun scheint es so zu sein, dass mit dieser Formel alle Titel unabhängig von der ID durchsucht werden, was dann natürlich falsche Ergebnisse ergibt. Es ist wirklich wichtig, dass jeweils nur Schlagworte, Titel und Volltext einer einzigen Text-ID verglichen werden. Ist das in Excel lösbar?

Liebe Grüsse
Suki


P.S. Kennst du in der Art des Links zu Matrixformeln auch eine gute Einführung in Datenbankabfragen in Access?
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Suki,

Die Formeln arbeiten korrekt!

Die Schlagworte und die ID-Text sind in der Tabelle "Abfrageergebnis"

Die Tabelle "Schlagworte" spielt bei den Formeln keine Rolle mehr!

Wenn die ID_Text der Tabelle "Titel" die gleiche Nr. hat wie die ID_Text in Tabelle "Abfrageergebnis" und in Spalte C die Schlagworte enthalten sind, wie auch in Tabelle "Titel" dann klappt es.

Das gleiche gilt für Tabelle "Volltext".

Die Formeln prüfen sowohl die Übereinstimmung mit dem Schlagwort als auch die Übereinstimmung der dazugehörigen ID-Text.

Wenn alles korrekt eingegeben ist, kann die Formel keine Fehler machen.
Schau es Dir nochmals genau an

Sollte irgendwas unrund laufen, würde ich ein konkretes Beispiel brauchen, um der Sache auf den Grund gehen zu können.

Ein guter Link für Access wäre:

Access

Gruß

Paul1
0 Punkte
Beantwortet von suki Mitglied (131 Punkte)
Hallo Paul,

ich kann leider nicht herausfinden, wo der Fehler liegt, da mir diese Formeln zu komplex sind.

Hier konkret das Beispiel mit einem Ausschnitt aus meinen Daten:
https://www.dropbox.com/s/bibh75y6qoah164/DatenkbankAbfrage%20Beispiel.xls

Ein Problem gibt es beispielsweise im Feld F6, dort ist "ja" angegeben, obwohl das Schlagwort im dazugehörigen Titel nicht enthalten ist. Im Titel Nr. 17 ist das Schlagwort enthalten und dort liegt auch der Fehler: wenn ich den Titel lösche, wird in der Abfrage korrekt "nein" angezeigt.

Wie du siehst, sind beim Titel und beim Volltext immer ein oder kein Eintrag vorhanden; bei den Schlagworten hingegen variiert die Anzahl je nach Text-ID. Könnte das Problem vielleicht auch darin liegen?

Liebe Grüsse,
Suki
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Suki,

Beim Versuch die Datei downzuloaden kommt bei mir die Aufforderung das Programm zu beenden, habe den Problembericht an Microsoft gesandt.

Vielleicht kannst Du es nochmals hier versuchen.

zitat:
Ein Problem gibt es beispielsweise im Feld F6, dort ist "ja" angegeben, obwohl das Schlagwort im dazugehörigen Titel nicht enthalten ist. Im Titel Nr. 17 ist das Schlagwort enthalten und dort liegt auch der Fehler: wenn ich den Titel lösche, wird in der Abfrage korrekt "nein" angezeigt.


Das ist korrekt!

Es gibt keinen speziell dazugehörigen Titel, wenn in Spalte C irgendwo in der Tabelle Titel das Schlagwort enthalten ist und auch die ID-Text in der Tabelle Titel in Spalte B mit der Tabelle Abfrageergebnis übereinstimmt, dann gibt es ein "ja" ansonsten "nein".

In meiner abgespeckten Beispieldatei gibt es diesbezüglich keine Probleme, es läuft wie geschmiert.

Gruß

Paul1
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Suki,

mir ist es jetzt gelungen, die Datei zu öffnen, so kann es überhaupt nicht funktionieren, in der Spalte B der Tabellen "Titel" und "Volltext" stehen ja ganz andere Zahlen (lfd Nr.?) als in der Tabelle "Abfrageergebnis", die mit der ID-Text nichts zu tun haben.

Das wäre zu berichtigen.

An den Formeln ist da nichts zu ändern!

Gruß

Paul1
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Suki,

vergiß die AW 15, ich habe gesehen, dass es die ID-Text Nummern in der Tabelle "Abfrageergebnis" gibt.

Was mir aufgefallen ist, es gibt "flower" 2-mal:

Zeile 6: ID_Text 1 (B6), flower (C6)
Zeile 190: ID_Text (B190), flower (C190) dort steht auch das "ja" das ist auch OK

Das dürfte aber keine Rolle spielen, da die ID Nummern verschieden sind.

Du hast recht, das "ja" in Zeile 6 ist dürfte nicht sein, da in der Tabelle "Titel" unter ID_Text (SpalteB) 1 in Spalte C kein "flower" auf scheint, sondern nur unter ID-Text 17.

Das muß ich mir genauer anschaun.

Gruß

Paul1
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Suki,

In den Spalten I und J sind die neuen Formeln (Matrixformeln), den ID-Text Zahlen mußte ich in allen 3 Tabellen einen Buchstaben vorsetzen, da es mit den Zahlen allein nicht zu machen war.

Beispiel korrigiert

Gruß

Paul1
0 Punkte
Beantwortet von suki Mitglied (131 Punkte)
Hallo Paul!

Vielen Dank! Wie hast du das mit den Buchstaben gemacht? Ich stelle nämlich fest, dass oben im Formelfeld nur die Zahl steht, unten jedoch der Buchstabe. Ich kann ich das für die anderen 10.000 Fehler automatisch machen lassen?

Vielen Dank!
Suki
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Suki,

Das geht ganz einfach:

Du markierst die Spalte B:
>Kontexmenü
>Zellen formatieren
>Benutzerdefiniert
>A0 (ANull)
>OK

damit hast Du in 1 Minute alles auf einmal geändert!
das wäre für alle 3 Tabellen durchzuführen!

Noch was Wichtiges:

Wenn Du in den Tabellen neue Eingaben machst, gib in Spalte B nur die Zahl ein, das führende A wird automatisch gebildet, bei kompletter Eingabe mit dem A kann es wieder zu Unstimmigkeiten kommen.

Das mit dem führenden Buchstaben in Spalte mußte ich machen, weil die Zahlen sich immer z.B. 1, 10, 100, 1000 usw orientierten, d.h. wenn 10 vorhanden ist wird auch bei 1, 100, 1000...(auch bei 2, 200, 2000..usw) in der Tabelle Abfrageergebnis ein A erzeugt und das ist nicht Zweck der Übung.

Sollte es noch Fragen geben schreibe es!

Gruß

Paul1

Excel/Access 2003
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Nachtrag:

Es soll natürlich heissen:

.....Tabelle Abfrageergebnis ein "ja" erzeugt......

Gruß

Paul1
...