Datenbankfelder mit Daten aus Excel-Tabelle befüllen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Datenbankfelder mit Daten aus Excel-Tabelle befüllen

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

von Stephan » Fr, 24.04.2020 21:43

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

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

von kernm23 » Fr, 24.04.2020 11:38

ja, das ist richtig. Es sind bereits alle Korrekturdatensätze in der DB enthalten. Und die gelieferten Korrekturdaten sind leider unvollständige Datensätze.

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

von Stephan » Fr, 24.04.2020 11:18

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) 130-mal heruntergeladen

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

von RobertG » Fr, 24.04.2020 11:13

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

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

von kernm23 » Fr, 24.04.2020 10:30

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.

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

von RobertG » Do, 23.04.2020 17:52

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

Datenbankfelder mit Daten aus Excel-Tabelle befüllen

von kernm23 » Do, 23.04.2020 13:12

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.

Nach oben