Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

text einer importierten .csv datei in zahlenwert konvertieren





Frage

Hallo liebe experten, in meiner access db müsste ich eine .csv datei importieren, welche die resultate eines analysegeräts enthält. die daten sehen wie folgt aus: "Echantillon";"Test";"Dilution (1/)";"Date de préparation";"Etat";"UFC/g" "80535";"EC";"40";"mer. 03/09/2008 14:05";"OK";" <10.0" Die erste zeile enthält die spaltenüberschriften, die zweite die eigentlichen daten. Mein Problem liegt jetzt bei dem wert UFC/g welcher leider nicht nur zahlen, sondern auch sonderzeichen enthält: >,<, oder =. Ich importiere diese daten in eine Tabelle [Tempo] danach wird der wert UFC/g in eine Tabelle [Resultate] per update-abfrage eingefügt. Idealerweise würde access während dieser update-abfrage den wert UFC/g aufspalten in zwei werte und zwar einmal eine spalte für die sonderzeichen, und einmal eine spalte für den numerischen wert. Ich hoffen ich habe meine anfrage deutlich genug formuliert, mit freundlichen grüssen: Laborratte

Antwort 1 von lorf55

Hallo Laborratte,
ich habe dazu mal ein Makro zusammengestellt.
Es holt aus D:\Daten die Labor.CSV mit deinen Werten und erzeugt damit die neue Datei Tempo. Falls schon eine da ist gibt es eine Fehlermeldung. Es wird angenommen, dass in [UFC/g] als erstes, wenn es eines gibt, das Sonderzeichen steht und danach der Wert. In Resultate werden neue Zeilen eingefügt, die in Spalte sz und UFC die aufgespaltenen Werte von UFC/g enthalten.

Sub ImportLabor_1()
    CurrentDb.Execute _
      "SELECT * INTO Tempo " + _
      "FROM [Text;FMT=Delimited(;);HDR=Yes;DATABASE=D:\Daten;].[Labor.CSV];", dbFailOnError
    CurrentDb.TableDefs.Refresh
    CurrentDb.Execute _
      "INSERT INTO Resultate ( sz, UFC )" + _
      "SELECT IIf(IsNumeric(Left([UFC/g],1)),'',Left([UFC/g],1)),
              Mid([UFC/g],2,Len([UFC/g]))" + _
      "FROM TEMPO;", dbFailOnError
End Sub


Ich hoffe das passt so.

Gruß
lorf

Antwort 2 von Laborratte

hi lorf,

funktioniert super, vielen dank!

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: