joes1609 10 Geschrieben 17. März 2011 Melden Teilen Geschrieben 17. März 2011 Hallo Leute, hab da ein Problem, wo ich dachte es ist leichter das zu lösen. Ich habe eine Spalte in der Worklogdaten eingetragen sind. In jeder Zeile sind mehrere Zeichen die wie folgt aussehen. Beispiel: Das ist ein Test [unterschiedlicher Inhalt] und noch ein test [anderer Inhalt]. Die Inhalte in den [] sind oft unterschiedlich, und möchte nun, egal was in den eckigen Klammern steht nur [x] angezeigt wird. Hoffe ich habe mich verständlich ausgedrückt und bin für jede Hilfe Dankbar Jörg Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 17. März 2011 Melden Teilen Geschrieben 17. März 2011 Ich habe eine Spalte in der Worklogdaten eingetragen sind. Von welchem genauen Programm sprichst Du? In jeder Zeile sind mehrere Zeichen die wie folgt aussehen. Beispiel: Das ist ein Test [unterschiedlicher Inhalt] und noch ein test [anderer Inhalt]. Die Inhalte in den [] sind oft unterschiedlich, und möchte nun, egal was in den eckigen Klammern steht nur [x] angezeigt wird. Mit einer entsprechenden GUI wird das sicherlich möglich sein, dazu müßte man aber erstmal wissen, von welchem Programm du sprichst. Hoffe ich habe mich verständlich ausgedrückt Nicht so richtig. Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 17. März 2011 Melden Teilen Geschrieben 17. März 2011 Moin, da wir uns in einem SQL-Server-Forum befinden, wird es wohl um Daten in einer SQL-Tabelle gehen. Die Aufgabe, die du lösen willst, dürfte sich mit reinen SQL-Bordmitteln nicht oder nur mit höherem Aufwand lösen lassen. Die REPLACE-Funktion etwa lässt keine regulären Ausdrücke zu, sondern kann nur konkrete Strings ersetzen. Was ist denn das Ziel des Ganzen? Geht es nur um die Anzeige der Daten, oder sollen sie verändert werden? Welche Anforderung steht dahinter? Was für eine Applikation soll die Daten anzeigen? Gruß, Nils Zitieren Link zu diesem Kommentar
joes1609 10 Geschrieben 17. März 2011 Autor Melden Teilen Geschrieben 17. März 2011 Moin, In den eckigen klammern stehen Usernamen und die dürfen so nicht auftauchen. Daher sollen die durch Leerstrings, oder ebend [x] ersetzt werden. Die Daten werden dann mittels ADODB mit Excel abgerufen und da darf der Username nicht ersichtlich sein. Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 17. März 2011 Melden Teilen Geschrieben 17. März 2011 Z.B. mit Regular expressions beim Suchen und Ersetzen: http://www.google.de/search?hl=de&rls=com.microsoft%3Ade%3AIE-SearchBox&q=Regular+expressions+excel+vba&btnG=Suche&aq=f&aqi=&aql=&oq= Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 17. März 2011 Melden Teilen Geschrieben 17. März 2011 da wir uns in einem SQL-Server-Forum befinden, wird es wohl um Daten in einer SQL-Tabelle gehen. Ja, die Wahrscheinlichkeit ist recht hoch, muß aber nicht sein. ;) Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 17. März 2011 Melden Teilen Geschrieben 17. März 2011 In den eckigen klammern stehen Usernamen und die dürfen so nicht auftauchen. Daher sollen die durch Leerstrings, oder ebend [x] ersetzt werden. Die Daten werden dann mittels ADODB mit Excel abgerufen und da darf der Username nicht ersichtlich sein. Sollen/können die Usernamen bereits in der vermutlichen SQL-Server Tabelle geändert werden oder nur in Excel? Wenn die Daten bereits in der Tabelle geändert werden sollen, kannst Du mit einer Abfrage und Replace arbeiten. Evtl. kann man das auch in einen Trigger packen, der beim insert von neuen Datensätzen gleich anonymisiert. Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 17. März 2011 Melden Teilen Geschrieben 17. März 2011 Moin, Wenn die Daten bereits in der Tabelle geändert werden sollen, kannst Du mit einer Abfrage und Replace arbeiten. nein, eben nicht, siehe oben. Ein einfaches REPLACE geht bei der Anforderung nicht. Vielleicht weist dies hier den Weg: SQL Server: Regular Expressions for Efficient SQL Querying Gruß, Nils Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 17. März 2011 Melden Teilen Geschrieben 17. März 2011 nein, eben nicht, siehe oben. Ein einfaches REPLACE geht bei der Anforderung nicht. Stimmt, hab es mir gerade nochmal angesehen. In VBA wäre es ein leichtes die Strings für Replace zu manipulieren. ;) Zitieren Link zu diesem Kommentar
joes1609 10 Geschrieben 18. März 2011 Autor Melden Teilen Geschrieben 18. März 2011 (bearbeitet) Hallo Leute, vielen Dank für die vielen Tipps und Hinweise, aber in das Thema muss ich mich erst mal einarbeiten. Werde dann posten wie ich`s gelöst habe. Zitat von NilsK nein, eben nicht, siehe oben. Ein einfaches REPLACE geht bei der Anforderung nicht. Stimmt, hab es mir gerade nochmal angesehen. In VBA wäre es ein leichtes die Strings für Replace zu manipulieren. Was heisst denn leicht, hast du vieleicht einen Tipp? Ins Thema VBA arbeite ich mich gerade parallel ein. Jörg bearbeitet 18. März 2011 von joes1609 Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 18. März 2011 Melden Teilen Geschrieben 18. März 2011 Moin, VBA nützt dir überhaupt nichts, denn wenn das aktiv wird, sind die unerwünschten Daten ja schon beim Client angekommen. Was du bräuchtest, ist eine View oder eine Stored Procedure, die dir die Daten schon vom Server gefiltert zurückgibt. Gruß, Nils Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 18. März 2011 Melden Teilen Geschrieben 18. März 2011 Was heisst denn leicht, hast du vieleicht einen Tipp? Ins Thema VBA arbeite ich mich gerade parallel ein. Du kannst in VBA die Strings innerhalb von REPLACE ja durch eine Variable abbilden. Die Variable kannst Du über ein Recordset füllen lassen und so pro Datensatz Müller oder Huber die Abfrage ausführen lassen. Nein, etwas fertiges hab ich nicht parat. Zitieren Link zu diesem Kommentar
joes1609 10 Geschrieben 18. März 2011 Autor Melden Teilen Geschrieben 18. März 2011 Danke für die vielen Tipps und Ansätze, werde mich dann mal damit beschäftigen. Jörg Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.