Ersetzen von Einträgen in Datenbanktabelle

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Ersetzen von Einträgen in Datenbanktabelle

Re: Ersetzen von Einträgen in Datenbanktabelle

von ameisenbär » Sa, 27.06.2009 00:30

Ich hab's mit dem SQL-Code gemacht, hat alles geklappt, danke!

Viele Grüße
Robert

Re: Ersetzen von Einträgen in Datenbanktabelle

von komma4 » Mi, 24.06.2009 15:59

Der Code ist nicht zur Manipulation von Datenbeständen einer ODB geeignet.

Der ist für ein Calc-Tabellenblatt gemacht; hierzu fehlt noch die Zuweisung der Objektvariablen

Code: Alles auswählen

mySheet = ThisComponent.Sheets().getByName( "Tabelle1" )

Re: Ersetzen von Einträgen in Datenbanktabelle

von Barlee » Mi, 24.06.2009 15:32

Hallo ameisenbär,

wende doch REPLACE direkt auf die Tabelle an.
Unter Extras/SQL:

Code: Alles auswählen

UPDATE "Tabellenname" SET "Spaltenname" = REPLACE("Spaltenname",'A',2)
Spaltenname = die Spalte, in der Werte ersetzt werden sollen.
Teste am besten vorher mit einer Probetabelle und dann wendest Du es produktiv an. Schneller gehts nicht.

Gruß Barlee

Ersetzen von Einträgen in Datenbanktabelle

von ameisenbär » Mi, 24.06.2009 15:20

Hallo,
ich arbeite zum ersten Mal mit einer Datenbank und habe mir eine Tabelle erstellt, in der ich die Ergebnisse eines Fragebogens eingetragen habe. Also jede Zeile repräsentiert eine Person und die Spalten stehen für die Fragen. In jeder Zelle steht entweder A, B, C oder D als Antwort auf die Frage.

Nun möchte ich zwecks besserer Auswertung jeden Buchstaben durch eine Zahl erstezen:
A --> 2
B --> 1
C --> -1
D --> -2

Ich habe das Forum schon einmal durchsucht und ein ähnliches Thema gefunden: viewtopic.php?f=18&t=21496&p=92030&hili ... ing#p92030

Da wurde ein Makro vorgeschlagen:

Code: Alles auswählen

ReplaceDescriptor= mySheet.createReplaceDescriptor()
With ReplaceDescriptor
   .SearchString = "/"
   .ReplaceString = ""
   .SearchWords = TRUE
End With
mySheet.ReplaceAll(ReplaceDescriptor)
Ich habe nun ein neues Makro erstellt, / durch A ersetzt und "" durch "2", sowie das ganze mit Sub Main() und End Sub umschlossen (hab ich aus wikipedia). Kompilieren klappt, beim Ausführen erhalte ich die Meldung: "Basic runtime error. Object variable not set."

Ich kenne die Syntax von Visual Basic überhaupt nicht, das ganze muss die Woche fertig werden und es wäre schön wenn mir jemand weiterhilft.

Vielen Dank,
Robert.

Nach oben