PDA

Vollständige Version anzeigen : Problem mit Vorzeichen und führenden Nullen beim Import in A2000?


fifo
09.09.2003, 09:58
Hallo,

ich hab hier einen HOST-Download welcher mir bei den Stückzahlen führende Nullen und das Vorzeichen anzeigt, also bei Ordermenge hab ich beispielsweise einen Wert von +00000003, bei fakuriertem Umsatz +00000058,24.

Jetzt will ich diese Datei in Access2000 importieren. Wenn ich das allerdings versuche, dann erhalte ich vom Importassistenten wohl wegem dem '+' ein Textfeld, was ich natürlich nicht will. Gibt es irgendeinen Trick, damit Access die Vorzeichen und auch die führenden Nullen beim Import unterdrückt?

Hier ein Ausschnitt der Datei:

CatNr;OrderMenge;Umsatz;Eckpreis;
22123;+00000003;+00000058,24;00000020,40
23957;+00000028;+00000178,63;00000005,74
...


Vielen Dank schonmal & Gruss
Rainer

ThorstenS
09.09.2003, 10:03
Hi Rainer,

importiere das ruhig weiter so.
Danach erzeugst Du eine Abfrage, benutzt diese neue Tabelle und fügst beim in den Spalten ungefähr so einen Code ein:

MeinFeld: Val([FeldausImportTabelle])

dann ist das ERgebnis der Abfrage in diesem Feld ein numerischer Wert.
Das kannst Du jetzt z.B. an eine Tabelle anfügen.

Nouba
09.09.2003, 10:11
Hallo Rainer,

dann ändere doch das Feldattribut im Assistenten in ein langes Ganzzahlenfeld um, indem Du es im Assistenten anklickst. Zusätzlich kannst Du auch die so erstellte Importspezifikation über die Advanced...-Schaltfläche in der DB abspeichern und beim eventuell späteren Automatisieren mit der Methode TransferText verwenden.

Standardmäßig schlägt mir AXP übrigens schon ein langes Ganzzahlenfeld vor.

fifo
09.09.2003, 10:22
also die lösung von thorsten funkioniert nach meinem ersten test ganz gut.

danke schonmal.

@nouba: wenn ich das mache, bekomme ich eine fehlertabelle...ich werd das aber nochmal checken.

trotzdem vielen dank. ich find es echt klasse, wie schnell einem hier im forum geholfen wird.

gruss
rainer

fifo
09.09.2003, 11:10
wenn ich eine abfrage mit VAL mache, dann bringt er mir anstatt +00000058,24 nur 58, also ohne die Kommstelle. Wie kann ich das jetzt umgehen?

Es bringt jedenfalls nichts, in den Eigenschaften die Dezimalstelle auf 2 zu stellen.

Danke&Gruss
Rainer

Arne Dieckmann
09.09.2003, 11:22
Dann probier mal

MeinFeld: CDbl([FeldausImportTabelle])

jadatcoder
09.09.2003, 11:26
Hallo,
vielleicht hilft es, wenn Du zuvor das Komma in allen Dezimalwerten durch einen Punkt ersetzt (geht schnell per Änderungsabfrage).
Dann kann Access (intern mit SQL) den Wert verarbeiten.

Hatte so ein Komma-Problem mal mit Dezimalwerten und SQL Befehlen.
Nach der Umwandlung in einen Punkt funktionierte dann auch das SQL Statement.

fifo
09.09.2003, 11:57
cdbl funzt (man muss dann noch durch 100 teilen)...vielen dank

gruss
rainer

Nouba
09.09.2003, 12:06
Hallo,

verwende die Str Funktion, um die Division einzusparen.? str("+0004,56")
4.56ist ein Beispiel im Direktfenster.