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
-
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
-
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
-
Hallo Lorenz,
sind die beiden Tabellen nicht verknüpft?
-
Nein, die beiden Tabellen sind noch nicht verbunden
-
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?
-
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
-
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
-
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
endDas hab ich jetzt versucht. Da kommt aber der Fehlercode Expression does not return a record: i in Zeile 5, Spalte 41
-
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
-
Danke für die Antwort, er sagt aber dass die Tabellenspalte wurde nicht gefunden: Projekt in Zeile 4, Spalte 13
-
Danke für die Antwort, er sagt aber dass die Tabellenspalte wurde nicht gefunden: Projekt in Zeile 4, Spalte 13
-
kann sonst auch die Datenbank im Webseminar hochladen
-
Ja, wäre besser.
-
Habe es unter Druckansicht_Test hochgeladen
-
Habe jetzt so modifiziert, dass keine doppelten Einträge bei Projekten erstellt werden
-
Danke sehr, aber leider kommt jetzt das nächste Problem. Wenn man den Buttom mehrmals betätigt dann werden die Projekte doppelt erstellt
-
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
-
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
-
Aber könnten sie mir noch erklären, wie die Zeile mit new.(Projektname := I)
Und mit k.(Projekte:= my)
Und warum
-
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 -
Vielen Dank für die Erklärung
-
Vielen Dank für die Erklärung
Content aside
- vor 5 JahrenZuletzt aktiv
- 22Antworten
- 5402Ansichten