1

Topic: Spaltengröße Inhaltsverzeichnis

Guten Tag.
Gibt es eine Möglichkeit die Spaltengröße im Inhaltsverzeichnis zu defnieren?
Ich erstelle gerade eins aus Position, Titel und Datum.
Hier könnten, wenn es geht, Datum und Position viel kleiner sein, damit für den Titel mehr Platz ist. Kann man das irgendwo einstellen?

2

Re: Spaltengröße Inhaltsverzeichnis

Moin!

Das Inhaltsverzeichnis und auch das für die Betriebsmittel werden dynamisch durch SQL-Abfragen der Projekt-internen Datenbank erzeugt. Daher wirst Du nicht umhin kommen, dich damit zu beschäftigen.
Die interne DB ist eine SQLite-Datenbank und auf deren Seite gibt es auch Informationen zur formatierten Ausgabe mit "printf":
https://www.sqlite.org/printf.html
Dazu gab es auch schon vereinzelt Posts in diesem Forum, aber eine gute Zusammenfassung oder gar Anleitung steht noch aus, fürchte ich...
Im Anhang habe ich mal ein Beispiel angefügt, mit dieser SQL-Abfrage:

SELECT printf("%10s", folio) Folio, printf("%-170s", title) Beschreibung, indexrev, printf("%-50s", author) Bearbeiter, date FROM project_summary_view

Vielleicht hilft Dir das schon weiter für die Erstellung eines schönen Inhaltsverzeichnis und einer noch besseren Anleitung? nomicons/wink

Fragen zu QET gehören in dieses Forum und werden nicht per PM beantwortet! – Questions regarding QET belong in this forum and will NOT be answered via PM! – Les questions concernant QET doivent être posées sur ce forum et ne seront pas traitées par MP !

3

Re: Spaltengröße Inhaltsverzeichnis

Top danke!
Werde ich mir in einer ruhigen Minute zuhause angucken.

Ich hatte unter Spaltengröße und Column nichts passendes im Forum gefunden.

Wenn ich es hinbekommen, werde ich gerne eine Anleitung schreiben, die ihr dann, wenn sie gut genug ist, in die Anleitung auf der Homepage übernehmen könnt.

4

Re: Spaltengröße Inhaltsverzeichnis

Ich wollte die Anleitung hochladen. Allerdings bekomme ich immer folgende Fehlermeldung:


Warning! The following errors must be corrected before your message can be posted:

    The server was unable to save the uploaded file. Please contact the forum administrator at scorpio@qelectrotech.org.

5

Re: Spaltengröße Inhaltsverzeichnis

Mir ist während dem ausprobieren der Befehle etwas aufgefallen, was es hoffentlich gibt.
Gibt es in der SQL Datenbank einen Eintrag, wo ein Bauteil gespeichert ist?
Also es gibt einmal die Seite auf der die gespeichert ist, was man ja simpel abrufen kann.
Aber gibt es auch, dass das Bauteil beispielsweise in Spalte 1 ist? Also wie im Querverweis das dort im Prinzip 18.1 oder ähnliches steht?
Das könnte für mich äußerst hilfreich sein, dass ich die Klemmen in eine Liste exportieren kann und diese dann die richtige Reihenfolge haben.

6

Re: Spaltengröße Inhaltsverzeichnis

Oder eine X Position statt der Spalte wäre natürlich auch eine Möglichkeit.

7

Re: Spaltengröße Inhaltsverzeichnis

Sorry für das Spamen. Ich habe gefunden, dass es die variable Position gibt.
Mit etwas Hilfe konnte ich es auf den ersten Blick hinkriegen, dass die Klemmen nach dem Prinzip
Seite, Position dann Zahl aus der Klemmenbezeichnung dann N und dann PE
sortiert wird.
hier der Code:

SELECT
  printf('%-6s', diagram_position) AS Seite,
  printf('%-10s', label) AS BMK,
  printf('%-6s', position) AS Position,
  printf('%-10s', manufacturer) AS "externes Ziel",
  printf('%-30s', manufacturer_reference) AS Kabel,
  printf('%-80s', supplier) AS Brücke,
  printf('%-15s', designation) AS "internes Ziel"
FROM element_nomenclature_view
WHERE element_type = 'terminal'
  AND label IS NOT NULL
  AND label <> ''
  AND label LIKE '%X2%'
ORDER BY
  diagram_position,
  SUBSTR(position, 1, 1),                -- Sortiere nach dem Buchstaben der Position (z.B. F)
  CAST(SUBSTR(position, 2) AS INTEGER),   -- Sortiere nach der Zahl der Position (z.B. 2, 3, 4 …)
  CASE
    WHEN substr(label, instr(label,':')+1) NOT GLOB '*[^0-9]*' THEN 0  -- ausschließlich Ziffern: numerisch
    WHEN substr(label, instr(label,':')+1) = 'N' THEN 1                -- dann "N"
    WHEN substr(label, instr(label,':')+1) = 'PE' THEN 2               -- dann "PE"
    ELSE 3
  END,
  CASE
    WHEN substr(label, instr(label,':')+1) NOT GLOB '*[^0-9]*'
      THEN CAST(substr(label, instr(label,':')+1) AS INTEGER)
    ELSE 0
  END;

8

Re: Spaltengröße Inhaltsverzeichnis

Hier ist die Erklärung.
Über Rückmeldungen und Anmerkungen würde ich mich freuen.

Post's attachments

Attachment icon Erklärung SQL Abfragen QElectrotech.pdf 78.76 kb, 34 downloads since 2025-03-21 

Attachment icon Erklärung SQL Abfragen QElectrotech.xlsx 23.26 kb, 37 downloads since 2025-03-21