Wie kann ich verschiedene Zellen einer Spalte verbinden

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: Wie kann ich verschiedene Zellen einer Spalte verbinden

Re: Wie kann ich verschiedene Zellen einer Spalte verbinden

von F3K Total » Sa, 02.04.2011 10:44

Hallo DPunch,
Super Befehl, danke!
Beste Grüße R

Re: Wie kann ich verschiedene Zellen einer Spalte verbinden

von DPunch » Sa, 02.04.2011 08:38

Aloha
F3K Total hat geschrieben:Was bedeutet das Preserve?
Neudimensionierung eines Arrays *ohne* die alten Inhalte zu verwerfen.

Re: Wie kann ich verschiedene Zellen einer Spalte verbinden

von schleiereule » Fr, 01.04.2011 23:23

Hallo F3K Total,
noch mal, ganz herzlichen Dank für die Hilfe. Auch Dir DPunch, vielen Dank. Ich muss mich erst mal mit beiden Lösungen beschäftigen. Die Lösung von Dir, F3K Total, habe ich schon eingebaut und sie funktioniert prima. Das andere muss ich noch ausprobieren, klingt aber sehr einleuchtend.
Viele Grüße an euch beide
Schleiereule

Re: Wie kann ich verschiedene Zellen einer Spalte verbinden

von F3K Total » Fr, 01.04.2011 22:46

Hallo DPunch,
vielen Dank, ja das Prinzip wird klar:
Eine Frage:

Code: Alles auswählen

ReDim Preserve aSummary(i) as String
Was bedeutet das Preserve?

beste Grüße R

Re: Wie kann ich verschiedene Zellen einer Spalte verbinden

von DPunch » Fr, 01.04.2011 20:43

Aloha

So als grobes Basis-Beispiel habe ich mal Deiner Beispieldatenbank das Formular1 angehängt, das Prinzip sollte klar werden.
Dateianhänge
Veranstaltungen2.odb
(28.45 KiB) 106-mal heruntergeladen

Re: Wie kann ich verschiedene Zellen einer Spalte verbinden

von F3K Total » Fr, 01.04.2011 19:27

Hallo DPunch,
danke für die Informationen, so habe ich es noch nicht gesehen.
Auf eine Grundsatzdiskussion hätte auch ich in der Tat keine Lust und nicht die Kenntnisse.
Kannst Du denn an diesem Beispiel mal zeigen, wie der Weg über das Formular wäre?
Ich habe mit den "Hammerschlägen" bisher viel gemacht und meine "MainDB", derer wegen ich mich hier umtue, wird manchmal sehr langsam.

mit besten Grüßen R

Re: Wie kann ich verschiedene Zellen einer Spalte verbinden

von DPunch » Fr, 01.04.2011 18:30

Aloha
F3K Total hat geschrieben:Was aber ist verkehrt an meiner Lösung?
Dass es keine Herangehensweise beim ernsthaften Arbeiten mit Datenbanken ist.
Und nicht dass wir uns da falsch verstehen: ich will Dir in keinster Weise Deine Arbeit madig machen, schon gar nicht, wenn Du damit jemandem den Tag versüsst hast.
F3K Total hat geschrieben:Leider habe ich mit HSQL noch keine andere Methode als die Dargestellte gefunden, mit der man aus einer Spalte mehrere machen kann.
Dem ist in der Tat so, im Gegensatz zu z.B. MySQL mit GROUP_CONCAT bietet die HSQLDB nichts derartiges.
F3K Total hat geschrieben:Und, wo läge der Vorteil eines Makros?
Wenn ich das richtig einschätze, müßte man mit einem Makro einen neuen, zusätzlichen Speicherbereich für die verketteten Daten anlegen.
Nein, natürlich nicht - man kann mit Makros ja problemlos ein tatsächlich dynamisches Formular zum Formatieren und Darstellen der gewünschten Daten füllen.
Und das ist eben der Unterschied zu Deiner Arbeit mit X Views und Abfragen: Du verwendest die Datenbank selber, um eine Formatierung zu erzwingen. Datenbanken sind aber nicht (bzw nur in sehr rudimentärem Masse) dafür gedacht, nach Wunsch formatierte Ausgaben zu erzeugen, sondern lediglich die Daten vorzuhalten.
Die Aufbereitung dieser Daten sollte auf jeden Fall auf einer anderen Ebene geschehen (->Formular).

Aber gut, eigentlich wollte ich gar keine Grundsatzdiskussion anregen, sondern lediglich davon abraten, solche Wege als praktikable Lösung zu betrachten. Ohne Dir dabei zu nahe treten zu wollen.

Re: Wie kann ich verschiedene Zellen einer Spalte verbinden

von F3K Total » Fr, 01.04.2011 18:10

