Nach Hause
Top.Mail.Ru Yandeks.Metrika
Forum: "Grundlagen";
Aktuelles Archiv: 2002.01.08;
Herunterladen: [xml.tar.bz2];

Nach unten

Das Problem bei der Erstellung der Anfrage und ihrer Ausgabe in QReport Finden Sie ähnliche Zweige


Andrey Pogorelov   (2001-12-02 10:49) [0]

3-Tabelle verfügbar
Table1-Tierregister
id
vid
Kategorie
--------------
id vid categoria
1, 1, 2
2, 1, 2
3, 2, 1
--------------
Table2-Tierarten
id
Name
--------------
1, Hunde
2, Katzen
--------------
Table3 - Tierkategorien
id
Name
--------------
1, Selbstgemacht
2, Obdachlose
--------------
Es ist notwendig, die Anzahl der Tiere in der Datenbank, die Anzahl der Heim- und Obdachlosen nach Arten und die im QReport platzierten Ergebnisse zu berechnen
die kommen in form
Art von Obdachlosen Obdachlosen
0 Hunde 2
Katzen 1 0
Total: 3
Hilfe ist sehr notwendig, im Voraus Vielen Dank.



asafr   (2001-12-03 15:14) [1]

Sie nehmen TQuery und nennen es beispielsweise qr_Work. Eine Anfrage schreiben: SELECT VID, CATHEGORY, COUNT (*) AS SUM_ FROM TABLE1 GRUPPE NACH VID, KATHEGORIE - Dieses qr_Work ist eine Quelle für QReport. Abfrageergebnis:
VID CATHEGORY SUM_
1 2 2
2 1 1

In QReport im DetailBand machen Sie dies:
----------------------------------------
<- DetailHeader
Vid cathegory sum_
----------------------------------------
<- Detailbereich
[QRLabel1] [QRLabel2] [QRDBText1]
----------------------------------------
QRDBText1 - Link zum Sum_-Feld

In Events QRLabel1 schreiben Sie: procedure TForm1.QRLabel1Print (Absender: TObject; var Wert: String); beginne wenn qr_Work.FirldByName ( "vid") AsInteger = 1 dann QRLabel1.Caption :. = "Dogs" sonst QRLabel1.Caption: = "Cats" Ende;

Dementsprechend procedure TForm1.QRLabel2Print (Absender: TObject; var Wert: String); beginne if qr_Work.FirldByName ("cathegory"). AsInteger = 1 dann QRLabel2.Caption: = "Homemade" sonst QRLabel2.Caption: = "Homeless" Ende;


TOTAL: - kann auf verschiedene Arten gefunden werden. Verwenden Sie entweder QRExpr oder fügen Sie in QRDBText1Print die Summenwerte jeder Zeile hinzu. Vergessen Sie nicht, kurz vor dem Drucken die Funktion Summe _: = 0 auszuführen, da sich dann die Werte der einzelnen Ausdrucke addieren.




Dick Gonsales   (2001-12-04 03:14) [2]

Wunsch
Hier / *, je nachdem, wie Sie * vyglyadlo wollen /
/ * 1-Option * /
SELECT T3.name, T2.name, count (T1. *)
VON T3, T2, T1
WHERE T3.id = T1.categoria und T2.id = T1.vid
GROUP BY T3.name, T2.name
UNION
SELECT T3.name, "Total", count (T1. *)
/ * Raum, um richtig zu arbeiten, um von * /
VON T3, T1
WHERE T3.id = T1.categoria
GROUP BY T3.name
AUFTRAG NACH T3.name
/ * Category1 View1 Menge * /
/ * Category1 View2 Menge * /
/ * Category1 Gesamtmenge * /
/ * Category2 View1 Menge * /
/ * Category1 View2 Menge * /
/ * Category1 Gesamtmenge * /

/ * 2-Option * /
SELECT T2.name, T3.name, count (T1. *)
VON T3, T2, T1
WHERE T3.id = T1.categoria und T2.id = T1.vid
GROUP BY T2.name, T3.name
UNION
SELECT T2.name, "Total", count (T1. *)
VON T2, T1
WHERE T2.id = T1.vid
GROUP BY T2.name
AUFTRAG NACH T2.name
/ * View1 Category1 Menge * /
/ * View1 Category2 Menge * /
/ * View1 Gesamtmenge * /
/ * View2 Category1 Menge * /
/ * View2 Category2 Menge * /
/ * View2 Gesamtmenge * /



Sie legen Anfrage auf Bericht auf und Sie malen Felder,
aber prinzipiell kannst du verwenden
Delphi-Master zum Generieren von Berichten
Verwenden Sie das obige SELECT und es wird alles für Sie tun.

Die Option, die asafr anbietet, kann verwendet werden
Wenn Sie nur wenige Kategorien und Typen haben und diese sich nicht ändern,
weil Sie sind hart codiert. Hier spielt es keine Rolle.



Seiten: 1 ganze Branche

Forum: "Grundlagen";
Aktuelles Archiv: 2002.01.08;
Herunterladen: [xml.tar.bz2];

nach oben









Speicher: 0.82 MB
Zeit: 0.03 c
1-22170
AVALLOGIGS
2001-12-20 19:37
2002.01.08
Hilfe oder Hilfe!


1-22264
Anatoly
2001-12-17 06:36
2002.01.08
Chart


3-21935
Haar
2001-12-03 15:12
2002.01.08
Datenspeicherung


3-21987
Gut
2001-12-06 08:44
2002.01.08
Rxlib


4-22506
Gluka
2001-11-06 00:16
2002.01.08
Wie man eine * .dll-Datei in einer Exe-Datei stoppt?





Afrikanisch Albanien Arabisch Armenisch Aserbaidschanisch Baskisch Weißrusse Bulgarian katalanisch Chinesisch (vereinfacht) Chinesische Tradition) kroatisch Tschechisch Dänisch Dutch Englisch estnisch Philippinisch Finnish Französisch
Galicisch Georgisch Deutsch Griechisch haitian Creole Hebräisch Hindi ungarisch isländisch Indonesian irisch Italian Japanisch Koreanisch lettisch litauisch Makedonisch Malay Maltesisch Norwegian
persisch Polnisch Portugiesisch Rumänisch Russisch serbisch Slovakisch Slowenisch Spanisch Suaheli Swedish Thai Türkisch Ukrainisch Urdu Vietnamesisch Walisisch Jiddisch Bengalisch bosnisch
cebuano Esperanto Gujarati Hausa Hmong igbo Javanisch kannada khmer Laotisch Lateinisch Maorisch Marathi Mongolisch nepali Pandschabi Somalisch Tamilisch Telugu Yoruba
Zulu
Английский Französisch Deutsch Italienisch Португальский Russisch Spanisch