Neuigkeiten:

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

Mobiles Hauptmenü

Tabellenvergleich von nicht ganz identen Einträgen

Begonnen von neumast, April 21, 2016, 09:01:01

⏪ vorheriges - nächstes ⏩

neumast

Hallo in die Runde!

Im Moment stehe ich vor einem "kleinen" Problem und seh einfach nicht darüber.

Ich habe eine Datenbank (Artikeldatenbank) mit allen in Verwendung befindlichen Artikeln. Ein jeder Artikel hat eine Artikelnummer, welche meinen Primärschlüssel bildet. Von manchen Artikeln gibt es eine Revision, dieser überarbeitete Artikel hat die gleiche Artikelnummer wie der ursprüngliche, ist aber zusätzlich durch ein "A" am Ende der Nummer gekennzeichnet.

Original: 123456
Revision: 123456A

Mein Ziel ist es nun, Original und Revision in eine neue Tabelle nebeneinander zu schreiben. Reine Abfrage, kein Formular o.ä.

In einem ersten Schritt habe ich eine Abfrage für eine neue Tabelle (Abfrageergebnis1) angelegt, welche nur mehr die revisionierten Artikel mit einem "A" am Ende enthalten.

In einer neuen Abfrage möchte ich nun die bestehende Artikeldatenbank und das Abfrageergebnis vergleichen.

Hier hab ich mir bereits einen ersten Denkanstoß geholt:
http://www.access-o-mania.de/forum/index.php?topic=16343.0

Folgendes Kriterium habe ich angelegt
Wie "*" & [Abfrageergebnis1] & "*A"

Dies funktioniert aber nicht ganz. Es werden mir in der neuen Tabelle (Revisionsabfrage) alle Artikel aus "Artikeldatenbank" und "Abfrageergebnis1" dargestellt, welche ein A am Ende enthalten, sprich ich "filtere" aus beiden das gleiche heraus.

Ich hoffe, meine Anfrage ist soweit verständlich :)


neumast

Ich weiß nicht, ob folgender Ansatz etwas hilft:

In der Tabelle Abfrageergebnis1 sind alle Datensätze enthalten, welche mit A enden. Wenn ich nun den String modifiziere und das A "wegzwicke", wird mir mit dem obigen Abfrageergebnis doch jede gewünschte Artikelnummer angezeigt.

Das Problem ist nämlich, dass ich meine Ergebnistabelle jeweils noch um ein eine Spalte pro Tabelle erweitern muss.

Dem Originalartikel ist eine Positionsnummer zugeordnet, ebenfalls dem revisionierten Artikel. Und ich möchte dann die Unterschiede sehen (was ich wieder hinbekomme über Differenzabfrage). Es hakt im Moment einfach am Filtern der Datensätze  ???

Beaker s.a.

Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

neumast

Dankeschön!

Das wollte ich gerade schreiben.
Das A am Ende der revisionierten Artikel hab ich über Excel weggezwackt, also auch kein Problem.

Im Moment stehe ich noch vor folgender Hürde:

Ich habe eine Tabelle, welche folgende Info enthält:
Artikelnummer Positionsnummer Artikelnummer_A PositionsnummerA
123456  001   123456  002
456789  001    456789 001

Jetzt möchte ich noch alle Artikel herausfiltern, bei denen die Positionsnummer unterschiedlich ist. Mit dem Abfrageassistent Duplikat suchen komm ich nicht ganz zum Schluss - ich traue meinem Ergebnis nicht  :-[

Beaker s.a.

SELECT *
FROM Tabelle AS T
WHERE T.Artikelnummer = T.Artikelnummer_A
    AND T.Positionsnummer <> T.Positionsnummer_A

Oder?
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

neumast

Dankeschön für die Hilfe!
Jetzt noch eine peinliche Frage:
Ich bekomme den Code nicht eingepflegt.
Bis jetzt bin ich immer mit Abfragen und Umwegen über Excel ausgekommen  :-[

Beaker s.a.

ZitatIch bekomme den Code nicht eingepflegt.
Bis jetzt bin ich immer mit Abfragen
Hm? Das obige ist doch eine Abfrage.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

neumast

Zitat von: Beaker s.a. am April 21, 2016, 13:42:10
ZitatIch bekomme den Code nicht eingepflegt.
Bis jetzt bin ich immer mit Abfragen
Hm? Das obige ist doch eine Abfrage.

Eben da stehe ich ja auf dem Schlauch.
Ich sehe es, dass es eine Abfrage ist mit dem "Nicht gleich"-Vergleich.
Nur wenn ich eine neue Abfrage aufmache, hab ich leider keinen Plan, wo ich den Code der Abfragen eingeben soll. Hab es bis jetzt immer über den Assistent oder den Abfrageentwurf gemacht.

DF6GL

Hallo,

der Plan besteht darin, im Abfrageentwurf das "SQL-Ansicht"-Fenster zu öffnen, dort den SQL-String hinein zu kopieren und ggfls. anzupassen...
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

neumast

Dankeschön für die Antwort! Das hat er mich bei meinem ersten Versuch nicht gelassen  :o

Hab mir dann noch mit einem Kunstgriff über Excel geholfen. Umständlich und nicht schön, aber erledigt.

Dankeschön!