Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Import aus Excel in verschiedene MS-Acc-Tbl

Begonnen von Ralf_17, Juni 15, 2011, 13:59:48

⏪ vorheriges - nächstes ⏩

Ralf_17

Hallo in die Runde,

Aufgabenstellung: umfangreiche Excel-Tbl (11.530 Datensätze) in MS Access (2003; mehrere Tbl) importieren.

Angedachte vorgehensweise:
1. kpl. Excel Tbl in Access (1 Gesamt Tbl) importieren --> okay
2. in die importierte Access Tbl Autowert vorhanden --> okay

3. Beziehungsmodell steht (gibt 1 Mastertbl mit ca. 8-9 Datensätzen;  eine wenn man so will abgeleitete Tbl. mit geschätzen 1000 Datensätzen und schließlich
nochmals abgeleitet eine Tbl. mit den 11.530 Datensätzen.
In die tabellen habe ich die jeweiligen Fremdschlüsselspalten ergänzt.

a) die Mastertbl. - per Anfügeabfrage + "distinct" hat soweit fkt.
b) die erste abgeleitete Tbl. (dto. mit Anfügeabfrage) mit den ca. 1000 Datensätzen (Redundanzbereinigt) fkt. nicht, MS Acc. würde 11.530 Datensätze reinhauen - trotz distinct.
Den Vorgang hab ich abgebrochen.

Weiter hab ich jetzt nicht mehr probiert.

Fragen: War die Vorgehensweise mit zuerst die Datenstruktur der Zieltabellen und den Beziehungen bilden vor der Anfügeabfrage generell korrekt,
bzw. was hab ich vlt. nicht beachtet?

Danke für eure Hilfe.
Gruß, T.

database

Hallo,

Zitatdie erste abgeleitete Tbl. (dto. mit Anfügeabfrage) mit den ca. 1000 Datensätzen (Redundanzbereinigt) fkt. nicht, MS Acc. würde 11.530 Datensätze reinhauen - trotz distinct.

DISTINCT schließt nur Duplikate aus - was dir vermutlich fehlt ist eine passende WHERE-Klausel in deiner Abfrage, die eben dann die 1000 DS 'findet'.
Überprüfe mal diese Abfrage ob du die Einschränkung vielleicht auf die falsche Schlüsselspalte gelegt hast?
Definiere dazu die Abfrage erst mal als Auswahlabfrage.

ZitatWar die Vorgehensweise mit zuerst die Datenstruktur der Zieltabellen und den Beziehungen bilden vor der Anfügeabfrage generell korrekt
Ja, bzw. nicht falsch  ;D

Ralf_17

Hallo Peter,

lassen wir das Redundanzproblem noch mal mal kurz außen vor.

die Zieltabelle hat eine zusätzliche ID (Fremdschlüssel-Feld), welches die importierte Tbl. nicht hatte.
Liegt hier doch ein Fehler?

Bsp: Mach ich bei diesem Feld "Eingabe erforderlich = JA" importiert er überhaupt nichts, sondern nur entspr. Fehlermeldungen.
Nur wie kann ich Acc dann sonst generell sagen, wie er es (richtig) verknüpfen soll. Manuell nachtragen - sicher nicht.

Ziel ist die richtige Zugehörigkeit - in Excel eben durch ein Datensatz / Zeile.

Ein gestriger Probelauf ohne Tabellenstruktur und Beziehungsmodell fkt. rein mittels "distinct". Sprich auf die ca. 1000 DS zusammengekürzt, was korrekt und gewünscht ist.




database

#3
Hallo,

Zitat... ohne Tabellenstruktur und Beziehungsmodell fkt. rein mittels "distinct"...
Naja, dann wird's wohl unweigerlich an deiner Definition der Tabellenbeziehung liegen die Tabellenstruktur selbst nimmt darauf keinen Einfluß.

Da ich weder die Tabellendefinition, die Daten oder die Definition deiner Abfrage kenne kann ich hierauf nicht viel antworten.

Zitatdie Zieltabelle hat eine zusätzliche ID (Fremdschlüssel-Feld), welches die importierte Tbl. nicht hatte.
...nur das ... scheint mir nicht in Ordnung zu sein ...  ???
Fremschlüssel in einer Detailtabelle werden durch VORHANDENE Primärschlüssel einer Mastertabelle gebildet - daher meine Skepsis

ZitatEin gestriger Probelauf ohne Tabellenstruktur und Beziehungsmodell fkt. rein mittels "distinct". Sprich auf die ca. 1000 DS zusammengekürzt, was korrekt und gewünscht ist.
Naja - dann mach den Probelauf zum Standard
Die Abfragedefinition MUSS ja hierbei gestimmt haben, sonst wärst du nicht auf die ca. 1000 DS gekommen.

Ralf_17

Hi Peter,

ein Teil-Erfolg: die Anzahl der Datensätze stimmt JETZT immer.

Zur Verständigung: natürlich verweist der Fremdschlüssel von Tbl2 auf einen Primärschlüssel Tbl1.

Nur, füllt er mir diese Spalte (Werte) nicht aus. Entweder sie bleiben leer eben wenn "Eingabe erforderlich = Nein" was ja
für das Ergebnis keinen Sinn macht.
oder bei "Eingabe erfordelich = JA" --> kein Anfügen wg. "Gültigkeitsregelverletzung".


Eine andere DB von mir für eine andere Abtlg. hat fast 1A die selbe Tbl- und Beziehungsstruktur, nur wurden/werden dort keine Daten importiert sondern nach und nach eingegeben. Dort fkt. alle Ergebnisse der Abfragen. Die Strukturen sind aufgrund kleinerer Variablenanzahl überschaubar.
Mir fällt jetzt sonst nichts mehr ein.

Weißt Du noch was? Danke für Deine Antworten!

Jonny

Hallo Ralf,

wie soll den das zusätzlich ID Feld gefüllt werden. Von alleine kommt da nichts drin und auch nicht durch die Beziehung.

Gruß

Johann

Ralf_17

Hi Johann,

ich hatte schon fast so was befürchtet. Aber danke, für die Bestätigung ;-)

Gruß, Ralf

ebs17

Hallo Ralf,

hier findest Du eine ähnliche Aufgabenstellung und Antworten:
ms-office-forum.net/forum/showthread.php?t=273937
(Das www davor ergänzen)

MfGA
ebs

database

#8
Hi,

Zitatfüllt er mir diese Spalte (Werte) nicht aus
Wie ist denn die Spalte definiert worden?
Felddatentyp, Größe, ...
Welche Werte bekommst du aus der Excel-Tabelle geliefert? Welcher Datentyp?
Gibt es in der Access-Tabelle bei diesem Feld irgend eine Einschränkung, die du (vielleicht auch unabsichtlich) gesetzt hast?

Ist das Feld in der Excel-Tabelle IMMER befüllt?
Möglicherweise rasselst du in eine NULL-Wert-Falle
Verwende NZ(DeinFeld,"xy") wenn das Feld nicht in jedem Datensatz befüllt ist.
Oder aber auch...
Zitatoder bei "Eingabe erfordelich = JA"
...und setze 'Leere Zeichenfolge' auch auf JA


Was passiert eigentlich, wenn du den Import in eine NEUE Tabelle veranlasst? Also ohne die Tabelle zuvor zu definieren?
Kommen dann alle Daten mit?
Welche Felddefinition wählt dann Access selbst aus?