Hallo Schleiereule,
ich habe noch ein Makro geschrieben, das die Dateneingabe deutlich vereinfacht:
Im Formular der Dateneingabe "Veranstaltungen" findest Du jetzt im Tabellenkontrollfeld für die Eingabe der Instrumente ein Listenfeld in der Spalte "Instrument". Die Liste dieses Listefeldes enthält beim Anlegen einer neuen Veranstaltung alle Instrumente die bisher je vorgekommen sind. Sobald Du ein Instrument ausgewählt hast, verschwindet es aus der Auswahlliste. So Kannst Du keinen Instrumententyp doppelt eingeben. Ausserdem reduziert sich die Zahl der noch verfügbaren Instrumente mit jedem gewählten, so dass die Auswahl schneller geht.

Gruß R

Re: Wie kann ich verschiedene Zellen einer Spalte verbinden

von F3K Total » Do, 31.03.2011 21:19

Hallo DPunch,
Ok, "absolut" ist wohl übertrieben.
Was aber ist verkehrt an meiner Lösung?
Meinst Du nicht, dass man mit einem Billig-Laptop wie meinem, selbst wenn man jeden Tag eine Veranstaltung hat, was bei meiner Restlaufzeit etwa 15000 Konzerte wären, problemlos klarkommt?
Leider habe ich mit HSQL noch keine andere Methode als die Dargestellte gefunden, mit der man aus einer Spalte mehrere machen kann.
Und, wo läge der Vorteil eines Makros?
Wenn ich das richtig einschätze, müßte man mit einem Makro einen neuen, zusätzlichen Speicherbereich für die verketteten Daten anlegen.
Eine weitere Tabelle oder Tabellenspalte?
Widerspricht das nicht ebenso der Arbeit mit einer Datenbank, könnte es nicht zur Inkonsistenz kommen?

Gruß R

PS: Die SQL-Views habe ich per "Makro" vervielfältigt und dann direkt ins gezipte "database/script" geschrieben, insofern ging es recht zügig. :D

Re: Wie kann ich verschiedene Zellen einer Spalte verbinden

von schleiereule » Do, 31.03.2011 21:11

Trotz der Antwort von DPunch.

Ganz, ganz herzlichen Dank für diese Lösung. Sicher, sie ist umständlich, aber sie funktioniert.
Jetzt bin ich einen großen Schritt weiter.

Re: Wie kann ich verschiedene Zellen einer Spalte verbinden

von DPunch » Do, 31.03.2011 20:40

Aloha
F3K Total hat geschrieben:wie heute mittag angekündigt bin ich der Meinung, dass es geht.
Natürlich muss ich Dir erstmal allen Respekt zollen für die Arbeit, die Du Dir gemacht hast.
Allerdings hat das natürlich rein gar nichts mit "absolut dynamisch" zu tun, wenn das Ganze sowohl durch physische Geschaffenheiten (Tabellen), als auch durch die Abfragen von vornherein limitiert ist.
Klar kann man per Holzhammer-Methode fast alles irgendwie machen, aber diese Herangehensweise widerspricht prinzipiell allem, wofür das Arbeiten mit einer Datenbank so steht.

Re: Wie kann ich verschiedene Zellen einer Spalte verbinden

von F3K Total » Do, 31.03.2011 18:55

Hallo,
wie heute mittag angekündigt bin ich der Meinung, dass es geht.
Anbei schon mal eine DB, die 7 Instrumente nebeneinander anordnen kann, schau mal in die View "Auswertung_fertig".
In einer weiteren View, die noch nicht fertig ist, werden dann die Spalten aus "Auswertung_fertig" verkettet (Concat/||/++), natürlich mit einem Komma dazwischen.
Jetzt braucht man das Ganze "nur" noch um 43 Instrumente erweitern.
Nachteil: Viel Arbeit
Vorteil: absolut dynamisch

Ich mach mal weiter.

Gruß R

So, nun bin ich fertig. Siehe Anhang "Veranstaltungen2.odb"
Die DB kann bis zu 50 verschiedene Instrumente pro Veranstaltung in eine Zeile schreiben.
Im Formular "Veranstaltungen" kannst Du es direkt ausprobieren.

Gruß R

Habe die Datei "Veranstaltungen2.odb" noch mal ausgetauscht, weil in der neuen Version die 50 Views besser geordnet sind.

Gruß R

Re: Wie kann ich verschiedene Zellen einer Spalte verbinden

von schleiereule » Do, 31.03.2011 12:46

Hallo, vielen Dank für eure Bemühungen. Bisher sind es 40 verschiedene Instrumente, es kommen aber sicher noch 10 verschiedene dazu.
Also nicht gerade wenig...
Viele Grüße

Re: Wie kann ich verschiedene Zellen einer Spalte verbinden

von F3K Total » Do, 31.03.2011 12:29

Hallo zusammen,
das sehe ich anders, ich bin auch kurz vor einer Lösung innerhalb HSQLDB.
Daher nochmal die Frage, wieviele unterschiedliche Instumente willst Du pro Veranstaltung verarbeiten?

Komme erst abends dazu, das Ding zu Ende zu führen.

Gruß R

Re: Wie kann ich verschiedene Zellen einer Spalte verbinden

von schleiereule » Do, 31.03.2011 10:56

Vielen Dank für eure Antworten, ich glaube auch, ohne Makro geht es nicht, denn es sind sehr viele Instrumente.
Dann versuche ich es mal im Makro-Bereich.

Nach oben