Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: seppi am März 06, 2017, 09:33:31

Titel: Daten-Import aus Excel
Beitrag von: seppi am März 06, 2017, 09:33:31
Hallo

Ich habe ein Excel-File mit Daten wie folgt:
Name        Farben
Seppi       blau, rot, grün
Susi        hellblau, rosa
Jürg        rot


Also ein Name kann mehrere Farben zugeordnet haben.

Ich möchte nun die Daten in Access einlesen.
Name einlesen: klar
Farben einlesen: Hier möchte ich jede Farbe in eine Spalte einlesen:

Name       Farben1      Farben2     Farben3
Seppi      blau         rot         grün
Susi       hellblau     rosa
Jürg       rot


Ich finde keinen Ansatz, wie ich das umsetzen soll. Hat jemand eine Idee?

Umfeld:
- Es ist sicher gestellt, dass das Komma nur als 'Feldtrenner' vorhanden ist.
- Die Anzahl der Datensätze ist überschaubar (100-1'000).
- Es gibt mehrere Felder, die so auseinander genommen werden müssen.

Danke und Gruss,
Seppi
Titel: Re: Daten-Import aus Excel
Beitrag von: MzKlMu am März 06, 2017, 09:56:36
Hallo,
für Access (=Datenbank) ist das Vorhaben in dieser Form falsch.
Die Accesstabelle sollte so aussehen

Name       Farbe
Seppi      blau         
Seppi      rot         
Seppi      grün
Susi       hellblau
Susi       rosa
Jürg       rot

Wobei die Namen und Farben nicht im Klartext sondern als Schlüsselzahlen (Fremdschlüssel) in dieser Tabelle gespeichert werden sollten. Was Tabellen für Namen/Personen und Farben erforderlich macht.
Also so:

NameID  FarbeID
  1       1         
  1       2         
  1       3
  2       4
  2       5
  3       2

Mit einer Anfügeabfrage je Farbe kannst Du die Daten aus der verknüpften Exceltabelle in die vorgefertigte Accesstabelle übertragen.
Titel: Re: Daten-Import aus Excel
Beitrag von: seppi am März 06, 2017, 11:39:04
Danke für den Input.

Ich habe das so gelöst:
select a.name, "blau" as Farben
from Farben a
where Farben like "*blau*"

UNION

select a.name, "rot" as Farben
from Farben a
where Farben like "*rot*"

UNION

select a.name, "grün" as Farben
from Farben a
where Farben like "*grün*"

UNION

select a.name, "rosa" as Farben
from Farben a
where Farben like "*rosa*"

UNION select a.name, "braun" as Farben
from Farben a
where Farben like "*braun*"
ORDER BY name;


Ist ein bisschen arbeitsintensiv - bei mehr Farben (die aber alle bekannt sind) und mehreren Spalten.
Titel: Re: Daten-Import aus Excel
Beitrag von: MzKlMu am März 06, 2017, 12:05:43
Hallo,
und was machst Du dann mit der Union ?
Die ist ja nicht bearbeitbar.

Ob das eine gute Lösung ist darf bezweifelt werden.
Titel: Re: Daten-Import aus Excel
Beitrag von: seppi am März 10, 2017, 08:52:59
Hi Klaus

JA - ich zweifle auch an der Lösung.
Aber ich habe keine bessere Idee...

Gruss, Seppi