Hallo, ich habe eine Abfrage und muss aus einem Feld den Buchstaben und das Leerzeichen entfernen.
Beispiel: "K 12345678" soll "12345678" werden. Ich habe aber bisher nur Befehle gefunden mit denen Leerzeichen entfernt werden können. Kann jemand helfen?
MfG
Hallo,
ist der String immer gleich lang und stehen die zu entfernenden Zeichen immer an den ersten beiden Stellen?
Dann schau dir den Befehl Right$..., bzw. Rechts(.... mal an. Brauchst Du was Variables, dann Mid$(.., bzw. Teil(...
Beste Grüße
Andreas
Hallo nein der String ist leider nicht gleich lang, die Befehle habe ich schon versucht
SELECT [Notizen:Notiz].ablagen, [Notizen:Notiz].partner, (Mid2)[partner])) AS Kontakt
FROM [Notizen:Notiz];
aber vermutlich habe ich einen Fehler gemacht
Hallo,
Du hast den 2. Teil seiner Frage (und das wäre das wichtigste gewesen) nicht beantwortet.
Zitatund stehen die zu entfernenden Zeichen immer an den ersten beiden Stellen
Dein versuchter Einsatz von Mid ist völlig falsch.
Wenn es
immer 2 Zeichen vorn sind die weg müssen sieht das so aus:
SELECT ablagen, partner, Mid([partner],3) AS Kontakt FROM [Notizen:Notiz]Es sollte aber Ziel sein, dass man in einer DB so etwas nicht benötigt. Das sollten bereits in der Grundstruktur 2 Felder sein, der Buchstabe und die Ziffernfolge.
PS:
Wie kommt man nur auf einen solchen Tabellennamen?
[Notizen:Notiz]
Das solltest Du unbedingt ändern. Überhaupt, sind Sonder und Leerzeichen in Feld und Objektnamen zu vermeiden
Danke Klaus.
Es ist etwas kompliziert, in der Firma ist ABAS im Einsatz ;D . Das basiert ja auf Linux, die Tabellennamen entstehen beim Export mit dem EDP Viewer und ich wandele die Namen immer in einer Abfrage um, zudem sind oft Felder mit Ziffern als Text ausgegeben, die ich dann mit Zlong umwandele. Danach arbeite ich mit "normalen" Tabellennamen weiter ;)
Gruß Edwin
Hallo,
Du beantwortest die Fragen immer nur teilweise. Die Hinweise zum Tabellennamen hast Du ausführlich beantwortet, aber zum eigentlichen Problem hast Du nichts gesagt.
Hallo, der String ist nicht immer gleich lang,
Beispiel: L 56890, K 45684, K 45684001 oder 014005AT sind alle in einem Feld. Das sind Lieferanten, Kunden, Kundenkontakt und Artikelnummern.
mir kommt es auf die Variante K 4584001 o.ä. an, das sind Kundenkontaktnummern, die in anderen Tabellen 45684001 o.ä. ohne K gespeichert sind. In der fertigen Tabelle sind dann Anrede, Name, Firma, Mailadr und Kontaktdaten der zuständigen MA. Ich konnte nur die K ... nicht mit der Kundenkontaktnummer aus den anderen Tabellen ohne K ... in einer Abfrage verknüpfen.
Ich hoffe das ist jetzt verständlich. Ist halt ABAS.
Hallo,
Du hast die entscheidende und wichtigste Frage immer noch nicht beantwortet.
Zitatstehen die zu entfernenden Zeichen immer an den ersten beiden Stellen
Und ob das mit dem Mid wie vorgeschlagen geklappt hat hast Du auch noch nicht gesagt.
Hallo!
In welche Richtung verknüpfst du die Daten?
Vielleicht geht auch der umgekehrte Weg, das K ergänzen.
..
from
KundenTabelle K
inner join
Notizen N ON N.Partner = 'K ' & K.KundenNr
Gruß
Josef
Entschuldige, war mit anderen Problemen befasst. Der Code funktioniert leider nicht, es fehlt eine öffnende Klammer,"SELECT ablagen, partner, Mid[partner],3) AS Kontakt FROM [Notizen:Notiz]" wo immer ich die setze kommt "die Unterabfrage in diesem Ausdruck hat eine fehlerhafte Syntax".
Ja, die fehlerhafte Daten stehen in diesem Fall immer an den ersten zwei Stellen und ich selektiere wenn es funktioniert nach "K...", bevor ich das entfernen will. Da "K" verwenden geht schlecht, da ich die Stammdaten in anderen Abfragen verwende und teilweise nach Zahlen sortieren muss.
Verknüpft wird von den Tabellen "Notiz" zu "Kundenkontakt".
Access-o-Mania ist in unserem Firmennetz gesperrt, da muss ich immer den Umweg über meinen PC nehmen.
Gruß Edwin
Mid[partner],3) AS KontaktSiehst du jetzt die fehlende Klammer?
Gruß
Josef
Tut mir leid Josef, aber ich sehe nur die schliessende Klammer hiter der 3
Stimmt, habe ich in #10 falsch formuliert: was nicht da ist, kann man nicht sehen.
Ich hätte schreiben müssen, siehst du nun, wo die öffnende Klammer fehlt. :)
Mid([partner],3) AS Kontakt
Gruß
Josef
Ja, ich komme aber leider erst morgen wieder auf den Arbeits-PC.
Melde mich dann. Erst einmal vielen Dank Josef.
Gruß
Edwin
Hallo Josef, es hat mir doch keine Ruhe gelassen, ich habe eine Datenbank erstellt
richtig ist SELECT ablagen, partner, Mid(partner,3) AS Kontakt FROM [Notizen:Notiz]
Vielen Dank für den richtigen Weg ZEIGEN.
Gruß eDWIN
Hallo,
sorry, für den Flüchtigkeitsfehler mit der Klammer. Aber Du solltest unbedingt lernen solche Fehler selbst zu finden. Mid() ist eine Funktion und eine Funktion erfordert immer ein Klammerpaar in der richtigen Reihenfolge.
Und noch ein Tip:
Schreibe im VBA Editor Mid und drücke F1 und Du erhältst eine Hilfe zu dem Befehl, meist mit relativ ausführlichen Beispielen.