Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Olytyp am Februar 01, 2023, 18:26:16

Titel: Buchstaben und Leerzeichen entfernen
Beitrag von: Olytyp am Februar 01, 2023, 18:26:16
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
Titel: Re: Buchstaben und Leerzeichen entfernen
Beitrag von: andyfau am Februar 01, 2023, 19:06:20
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
Titel: Re: Buchstaben und Leerzeichen entfernen
Beitrag von: Olytyp am Februar 01, 2023, 20:50:51
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
Titel: Re: Buchstaben und Leerzeichen entfernen
Beitrag von: MzKlMu am Februar 01, 2023, 22:58:23
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
Titel: Re: Buchstaben und Leerzeichen entfernen
Beitrag von: Olytyp am Februar 02, 2023, 14:02:41
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
Titel: Re: Buchstaben und Leerzeichen entfernen
Beitrag von: MzKlMu am Februar 02, 2023, 14:43:06
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.
Titel: Re: Buchstaben und Leerzeichen entfernen
Beitrag von: Olytyp am Februar 02, 2023, 15:18:28
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.
Titel: Re: Buchstaben und Leerzeichen entfernen
Beitrag von: MzKlMu am Februar 02, 2023, 15:57:29
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.
Titel: Re: Buchstaben und Leerzeichen entfernen
Beitrag von: Josef P. am Februar 02, 2023, 16:08:11
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
Titel: Re: Buchstaben und Leerzeichen entfernen
Beitrag von: Olytyp am Februar 02, 2023, 19:05:28
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
Titel: Re: Buchstaben und Leerzeichen entfernen
Beitrag von: Josef P. am Februar 02, 2023, 19:09:39
Mid[partner],3) AS KontaktSiehst du jetzt die fehlende Klammer?

Gruß
Josef
Titel: Re: Buchstaben und Leerzeichen entfernen
Beitrag von: Olytyp am Februar 02, 2023, 19:20:55
Tut mir leid Josef, aber ich sehe nur die schliessende Klammer hiter der 3
Titel: Re: Buchstaben und Leerzeichen entfernen
Beitrag von: Josef P. am Februar 02, 2023, 19:26:10
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
Titel: Re: Buchstaben und Leerzeichen entfernen
Beitrag von: Olytyp am Februar 02, 2023, 19:48:33
Ja, ich komme aber leider erst morgen wieder auf den Arbeits-PC.
Melde mich dann. Erst einmal vielen Dank Josef.

Gruß
Edwin
Titel: Re: Buchstaben und Leerzeichen entfernen
Beitrag von: Olytyp am Februar 02, 2023, 22:42:29
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
Titel: Re: Buchstaben und Leerzeichen entfernen
Beitrag von: MzKlMu am Februar 02, 2023, 23:06:27
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.