PDA

Vollständige Version anzeigen : Spalte in der Tabelle teilen.


Offiece Greenhorn
23.03.2006, 21:12
Hallo an alle

habe folgendes Problem:

Möchete eine Spalte in der Tabelle teilen da 2 Angaben darin stehen.

In diesem Fall stehen die PLZ und der Ort in der gleichen Spalte.

Diese beiden Angaben würde ich gerne trennen und in 2 seperate Spalten einfügen.

Könnt ihr mir helfen?

Arne Dieckmann
23.03.2006, 21:23
Donkarls FAQ 2.20 (Link in meiner Signatur) sollte helfen.

Nouba
23.03.2006, 21:32
Du könntest nach dem ersten Leerzeichen suchen und dort die Zeichenkette auftrennen. Erstelle dazu zunächst eine Tabellenerstellungsabfrage und füge eine PLZ und eine Ortsspalte eins und stelle eine plausible Feldgröße für die Felder ein. Hier ist die Tabellenerstellungsabfrage:SELECT Q.* INTO ZIELTABELLENNAME
FROM QUELLTABELLE AS Q WHERE 1 = 0;
Damit solltest Du eine leere Tabelle haben. Die Tabellenerstellungsabfrage kannst Du dann zwischenzeitlich in eine Auswahlabfrage zum visuellen Testen auf Richtigkeit des Vorgehens umwandeln. Am Schluß wird daraus eine Anfügeabfrage werden, in der die Felder der Zieltabelle angegeben werden.
SELECT
Q.FELDA
, Left(Q.FELDB, 5) AS PLZ
, Trim(Mid(Q.FELDB, 7)) AS ORT
, Q.FELDC ...
FROM QUELLTABELLE AS Q;

oder auch so vielleicht:

SELECT
Q.FELDA
, Left(Q.FELDB, InStr(Q.FELDB, " ") - 1) AS PLZ
, Trim(Mid(Q.FELDB, InStr(Q.FELDB, " ") + 1)) AS ORT
, Q.FELDC ...
FROM QUELLTABELLE AS Q;
Diese Abfrage zu prüfen und im Erfolgsfall daraus eine Anfügeabfrage zu basteln, dürfte dann nicht mehr schwer sein.

Slugger
24.03.2006, 06:59
Hallo,

direkt in der Abfrage:

Bei dir musst du dann eben bei "Dein neues Feld" einmal PLZ nehmen und dann das gleiche nochmal mit Ort.

Zeichen von Links an:
DeinneuesFeld: Links([DeinaltesFeld];InStr([DeinaltesFeld];" ")-1)


Zeichen von Rechts an:
DeinneuesFeld: Mid([DeinaltesFeld];Instr([DeinaltesFeld];",")+1)


Gruß

Slugger

Offiece Greenhorn
25.03.2006, 15:49
danke leute

das hat mein problem gelöst :)