Performance Problem durch Listenbox

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

agrupe
****
Beiträge: 108
Registriert: Do, 08.12.2005 17:23

Performance Problem durch Listenbox

Beitrag von agrupe »

Hallo,

ich suche eine alternative Lösung zur Anzeige von Kunden in einer Drop-Down Box. Zur Zeit habe ich ca. 5.000 Kunden, die ich nach dem Nachnamen sortiert und via concat mit "Nachname, Vorname" anzeigen lasse. Das hat mein System ziemlich in die Knie gezwungen. Wenn ich auf den Einsatz von concat() verzichte kann man aber "Meier, Erwin" und "Meier, Willi" nicht mehr voneinander unterscheiden, da dann nur der Nachname angezeigt wird.

Wie habt ihr solche Probleme gelöst? (Ok, ich könnte einen schnelleren PC kaufen aber es muss ja auch anders gehen).

Es nervt mich, da ich immer ein reload machen muss, wenn ich zwischendurch einen neue Kunden (in einem anderen Formular) erfasse, da dessen Daten ja nicht im aktuell geöffneten Fenster zu sehen sind. Und dann dauert es halt ...

Danke & Gruß

Andreas
OO 3.2 unter OpenSuse 11
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Performance Problem durch Listenbox

Beitrag von komma4 »

Wie füllst Du die Listbox, Andreas?

Die Aufbereitung von 5000 Zeichenketten und das Laden (als Array) sollte ruck-zuck gehen. In Calc brauche ich mit Testrechner Poseidon weniger als eine Sekunde.

Wie sieht Deine Abfrage aus?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
agrupe
****
Beiträge: 108
Registriert: Do, 08.12.2005 17:23

Re: Performance Problem durch Listenbox

Beitrag von agrupe »

Hi,

im Reiter "Daten" dort Punkt "Listeninhalt" der Box habe ich hinterlegt:

SELECT Concat ("Nachname", Concat( ', ',"Vorname")), "Kunden_ID" FROM "Adressen" Order by "Nachname"

Mittlerweile hat sich unter 2.4.1 mein Problem aber fast erledigt, weil ich nicht mehr ein Reload auf das gesamte Formular machen kann. Das geht ja ab 2.4 nicht mehr, wenn man damit die einzelnen Listboxen neu einlesen will. Also habe ich jetzt nen refresh() direkt auf die Listbox auf einen Button gelegt. Das geht ruckzuck.

Solltest du aber eine einfachere SQL Abfrage als die obige kennen, die den gleichen Zweck erfüllt, nur her damit.

Gruß

Andreas
OO 3.2 unter OpenSuse 11
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Performance Problem durch Listenbox

Beitrag von komma4 »

Nein, bei einer direkten Verbindung des Listenfeldes (Formulars) zur Datenbank kenne ich da auch nichts anderes.

Aber schön, dass mit der 2.4.1 sich das Problem erstmal erledigt hat...
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Antworten