Veröffentlicht 26. Juni 200223 j Moin! Hab ein kleineres Prob: Ich hab ne DB gelifert bekommen mit knapp 280.000 Datensätzen. Jetzt habe ich aber die 3 Felder die ich als Text benötigen würde als Zahl bekommen. Wie ich von Zahl nach Text umwandeln kann ist mir klar, aber, wie kriege ich es hin, daß z. B. aus der Zahl 47 der Text 047 wird? bzw, daß die Felder nach vorne hin mit 0 ergänzt werden? Greetz Lung
26. Juni 200223 j Hallo, Du musst ein VBA Modul schreiben, das in der Tabelle in der entsprechenden Spalte bei jedem Datensatz eine 0 vorne dran hängt und dann den Datensatz wieder speichert. Frank
26. Juni 200223 j Original geschrieben von Mercutio Hi! Was für eine DB hast Du denn??? Access, Oracle, SQL.....?? Gruss Access 97
26. Juni 200223 j Hi! Du kannst Dir zB. eine Abfrage machen und Dein neues Feld ,in dem die Zahl als Text stehen soll, so formatieren: TEXTFELD: "0" & [ZAHLFELD] Mit dem Ergebis kannst Du dann Deine Spalte aktualisieren. Gruss
27. Juni 200223 j >TEXTFELD: "0" & [ZAHLFELD] Wenn du das so verwendest, dann wird immer eine 0 vorn angehangen. Wenn es aber auch dreistellige Zahlen gibt, dann würde es ein vierstelliger Text werden (123 --> 0123). Das ist aber nicht in deinem Sinn, oder? In diesem Fall hilft die Funktion Right(str,cnt) weiter. TEXTFELD: Right("0" & [ZAHLFELD];3)
27. Juni 200223 j Original geschrieben von Olli_Master Wenn du das so verwendest, dann wird immer eine 0 vorn angehangen. Wenn es aber auch dreistellige Zahlen gibt, dann würde es ein vierstelliger Text werden (123 --> 0123). Das ist aber nicht in deinem Sinn, oder? Oh, das hatte ich überlesen. Aber mit der Right-Funktion kann man das Ergebnis ja dann auf 3 Stellen formatieren. Danke! Gruss
27. Juni 200223 j Warum frägst Du nicht die Länge der Zeichen ab? Und wenn die Länge kleiner 3 ist, dann soll eine 0 voran.
27. Juni 200223 j @fireworker >Warum frägst Du nicht die Länge der Zeichen ab? >Und wenn die Länge kleiner 3 ist, dann soll eine 0 voran. Weil es 280.000 DS sind und da etliche Operationen mehr notwendig sind, damit es ein Textfeld wird und da es so einfachher zu erweitern ist (je nach Art der Daten) wenn(len(str(zahlenfeld))<3; "0" & zahlenfeld; str(zahlenfeld) ) Meinst du das geht schneller? Und außerdem könnte ja auch eine einstellige Zahl dabei sein. Dann wird dein System ein wenig komplizierter. Die andere Lösung kann jedoch einfach auf Right("00" & zahlenfeld; 3) erweitern.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.