Seite 1 von 2

[GELÖST] Formular nach Alphabet sortieren

Verfasst: Mi 9. Okt 2013, 17:10
von wartburgritter
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

Re: Formular nach Alphabet sortieren

Verfasst: Mi 9. Okt 2013, 18:40
von F3K Total
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

Re: Formular nach Alphabet sortieren

Verfasst: Fr 11. Okt 2013, 19:02
von wartburgritter
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

Re: [GELÖST] Formular nach Alphabet sortieren

Verfasst: So 27. Okt 2013, 21:42
von wartburgritter
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

Re: [GELÖST] Formular nach Alphabet sortieren

Verfasst: So 27. Okt 2013, 21:58
von F3K Total
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

Re: [GELÖST] Formular nach Alphabet sortieren

Verfasst: So 27. Okt 2013, 22:43
von wartburgritter
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

Re: [GELÖST] Formular nach Alphabet sortieren

Verfasst: So 27. Okt 2013, 23:02
von F3K Total
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) 7096 mal betrachtet
Gruß R

Re: [GELÖST] Formular nach Alphabet sortieren

Verfasst: Mo 28. Okt 2013, 10:44
von wartburgritter
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

Re: [GELÖST] Formular nach Alphabet sortieren

Verfasst: Di 29. Okt 2013, 20:34
von wartburgritter
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

Re: [GELÖST] Formular nach Alphabet sortieren

Verfasst: Di 29. Okt 2013, 23:13
von F3K Total
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