Seite 1 von 1

Adressen vergleichen, neue anzeigen lassen

Verfasst: Fr, 16.01.2009 17:16
von markus75
Hallo,

der Satz wurde bestimmt schon hundertfach gequält: ich bin ein absoluter Neuling, keine Ahnung, aber mit großen Herausforderungen (neudeutsch für Probleme...). Aber ich glaube, hier bin ich richtig.

Mit base möchte ich fürs Adressmanagement nutzen. Quelle sind .csv Dateien, die ich nach Eingangsdatum ablege (Beispiel: Adressen_081212.csv, Adressen_090116.csv usw.). Mit base möchte ich filtern, welche Adressen in der Datei Adressen_090116.csv stehen, die noch nicht in Adressen_081212.csv enthalten sind, welche neu dazugekommen und welche rausgefallen sind.

Anders ausgedrückt: ich möchte wissen, welche Adressen im Bestand, welche neu hinzu gekommen sind, und welche nicht mehr existet sind.

Richtig interessant ist dabei, dass ich für diese Adressen keine Kundennummer o.ä. vergeben kann. Geht auch deswegen nicht, weil "Neuzugänge" in Adressen_090116.csv sich unter die Bestandsadressen mischen, bzw. Abgänge schlicht nicht mehr aufgeführt werden. Feste Unterscheidungsmerkmale sind also nur Name, Nachname, Straße und Hausnummer, Postleitzahl, Ort.

Eine Schritt für Schritt Erklärung wäre bei mir sinnvoll, da ich mich bislang nur mit Microsoft Excel befasst habe.

Ach so, meine Performance: IBM ThinkPad T30, WindowsXP SP3, OOo 2.4.1

Vielen Dank, beste Grüße und schönes WE!

Markus

Re: Adressen vergleichen, neue anzeigen lassen

Verfasst: Sa, 17.01.2009 12:45
von Barlee
Kallo Markus75,

1. überführe Deine csv-Dateien in eine neue Base-DB als Tabellen wie hier beschrieben:
http://www.ooowiki.de/csvDatentabelle/Import

2. Nach dem Import klickst Du in Base auf "Abfragen" >> "Abfrage in SQL Ansicht erstellen", wählst unter "Bearbeiten">> "SQL Kommando direkt ausführen" und gibst folgendes ein. Die Beispiele beziehen sich auf zwei zu vergleichende Tabellen "Adressen1" und "Adressen2"

Code: Alles auswählen

--in beiden Tabellen vorhandene Datensätze
SELECT
"Vorname", "Nachname", "PLZ"
FROM "Adressen1"
INTERSECT
SELECT
"Vorname", "Nachname", "PLZ"
FROM "Adressen2"
>>Speichern

Nächste Abfrage erstellen:

Code: Alles auswählen

--in Adresse 2 nicht mehr vorhandene Datensätze
SELECT
"Vorname", "Nachname", "PLZ"
FROM "Adressen1"
MINUS
SELECT
"Vorname", "Nachname", "PLZ"
FROM "Adressen2"
>>Speichern

Nächste Abfrage erstellen:

Code: Alles auswählen

--neue Datensätze in Adresse2
SELECT
"Vorname", "Nachname", "PLZ"
FROM "Adressen2"
MINUS
SELECT
"Vorname", "Nachname", "PLZ"
FROM "Adressen1"
Rufst Du nun die gespeicherten Abfragen durch Doppelklick auf, dann werden Dir die Ergebnisse geliefert.
Du müsstest in die Abfragen natürlich sämtliche Unterscheidungskriterien aufnehmen (Name, Nachname, Straße und Hausnummer, Postleitzahl, Ort)

Da Du monatlich immer wieder neue Dateien (Tabellen) miteinander vergleichst, musst Du ggf. die Tabellennamen in den Abfragen anpassen. Dazu rechter Mausklick auf die Abfrage "In SQL Ansicht bearbeiten" und Tabellennamen anpassen.

Gruß Barlee