Datenbankfelder mit Daten aus Excel-Tabelle befüllen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

kernm23
***
Beiträge: 99
Registriert: Mi, 16.07.2014 15:54

Datenbankfelder mit Daten aus Excel-Tabelle befüllen

Beitrag von kernm23 »

Ich habe eine dbf-Datei als Grundlage für eine odb-Datenbank.

Ich bekomme Daten in Form von Excel-Tabellen, in denen aber nur einige Felder der Datenbank enthalten sind

Wie gehe ich am einfachsten vor um, die Felder der Datenbank zu befüllen mit den Daten aus Excel.

In eine Abfrage mit den benötigten Feldern, kann ich über Copy-Paste (aus Excel) leider nicht gesammelt die Felder je Datensatz befüllen. Hier werden immer nur die Daten in das gerade aktive Feld eingefügt.
Mit einem Formular habe ich es auch versucht. Ergebnis leider auch wie bei der Abfrage


Danke vorab.
RobertG
********
Beiträge: 2033
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Datenbankfelder mit Daten aus Excel-Tabelle befüllen

Beitrag von RobertG »

Hallo kernm23,

Du hast in Excel eine Tabellenform. Ich gehe einmal von Spaltenbenennungen dafür aus.
Du kopierst die Daten aus Calc, gehst in die Base-Datei und fügst die Daten in den Tabellencontainer ein. Dann erscheint der Import-Assistent.
Du wählst eine Tabelle aus, an die die Daten angehängt werden sollen.
Du wählst im nächsten schritt aus, welche Daten zueinander passen. Da Du in Base mehr Felder hast als in Calc verschiebst Du die Felder, die nicht belegt sind, nach unten (Pfeiltasten).
... und dann die Daten einfügen lassen.

Gruß

Robert
kernm23
***
Beiträge: 99
Registriert: Mi, 16.07.2014 15:54

Re: Datenbankfelder mit Daten aus Excel-Tabelle befüllen

Beitrag von kernm23 »

Hallo Robert,

danke für den Tipp.

Es handelt sich allerdings nicht um neue Datensätze die anzuhängen sind, sondern um fehlende bzw. falsche Daten bei schon vorhandenen Datensätzen.

Ich bin nun so vorgegangen, dass ich die dbf-Datei als calc-Tabelle geöffnet habe und dort die Daten eingefügt habe. Ist aber auch umständlich, da keine untereinanderliegende Datensätze bzw. nebeneinander liegende Felder.
RobertG
********
Beiträge: 2033
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Datenbankfelder mit Daten aus Excel-Tabelle befüllen

Beitrag von RobertG »

Hallo kernm23,

irgendwo dran musst Du aber doch die Datensätze erkennen, die dann gelöscht werden sollen, oder? dBase ist ja nun nichts mit Primärschlüssel, aber wenn Du einfach die neuen Daten einliest und dann das ganze sortierst, dann hast Du das alles in Base und kannst da die falschen Datensätze löschen. Oder werden gar nicht einmal komplette Datensätze sondern nur Teile von Datensätzen geliefert?

Gruß

Robert
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Datenbankfelder mit Daten aus Excel-Tabelle befüllen

Beitrag von Stephan »

Für den Routinebetrieb (wenn dauernd neue Korrekturwerte zu importieren wären) würde ich ein Makro vorziehen, aber um nur einmalig WErte abzugleichen genügt doch Calc und SVERWEIS().
Sofern es richtig ist das alle KOrrekturdatensätze bereits in der Datenbank vorhanden sind z.B. so:
-kopiere den Inhalt der Datentabelle in eine Calc-Datei in die Tabelle "Datenbankwerte" (beginnend in A1, ohne Überschriften)
-kopiere die Korrekturwerte in Tabelle "Korrekturwerte" (beginnend in A1, ohne Überschriften)

-schreibe in A1 einer dritten Tabellle die Formel: =Datenbankwerte.A1
-SChreibe in B1 die Formel: =WENN(ISTNV(SVERWEIS(A1;$Korrekturwerte.$A$1:$B$2;2));Datenbankwerte.B1;SVERWEIS(A1;$Korrekturwerte.$A$1:$B$2;2))
-ziehe die Formeln soweit nach unten wie benötigt

-kopiere den Inhalt der dritten Tabelle zurück in die Datenbank


Gruß
Stephan
Dateianhänge
Datenaufbereitung.ods
(7.91 KiB) 125-mal heruntergeladen
kernm23
***
Beiträge: 99
Registriert: Mi, 16.07.2014 15:54

Re: Datenbankfelder mit Daten aus Excel-Tabelle befüllen

Beitrag von kernm23 »

ja, das ist richtig. Es sind bereits alle Korrekturdatensätze in der DB enthalten. Und die gelieferten Korrekturdaten sind leider unvollständige Datensätze.
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Datenbankfelder mit Daten aus Excel-Tabelle befüllen

Beitrag von Stephan »

Es sind bereits alle Korrekturdatensätze in der DB enthalten.
Dann entferne sie zunächst wieder.
Und die gelieferten Korrekturdaten sind leider unvollständige Datensätze.
dann musst Du die Formel etwas erweitern, damit wo KOrrekturdaten fehlen die Originaldaten übernommen werden:

=WENN(ISTNV(SVERWEIS(A1;$Korrekturwerte.$A$1:$B$2;2));Datenbankwerte.B1;WENN(ISTLEER(SVERWEIS(A1;$Korrekturwerte.$A$1:$B$2;2));Datenbankwerte.B1;SVERWEIS(A1;$Korrekturwerte.$A$1:$B$2;2)))


Gruß
Stephan
Antworten