Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Import ohne führende Null

Begonnen von leli, April 01, 2014, 08:36:38

⏪ vorheriges - nächstes ⏩

leli

Hallo alle zusammen,
ich habe folgendes Problem: Ich habe unsere Datenbank aus Access 2003 in 2010 konvertiert.
In die Datenbank importieren wir Textdateien (aus SAP ) über Importspezifikationen in bestehende Tabellen, aus denen dann verschiedene Auswertungen gezogen werden. Die Textdatei enthält zwei Felder die führende Nullen vor den Zahlen als Platzhalter haben ( die Daten in der Textdatei sind über Tabulatoren getrennt ). Die Importspez. hat diese Felder im Datentyp als LongInteger definiert. Beim ausführen des Imports in Access 2003 werden die Nullen für diese Felder nicht übernommen.  Jedoch in Access 2010 übernimmt er mir die Nullen in die bestehende Tabelle. Das Problem konnte ich ein bisschen lokalieseren; und zwar sind die besagten Felder in der Tabelle, in die importiert wird, als Datentyp "Text" definiert. Wenn ich diese vor dem Import auf "Zahl" setze, erfolgt der Import ohne führede Nullen wie gewünscht. Ich muss aber dann bei der Tabelle den Datentyp wieder auf "Text" zurück setzen sonst funkt. die Auswertungen nicht. Kennt jemand einen besseren Weg um diese führende Nullen nicht zu importieren.

Im Internet konnte ich auch nichts finden.

Danke schonmal vorab für eure Hilfe.

DF6GL

Hallo,

definiere halt auch beim A2010-Import die Importspezifikation entspr.....
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

leli

#2
Hallo,
die Importspez. ist gleich definiert, sowohl in Access2003 als auch in Access2010.
Das habe ich bereits überprüft, nur das es in der Access 2003  wie gewünscht ohne die
Nullen importiert und in Access 2010 mit den führenden Nullen.  :-\
Wie gesagt ich habe die Datenbank hoch konvertiert, und so auch die Importspez., alles andere
fkt. Reibungslos nur der Import in eine bestehen Tabelle der Datenbank (Daten werden angehängt an eine Tabelle in der Datenbank),
weil der Datentyp der Tabell wie gesagt als "Text" definiert ist. Aber warum fkt. das in Access 2003 und in Access 2010 nicht???
Auch habe ich schon versucht die Importspez. nochmal neu anzulegen, nur das gleiche Ergebnis.  :-\

VG

DF6GL

Hallo,

ich versteh die Situation nicht ganz...


Hast Du schon eine Tabelle, in die importiert werden soll?
Welchen Datentyp hat das entspr. Tabellenfeld und warum?
Wenn TEXT und es soll eine Zahl(!, nicht Ziffern) importiert werden, liegt ein Konstruktionsfehler vor.

Wenn das Tabellenfeld den Datentyp "Text" besitzt und es soll eine Ziffernfolge mit führenden Nullen (keine Zahl!) importiert werden, so kann das in der Importspezifikation definiert werden. (Neu anlegen, nicht konvertieren)

Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

leli

#4
Hallo DF6GL,
sorry, aber ich bin ein ACCESS-Neuling und manche Dinge sind für mich nicht immer ganz klar.

Ja ich importiere in eine bereits in der Datenbank vorhandene Tabelle (also füge Datensätze über Import an).  Und ja das Tabellenfeld ist mit Datentyp "Text" definiert. Muss so auch bleiben, da aus dieser Tabelle weitere Auswertungen (über Verknüpfungen) gezogen werden. Denn Datentyp im Tabellenfeld auf "Zahl" gesetzt, habe ich auch schon ausprobiert,dann klappt es mit dem Import der Textdatei ohne die führenden Nullen jedoch funktion. die Auswertungen dann nicht.

Leider verstehe ich nicht, was du mir mit Zahl und Ziffenfolge sagen willst. Könntest du das bitte genauer beschreiben.

Also meine Textdatei ist wie folgt aufgebaut:

Feld1         Feld2   F3      F4  F5
00001234   23,89   23,8   0   0

(Feld1 hat die führenden Nullen, die einzelnen Felder sind über Tabulatoren getrennt )

Die dazugehörige Importsezifikation hat für Feld1
den Datentyp "LongInteger" definiert.
Die Tabelle in die impotiert wird, hat für Feld1 den Datentyp "Text" definiert.
Wenn ich den Import durchführe, nimmt er die
führenden Nullen des Feld1 mit. Ich verstehe ja auf warum, weil ja das Feld1 in der Tabelle als "Text" definiert ist.
Mein Ziel ist es aber im Tabellefeld 1 die Nullen nicht mit zu übernehmen, ohne den Datentyp dieses Feldes ändern zu müssen.
(Was für mich unlogisch ist,  dass der Import genauso mit den gleichen Einstellungen/Definitionen  in Access 2003 ohne die übernahme der Nullen fukt. hat. Es muss sich doch da was bei Access2010 geändert haben)


Vielleicht noch zur Info; beim Feld1 sind es immer die
ersten 4 Positionen mit den führende Nullen, ich brauche nur die letzten 4 Zahlen vom Feld1. Muss ich die Importspez. vielleicht anders definieren, aber wie genau?
An "feste Breiten" bei der Importspezif. habe ich auch schon gedacht, aber ich habe dann ein Problem bei den darauf folgenden Felder, da diese über Tabulatoren getrennt sind. Oder habe ich einen anderen Denkfehler?

Danke und
viele Grüße
leli

DF6GL

Hallo,

die führenden Nullen beim Import in ein Tabellenfeld (-spalte) mit Datentyp Text sind über die Importspezifikation wohl nicht zu eliminieren..

Führe nach dem Import eine Aktualisierungsabfrage aus, die die führenden Nullen im entspr. Feld in der gesamten Tabelle abschneidet...

PS:

0001234  => Ziffernfolge (keine "Zahl")  == Datentyp Text
1234 =>  Zahl (könnte aber auch als Ziffernfolge d. h.  TEXT interpretiert werden) == Datentyp (Long) Integer
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access