Lung Geschrieben 26. Juni 2002 Geschrieben 26. Juni 2002 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 Zitieren
robotto7831a Geschrieben 26. Juni 2002 Geschrieben 26. Juni 2002 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 Zitieren
Meenzer Geschrieben 26. Juni 2002 Geschrieben 26. Juni 2002 Hi! Was für eine DB hast Du denn??? Access, Oracle, SQL.....?? Gruss Zitieren
Lung Geschrieben 26. Juni 2002 Autor Geschrieben 26. Juni 2002 Original geschrieben von Mercutio Hi! Was für eine DB hast Du denn??? Access, Oracle, SQL.....?? Gruss Access 97 Zitieren
Meenzer Geschrieben 26. Juni 2002 Geschrieben 26. Juni 2002 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 Zitieren
Olli_Master Geschrieben 27. Juni 2002 Geschrieben 27. Juni 2002 >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) Zitieren
Meenzer Geschrieben 27. Juni 2002 Geschrieben 27. Juni 2002 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 Zitieren
fireworker Geschrieben 27. Juni 2002 Geschrieben 27. Juni 2002 Warum frägst Du nicht die Länge der Zeichen ab? Und wenn die Länge kleiner 3 ist, dann soll eine 0 voran. Zitieren
Olli_Master Geschrieben 27. Juni 2002 Geschrieben 27. Juni 2002 @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. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.