0

Gestalltungsmittel Ansicht drucken

Ich habe eine Ansicht voller Einträge und noch ein paar mehr Textfelder. Jetzt möchte ich gerne das alles Ausdrücken, aber die Ansicht finde ich nicht in der Druckansicht. Wie schaffe ich es, dass ich die Ansicht in der Druckansicht sehe und sie einfügen kann?

22 Antworten

null
    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Lorenz,

    die Ansichten kann man leider nicht ins Printlayout aufnehmen. Die einzige Möglichkeit - die Tabelle aud Ansicht mit dem Formular n:1 zu verknüpfen.

    Leo

    • Lamping & Reisig Gmbh & Co.KG
    • LuRLorenz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Moin,

    wie kann ich dass denn am einfachsten machen?

    Also ich habe eine Tabelle mit mehreren tausenden Positionen, die verschiedenen Projekten zugeordnet sind. Eine weitere Tabelle namens: Projekte, in der ich dann die Ansicht habe, wo alle Positionen für das jeweilige Projekt habe. Und nun möchte ich gerne das Projekt und die dazugehörigen Positionen möglichst einfach ausdrucken 

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Lorenz,

    sind die beiden Tabellen nicht verknüpft?

    • Lamping & Reisig Gmbh & Co.KG
    • LuRLorenz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Nein, die beiden Tabellen sind noch nicht verbunden

    • Lamping & Reisig Gmbh & Co.KG
    • LuRLorenz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Also wie kann ich am einfachsten aus der  einen Tabelle alle einträge, die als Projektnamen das Projekt haben in dem ich bin, einfügen. Mit der Ansicht hat das ja super geklappt, aber ich muss es ausdrucken können. Welche alternativen hab ich denn?

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Füge in der Wertetabelle eine Verknüpfung zu der Projekttabelle hinzu. Erstell in der Wertetabelle einen Button mit der Formel:

    ...

     

    do as server
    for i in unique(select WERTETABELLE.Projektname) do
    let new:=create PROJEKTTABELLE;
    new.Projektname:=i;
    select WERTETABELLE where Projektname=i.(PROJEKTTABELLE:=new);
    end
    end
    ...

    Klicke auf den Button und warte bis der Skript ausgeführt wird.
    Jetzt sollten in der Projekttabelle bei jedem Projekt als Untertabelle alle Projektwerte zu sehen sein.

    Leo

    • Lamping & Reisig Gmbh & Co.KG
    • LuRLorenz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    entschuldigung, aber ich bin mir nicht ganz sicher was jetzt womit gemeint ist. Also meine Tabelle mit allen Positionen heißt Projekt Positionen. Dann habe ich die andere Tabelle namens Projekte, in der ich gerne alle Projektpositionen hätte die zum Projekt gehören. In Projektpositionen habe ich ein Textfeld mit dem Namen des Projektes das heißt projekt.

    Wäre es möglich den Code mit meinen Dateinamen

    • Lamping & Reisig Gmbh & Co.KG
    • LuRLorenz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    do as server
    for i in unique(select Projektpositionen.Projekt) do
    let new:=create Projekte.Projekttabelle;
    new.Projekte.Projektname:=i;
    select Projektpositionen where Projekt=i.(Produkttabelle:=new);
    end
    end

    Das hab ich jetzt versucht. Da kommt aber der Fehlercode Expression does not return a record: i in Zeile 5, Spalte 41

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    do as server
    for i in unique(select Projektpositionen.Projekt) do
    let new:=create Projekte;
    new.Projekt:=i;
    select Projektpositionen where Projekt=i.(Projektpositionen:=new);
    end
    end

    • Lamping & Reisig Gmbh & Co.KG
    • LuRLorenz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Danke für die Antwort, er sagt aber dass die Tabellenspalte wurde nicht gefunden: Projekt in Zeile 4, Spalte 13

    • Lamping & Reisig Gmbh & Co.KG
    • LuRLorenz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Danke für die Antwort, er sagt aber dass die Tabellenspalte wurde nicht gefunden: Projekt in Zeile 4, Spalte 13

    • Lamping & Reisig Gmbh & Co.KG
    • LuRLorenz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    kann sonst auch die Datenbank im Webseminar hochladen

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Ja, wäre besser.

    • Lamping & Reisig Gmbh & Co.KG
    • LuRLorenz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Habe es unter Druckansicht_Test hochgeladen

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Habe jetzt so modifiziert, dass keine doppelten Einträge bei Projekten erstellt werden

    • Lamping & Reisig Gmbh & Co.KG
    • LuRLorenz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Danke sehr, aber leider kommt jetzt das nächste Problem. Wenn man den Buttom mehrmals betätigt dann werden die Projekte doppelt erstellt

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Interessant, alles was ich geschrieben habe, ist weg. Wir sind zusammen als admin angemeldet gewesen.

    Die Formel sollte so sein:

    ...

    do as server
    let POS := (select Projektpositionen);
    let PRT := (select Projekte);
    for i in unique(POS.Projekt) do
    if cnt(PRT[Projektname = i]) = 0 then
    let new := (create Projekte);
    new.(Projektname := i);
    for j in POS[Projekt = i] do
    j.(Projekte := new)
    end
    else
    let my := first(PRT[Projektname = i]);
    for k in POS[Projekt = i] do
    k.(Projekte := my)
    end
    end
    end
    end

    ...

    Leo

    • Lamping & Reisig Gmbh & Co.KG
    • LuRLorenz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Danke sehr, ich bin mir nicht sicher, ob ich daran schuld war, dass der Code verschwunden ist. Aber jetzt funktioniert alles wie gewünscht danke sehr 

    • Lamping & Reisig Gmbh & Co.KG
    • LuRLorenz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Aber könnten sie mir noch erklären, wie die Zeile mit new.(Projektname := I)

    Und mit k.(Projekte:= my) 

    Und warum

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    let POS := (select Projektpositionen) -# deklarieren komplette Tabelle als Variable POS;
    let PRT := (select Projekte); - #dekalrieiren komplette Tabelle als Variable PRT
    for i in unique(POS.Projekt) do - #unique(POS.Projekt) ist ein Array aus Projektnamen (eindeutig), innerhalb der Schleife ist i immer ein Projektname.
    if cnt(PRT[Projektname = i]) = 0 then #wenn Anzahl der Projekte mit dem Namen gleich i dann
    let new := (create Projekte); #erstelle einen neuen Projektdatensatz mit Variable new.
    new.(Projektname := i);# und gebe dem Feld Projektname den Namen i
    for j in POS[Projekt = i] do #in jedem Datensatz der Tabelle Projektpositionen welcher Projekt gleich i hat
    j.(Projekte := new) #verknüpfe den datensatz mit dem neu erstelleten Projekt new
    end
    else #anderfalls wenn Projekt bereits existiert
    let my := first(PRT[Projektname = i]); #deklariere ersten gefundenen Projekt mit dem Projektname gleich i als Variable my
    for k in POS[Projekt = i] do #in jedem Datensatz der Tabelle Projektpositionen welcher Projekt gleich i hat
    k.(Projekte := my) #verknüpfe den Datensatz mit dem Projekt my

    • Lamping & Reisig Gmbh & Co.KG
    • LuRLorenz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Vielen Dank für die Erklärung

    • Lamping & Reisig Gmbh & Co.KG
    • LuRLorenz
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Vielen Dank für die Erklärung

Content aside

  • vor 4 JahrenZuletzt aktiv
  • 22Antworten
  • 5331Ansichten