🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[GELÖST] Formular nach Alphabet sortieren

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
wartburgritter
Beiträge: 101
Registriert: Di 13. Nov 2012, 18:28

[GELÖST] Formular nach Alphabet sortieren

Beitrag von wartburgritter » Mi 9. Okt 2013, 17:10

Hallo zusammen,
Meine vor einigen Monaten angelegte Projektdatenbank hat sich als sehr brauchbar erwiesen, viel besser als eine Tabellenkalkulation. Nun habe ich ein strukturelles Problem, da die Anzahl der Einträge wächst und wächst. Ich habe die Tabelle mal mit Beispieldaten abgefüllt und stelle Sie hier ein, evtl. könnte mir jemand einen Tip geben.

Ich möchte im Formular Projektmaske--Anpassungen die Einträge alphabetisch nach Ort sortiert haben. Wenn die Datensätze durchgeklickt werden ist schön zu sehen wie leider Hafenstadt VOR Flussdorf kommt. :(

Beste Grüsse Bernd alias der Wartburgritter
Dateianhänge
prjdb-2013-10-09.zip
(53.46 KiB) 241-mal heruntergeladen
Zuletzt geändert von wartburgritter am Fr 11. Okt 2013, 19:04, insgesamt 1-mal geändert.

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Formular nach Alphabet sortieren

Beitrag von F3K Total » Mi 9. Okt 2013, 18:40

Hi,
als Datengrundlage für das Formular verwendest Du die Tabelle Projektliste, die enthält nur die OrtID, nicht den Ortsnamen. Demzufolge kann man nicht nach Ortsnamen sortieren.
Eine Möglichkeit wäre eine Abfrage als Datengrundlage zu verwenden, die die Ortsnamen enthält:

Code: Alles auswählen

SELECT 
    "Projektliste"."ID", 
    "OrtID", 
    "Ort", 
    "ProjektBezeichnung", 
    "GebaeudetypID", 
    "Flurname", 
    "BautypID", 
    "ProjektArchivNummer", 
    "longitude", 
    "latitude", 
    "ProjektstatusID", 
    "Bemerkung", 
    "Eroeffnet", 
    "Ort"."ID" 
FROM 
    "Projektliste", 
    "Ort" 
WHERE 
    "OrtID" = "Ort"."ID" 
ORDER BY 
    "Ort" ASC
HTH Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

wartburgritter
Beiträge: 101
Registriert: Di 13. Nov 2012, 18:28

Re: Formular nach Alphabet sortieren

Beitrag von wartburgritter » Fr 11. Okt 2013, 19:02

F3K Total hat geschrieben:...
Eine Möglichkeit wäre eine Abfrage als Datengrundlage zu verwenden, die die Ortsnamen enthält ...
HTH Gruß R
Besten Dank für die Hilfe. Eventuell noch eine Ergänzung für Novizen wie mich. Eine neue Abfrage in SQL-Ansicht erstellen, den obigen Code reinkopieren und speichern. Dann das betreffende Forumlar bearbeiten. Über einem Objekt ein Rechtsklick und dann Formular (sind die Einstllungen für das gesamte Formular) auswählen. Dort im Register Daten Art des Inhaltes auf Abfrage umstellen und bei Inhalt die neu erstellt Abfrage einstellen.

Dies hat bei mir mit Abfragen mit Kontrollkästen und Tabellen funktioniert. :D

Gruss Bernd

wartburgritter
Beiträge: 101
Registriert: Di 13. Nov 2012, 18:28

Re: [GELÖST] Formular nach Alphabet sortieren

Beitrag von wartburgritter » So 27. Okt 2013, 21:42

Guten Abend,
der Thread ist zwar gelöst, da sich meine neue Frage genau auf diesen Thread bezieht, hole ich den einfach nochmal hoch. Ich habe in die Abfrage noch eine zusammengesetzte Abfrage hinzugefügt, die ich kopierbar in ein weiteres Feld im Formular einfügt habe. Dadurch kann ich mittels dem Formular keine Änderungen an der Datenbank mehr vornehmen, obwohl Änderungen aktiviert ist. Hier der code meiner Abfrage. Die Datenbank habe ich auch mal angehängt. gruss bernd

Code: Alles auswählen

SELECT
    "Projektliste"."ID",
    "OrtID",
    "Ort",
    "ProjektBezeichnung",
    "GebaeudetypID",
    "Flurname",
    "BautypID",
    "ProjektArchivNummer",
    "longitude",
    "latitude",
    "ProjektstatusID",
    "Bemerkung",
    "Projekteroeffnung",
    "Planungsbeginn",
    "Gebaeudebezeichnung",
    "ProjektleiterID",
    "Ort"."ID",
 
    "Ort"."Ort"  || '--- ' ||
    IFNULL( REPLACE( "ProjektBezeichnung", ' ', '_' ), 'x' )    || '--' ||   
    IFNULL( REPLACE( "Flurname", ' ', '_' ), 'x' )              || '--' || 
    IFNULL( REPLACE( "Gebaeudebezeichnung", ' ', '_' ), 'x' )   || '--' || 
     "Bautyp"."Bautyp"
    AS "____________________Büroprojektname____________________"

FROM
    "Projektliste",
    "Ort",
    "Bautyp"
WHERE
    "OrtID" = "Ort"."ID" AND "BautypID" = "Bautyp"."ID"
ORDER BY
    "Ort" ASC,
    "ProjektBezeichnung" ASC, 
    "Flurname" ASC, 
    "Gebaeudebezeichnung" ASC, 
    "ProjektArchivNummer" ASC
Dateianhänge
testdb2.odb.zip
(57.82 KiB) 222-mal heruntergeladen

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: [GELÖST] Formular nach Alphabet sortieren

Beitrag von F3K Total » So 27. Okt 2013, 21:58

Hi,
wenn eine auf mehreren Tabellen basierende Abfrage editierbar sein soll, muss sie die Primärschlüssel ALLER beteiligten Tabellen enthalten.
In deiner Abfrage AF_zFormulargrundlage fehlt die Spalte ID der Tabelle Bautyp.
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

wartburgritter
Beiträge: 101
Registriert: Di 13. Nov 2012, 18:28

Re: [GELÖST] Formular nach Alphabet sortieren

Beitrag von wartburgritter » So 27. Okt 2013, 22:43

F3K Total hat geschrieben:Hi,
wenn eine auf mehreren Tabellen basierende Abfrage editierbar sein soll, muss sie die Primärschlüssel ALLER beteiligten Tabellen enthalten.
In deiner Abfrage AF_zFormulargrundlage fehlt die Spalte ID der Tabelle Bautyp.
Gruß R
Aha, klar, logisch. Ich habe den Code angepasst. Nun ist gerade das nächste Problem aufgetaucht. In der Abfrage wird alles richtig dargestellt. Das Formular ist wieder editierbar, nur bleibt das mir wichtige neue Feld zum darstellen des Büroprojektnamens leer. Gruss Bernd.

Code: Alles auswählen

SELECT
    "Projektliste"."ID",
    "OrtID",
    "Ort",
    "ProjektBezeichnung",
    "GebaeudetypID",
    "Flurname",
    "BautypID",
    "ProjektArchivNummer",
    "longitude",
    "latitude",
    "ProjektstatusID",
    "Bemerkung",
    "Projekteroeffnung",
    "Planungsbeginn",
    "Gebaeudebezeichnung",
    "ProjektleiterID",
    "Ort"."ID",
    "Bautyp"."ID",

    "Ort"."Ort"  || '--- ' ||
    IFNULL( REPLACE( "ProjektBezeichnung", ' ', '_' ), 'x' )    || '--' ||   
    IFNULL( REPLACE( "Flurname", ' ', '_' ), 'x' )              || '--' ||
    IFNULL( REPLACE( "Gebaeudebezeichnung", ' ', '_' ), 'x' )   || '--' ||
    "Bautyp"."Bautyp"
    AS "___Büroprojektname____________________________________"

FROM
    "Projektliste",
    "Ort",
    "Bautyp"
WHERE
    "OrtID" = "Ort"."ID" AND "BautypID" = "Bautyp"."ID"
ORDER BY
    "Ort" ASC,
    "ProjektBezeichnung" ASC,
    "Flurname" ASC,
    "Gebaeudebezeichnung" ASC,
    "ProjektArchivNummer" ASC

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: [GELÖST] Formular nach Alphabet sortieren

Beitrag von F3K Total » So 27. Okt 2013, 23:02

Hi,
kann ich nicht nachvollziehen, nicht unter AOO 3.4.1 und nicht unter LO 4.1.2
Ritter.png
Ritter.png (4.55 KiB) 7105 mal betrachtet
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

wartburgritter
Beiträge: 101
Registriert: Di 13. Nov 2012, 18:28

Re: [GELÖST] Formular nach Alphabet sortieren

Beitrag von wartburgritter » Mo 28. Okt 2013, 10:44

F3K Total hat geschrieben:Hi,
kann ich nicht nachvollziehen, nicht unter AOO 3.4.1 und nicht unter LO 4.1.2
Gruß R
Upps in der DB mit den Pseudodaten die ich hochgeladen habe funktioniert es bei mir auch auf Anhieb. In der DB mit meinen richtigen Daten wird es erst nach einigen Schritten angezeit. Dort habe ich im Formular dem Kontrollfeld eine andere Spalte der Abfrage zugewiesen, gespeichert, Forumlar einmal gestarted und angezeigt, Formular bearbeiten und dem Kontrollfeld wieder die Spalte mit der zusammengesetzten Abfrage zugewiesen, gespeichert und jepp nun wird der zusammengesetzte Büroprojektnamens angezeigt.

Nochmals besten Dank für das zweite Lösen des Threads. :D Gruss aus dem herrlichsten Herbswetter, leider ausserhalb des Büros :(

Bernd

wartburgritter
Beiträge: 101
Registriert: Di 13. Nov 2012, 18:28

Re: [GELÖST] Formular nach Alphabet sortieren

Beitrag von wartburgritter » Di 29. Okt 2013, 20:34

Guten Abend R und R, Neue Probleme am Horizont ...

wieder lassen mich meine sql-Kenntnisse im Stich. Es geht wieder um obige Abfrage. Folgend der Code:

Code: Alles auswählen

SELECT
    "Projektliste"."ID",
    "OrtID",
    "Ort",
    "ProjektBezeichnung",
    "GebaeudetypID",
    "Flurname",
    "BautypID",
    "ProjektArchivNummer",
    "longitude",
    "latitude",
    "ProjektstatusID",
    "Bemerkung",
    "Projekteroeffnung",
    "Planungsbeginn",
    "Gebaeudebezeichnung",
    "ProjektleiterID",
    "Ort"."ID",
    "Bautyp"."ID"
 
FROM
    "Projektliste",
    "Ort",
    "Bautyp"
WHERE
    "OrtID" = "Ort"."ID" AND "BautypID" = "Bautyp"."ID"
ORDER BY
    "ProjektArchivNummer" ASC,
    "Ort" ASC,
    "ProjektBezeichnung" ASC,
    "Flurname" ASC,
    "Gebaeudebezeichnung" ASC
 
Wenn in der Tabelle Projektliste der Ort oder der Bautyp "Null" (nichts) ist wird der Eintrag durch obige Abfrage nicht gefunden. Oder anders wie bekomme ich es hin, dass auch Projekte angezeigt werden, bei denen der Ort oder der Bautyp "Null" ist?

gruss bernd

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: [GELÖST] Formular nach Alphabet sortieren

Beitrag von F3K Total » Di 29. Okt 2013, 23:13

So?

Code: Alles auswählen

SELECT 
    "Projektliste"."ID", 
    "OrtID", 
    "Ort",
    "ProjektBezeichnung",
    "GebaeudetypID",
    "Flurname",
    "BautypID",
    "ProjektArchivNummer",
    "longitude",
    "latitude",
    "ProjektstatusID",
    "Bemerkung",
    "Projekteroeffnung",
    "Planungsbeginn",
    "Gebaeudebezeichnung",
    "ProjektleiterID",
    "Ort"."ID",
    "Bautyp"."ID"
FROM 
    "Projektliste"
LEFT JOIN
    "Ort"
ON
    "OrtID" = "Ort"."ID"
LEFT JOIN
    "Bautyp"
ON
    "BautypID" = "Bautyp"."ID"
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten