Tabelle dynamisch sortieren und erweitern

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Andromeda_104
**
Beiträge: 26
Registriert: Di, 12.03.2013 12:46

Tabelle dynamisch sortieren und erweitern

Beitrag von Andromeda_104 »

Hallo euch allen,

eine simple Tabelle mit Materialbeständen soll durch ein Makro dynamisch so sortiert werden, dass folgendes Verhalten eintritt:

1. Hauptsortierung in Spalte C (ab C3) anhand der Bezeichnungen (alphabetisch aufsteigend)
2. Neueinträge in der ersten gelben Zeile sollen bereits während der Eingabe mit den vorhandenen Bezeichnungen in der Spalte C abgeglichen werden; dazu soll die gelbe Eingabezeile dauerhaft sichtbar bleiben und der Rest der Tabelle scrollt dann automatisch an die entsprechende Stelle.
3. Eingaben ab dem ersten Wort sollen sich bei Übereinstimmung fett zu decken beginnen.

Beispiel:

Eingabe in C2: Kabel(Leertaste) führt dazu, dass Kabel in C3 und C4 fett erscheinen

4. Jeder sich weiter deckende Bereich soll ab Leertaste ebenfalls fett werden

Beispiel:

Eingabe in C2: Kabel(Leertaste)6(Leertaste) führt dazu, dass zusätzlich noch die 6 in C3 und C4 fett erscheinen

u.s.w.

5. Wenn die fertige Eingabe mit Enter übernommen wird, soll sich automatisch eine neue Zeile an der richtigen Position einfügen, so dass die Tabelle zu jeder Zeit aktuell sortiert bleibt.

Beispiel:

Eingabe in C2: Kabel(Leertaste)6(Leertaste)qmm(Leertaste)schwarz(Leertaste)zweiadrig(Enter) fügt unter die 4. Zeile eine neue ein

Leider führte meine Suche zu den Stichworten Tabelle/sortieren/Makro/dynamisch nicht zu einem Lösungsansatz. Vielleicht hat jemand schon einmal einen ähnlichen Sortier- und Erweiterungsansatz für eine Tabelle erarbeitet oder kann mir helfend unter die Arme greifen.

Grüße von Andromeda_104
Dateianhänge
Materialbestände.ods
(7.58 KiB) 264-mal heruntergeladen
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Tabelle dynamisch sortieren und erweitern

Beitrag von clag »

Moin Andromeda_104

dei vorgetragener Wunsch ist nur mit viel Basic Aufwand so umsetzbar
Ich habe dir mal eine Beispieldatei erstellt die so ähnlich funktioniert und zum Großteil Calc Bordmittel anwendet.
Basis ist ein eingerichteter Spezialfilter der einem Kriterienbereich abfragt und dann per Makro aktualisiert wird, so bald ein Inhalt des Kriterienbereiches geändert wird, das ergibt eine recht dynamische Anzeige.
Du musst dich aber etwas mit regulären Ausdrücken auskennen, da erst diese eine flexiblen Nutzung des Filters ermöglichen.

Eingaben im gelben Kriterienbereich in einer Zeile sind UND, in einer Spalte sind ODER verknüpft.

Wenn du nun in der Haupt Zelle C2 eine Bezeichnung eingibst die noch nicht im Datenbestand vorhanden ist, also kein Filterergebniss angezeigt wird und auch die anderen Zellen in A2:E2 eine Angabe enthalten, wird eine Schaltfläche eingeblendet.
Diese Schaltfläche erlaubt es dann die Daten aus A2:E2 in dem Bestand zu übernehmen.
Dabei wird der Datenbankbereich automatisch vergrößert, dann verschwindet die Schaltfläche wieder.
Das verhindert ein mehrfaches übernehmen der gleichen Artikeldaten.
Zum pflegen z.B. der Mengen filters du den Artikel und editierst direkt das Filter-Ergebnis.
Materialbestände+makro.ods
(12.84 KiB) 281-mal heruntergeladen
hilft dir das?
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Andromeda_104
**
Beiträge: 26
Registriert: Di, 12.03.2013 12:46

Re: Tabelle dynamisch sortieren und erweitern

Beitrag von Andromeda_104 »

Hallo clag,

leider komme ich mit dieser Art von Tabelle sowie mit dem Makro überhaupt nicht klar. Ich habe gestern bis tief in die Nacht hinein versucht, das System zu durchschauen - aber ich komme da nicht weiter. Weder finde ich den Spezialfilter, noch kann ich die eigentlichen Materialbestände sehen, da sich die Tabelle auch seltsam in zwei Bereiche aufteilt, die nicht durchwandert werden können. Er findet zwar eingetragene Artikel, aber das macht ja eine normale Tabelle auch.

Komplettiere ich nun die erste gelbe Eingabezeile, so erscheint zwar das Übernahmefeld, aber es bleibt dauerhaft bestehen. Ich kann nach einem Druck auf dasselbe nicht erkennen, ob der Artikel übernommen wurde, da ich ja den Materialbestand und die Stelle des Einsortierens nicht einsehen kann. Der Materialbestand poppt für eine gefühlte 1/10 Sekunde auf und verschwindet danach sofort wieder.

Weiterhin ist unklar, warum es unter der eigentlichen gelben Eingabezeile noch zwei weitere gelbe Zeilen gibt?

Weshalb fängt der zweite Tabellenblock bei Zeile 203 an?

Wie gelange ich an die eigentlichen Bestände in den Zeilen davor?

Das Makro verstehe ich so gut wie überhaupt nicht - kann also auch nicht in Eigenregie damit beginnen, etwas anzupassen oder zu testen.

Hab trotzdem Dank für deine Mühe mit meinem Anliegen.

Andromeda_104
mikeleb
*******
Beiträge: 1316
Registriert: Fr, 09.12.2011 16:50

Re: Tabelle dynamisch sortieren und erweitern

Beitrag von mikeleb »

Hallo,
wie clag schon äußerte, ist die gewünschte Funktionalität so einfach nicht zu realisieren.
Im Anhang mal ein Lösungsvorschlag per Makro. In der Zelle C2 (Eingaben) befindet sich ein Textfeld, dass per Makro ausgewertet wird. Die Eingaben können per Enter oder Esc beendet werden. Bei Esc werden die Eingaben verworfen, bei Enter wir der Text in die Liste einsortiert. Dort können dann die weiteren Eingaben (Anzahl, Einheit, Bx, Fach) gemacht werden.
Prinzipiell lässt sich so etwas also umsetzen. Allerdings wage ich nicht abzuschätzen, wie flüssig oder träge die Makros bei entsprechend vielen Einträgen laufen.
Dateianhänge
makro textfeld+filtern.ods
(12.17 KiB) 232-mal heruntergeladen
Gruß,
mikeleb
Antworten