Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

eckige Klammer auslesen und in ein anderes Feld bringen

Begonnen von HabNeFrage, September 08, 2016, 09:38:20

⏪ vorheriges - nächstes ⏩

HabNeFrage

Hallo,
ich habe gerade versucht einen Wert aus einer eckigen Klammer mit folgender Formel auszulesen.
Im Feld1 steht in manchen DS Werte in eckigen Klammern, diese will ich im Feld2 ohne diese eckigen Klammer darstellen.
Aber eben nur dann und nur Werte aus eckigen Klammern, wenn was anderes da steht bleibt das Feld2 leer.
Bzw. wenn um die eckige Klammer herum noch was anderes steht, wird dies auch nicht dargestellt.

Die von mir verwendete Formel stammt ursprünglich aus einer Exceltabelle, da funktioniert das.

in meiner Abfrage, im Feld2:
eckigerWert: Teil([Feld1];Seek("[";[Feld1])+1;Seek("]";[Feld1])-Seek("[";Feld1])-1)

Seek ist aber Access nicht bekannt, sagt Access zu mindest.

Wenn ich
eckigerWert: Teil([Feld1];instr("[";[Feld1])+1;instr("]";[Feld1])-instr("[";Feld1])-1) verwende
bekomme ich eine Fehlermeldung im Feld2 #Funktion und nicht den erwünschten Wert.
Da wo nix im Feld1 steht kommt im Feld2 #Fehler

ursprüngleche Formel aus Excel:

B13 =TEIL(A13;FINDEN("[";A13)+1;FINDEN("]";A13)-FINDEN("[";A13)-1)

MzKlMu

Hallo,
siehe:
http://www.ms-office-forum.net/forum/showthread.php?t=335383
dort gibt es auch Vorschläge zur Lösung.


Es ist unerwünscht die gleiche Frage gleichzeitig in mehreren Foren zu stellen. Siehe hierzu die Forumsregeln.
Gruß Klaus

HabNeFrage

Hallo MzKlMu,
Du bist sehr aufmerksam...  ;)
Wenn nicht der Baum brennen würde...
Ich habe gerade IRREN Druck, nur noch eine Woche Zeit und muss noch ne Bank zum laufen bringen....
Die Zuarbeit die ich noch bekommen müsste ::), reden wir nicht drüber.

Melde mich sicher wegen anderem noch. Wenn ich die Zeit zum suchen und probieren hätte.

MzKlMu

Hallo,
im Regelfall nutzt es gar nix, Fragen in mehreren Foren zu stellen, weil es ohnehin fast die gleichen User sind, daher fällt das sofort. Mit Aufmerksamkeit hat das nichts zu tun.
Due erreichst auch meistens keinen Zeitvorteil.
Es kann sogar sein, dass Du gar keine Antwort mehr bekommst.
Gruß Klaus

HabNeFrage

Ihr habt Recht, was soll ich noch sagen?
Schade.
Es antworten eh nur die selben USER.
Weil sie die Möglichkeit und die Ahnung haben.
Kein so tolles Gefühl für mich.

bahasu

#5
Moin,

mit der Abfrage
SELECT Tabelle1.TestFeld, IIf(Left([TestFeld],1)="[" And Right([TestFeld],1)="]",Replace(Replace([TestFeld],"[",""),"]",""),"") AS Ausdr1
FROM Tabelle1;



wird bei den Testeingaben:
TestFeld:
keine Klammer
[eingeklammert]
Text[steht vor der Klammer]
[hinter der Klammer] steht Text
vor[und hinter der Klammer]steht Text

im zweiten Feld nur angezeigt: eingeklammert

Ist das, was Du brauchst?

Harald
Servus

bahasu

Hi

Zitat von: HabNeFrage am September 08, 2016, 10:56:56
Kein so tolles Gefühl für mich.

Diese Aussage ist auch für mich als Beantworter gültig, wenn
  etwas als so dringend geschildert wird,
  es einen Lösungsvorschlag gibt,
  aber gar keine Rückmeldung kommt.

Harald
Servus

MzKlMu

Hallo,
und da erkennt man dann auch, warum dieses Crossposting unerwünscht ist. In irgendeinem Forum gibt es eine Lösung und die Antworten in den anderen Foren laufen ins Leere bzw. werden meistens ignoriert.
Und die Mühe (und oft auch Aufwand) die sich der Antwortende gemacht hat waren für die Katz. Siehe hierzu:
http://www.ms-office-forum.net/forum/showthread.php?t=335383&page=2
Gruß Klaus

bahasu

Hallo Klaus,

eine Zeitlang hatte ich mal als Signatur:
  if IsNull(Feedback) then RunCommand acCmdNoCooperation

Das war damals durch einen ähnlichen Fall ausgelöst.

Harald
Servus