Toon posts:

[delphi] QuickReport

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ugh ...

Ik wil een reportje tonen met behulp van QuickReport ...
Deze report wil ik opstellen aan de hand van een SQL ...
Hier een simpel voorbeeldje ...

Pagina 1
Naam : Peter
1... Info Peter 1
2... Info Peter 2

Pagina 2
Naam : Tom
1... Info Tom 1
2... Info Tom 2
3... Info Tom 3

De velden met nummers komen uit een SQL-query (select * from db where Naam = ' + QuotedStr( eNaam.Text ))
Deze query is niet geheel correct, maar als ik al weet hoe het met deze moet, kan ik me een andere ook wel bouwen ...

Vraag is gewoon ...
Hoe maak ik dit rapportje ...
Ik hoef geen code, want het is click-werk ... Ik moet gewoon weten hoe ik meerdere detailinformatie maak ...
Het zou ook al leuk zijn als iemand een internetpagina of zo weet waar wat meer over qReport uitgelegd wordt ...

Alvast bedankt ...

Peter

Verwijderd

Op donderdag 03 januari 2002 09:55 schreef Norrit het volgende:
Ugh ...

Ik wil een reportje tonen met behulp van QuickReport ...
Deze report wil ik opstellen aan de hand van een SQL ...
Hier een simpel voorbeeldje ...

Pagina 1
Naam : Peter
1... Info Peter 1
2... Info Peter 2

Pagina 2
Naam : Tom
1... Info Tom 1
2... Info Tom 2
3... Info Tom 3

De velden met nummers komen uit een SQL-query (select * from db where Naam = ' + QuotedStr( eNaam.Text ))
Deze query is niet geheel correct, maar als ik al weet hoe het met deze moet, kan ik me een andere ook wel bouwen ...

Vraag is gewoon ...
Hoe maak ik dit rapportje ...
Ik hoef geen code, want het is click-werk ... Ik moet gewoon weten hoe ik meerdere detailinformatie maak ...
Het zou ook al leuk zijn als iemand een internetpagina of zo weet waar wat meer over qReport uitgelegd wordt ...

Alvast bedankt ...

Peter
Waarschijnlijk biedt de QuickReport Wizard al genoeg hulp.
Probleem bij jouw query is dat je 1 record opvraagt en daardoor nooit automatisch alle pagina's kan laten genereren.

Beter zou het zijn als je alle records in één resultset kunt krijgen.

Zodra je dit hebt dan werkt het gewoon eenvoudigweg door je datasource te koppelen en QuickReport DBEdits/Labels te sleuren en pleuren en je rapport werkt (echt, zo simpel kan het gaan).

Welke Delphi/QuickReports versie gebruik je? Zit namelijk nogal verschil in per versie.

Bij de standaardinstallatie van Delphi zit vast ook nog wel een voorbeeldje (kijk eens in Samples/Demos).

Suc6

Verwijderd

Topicstarter
Ik zal er eens naar kijken (naar dat voorbeeldje)

Ik gebruik eigenlijk 2 tabellen ...
Eentje levert me de personen ... De andere levert me de gegevens per persoon ...

Tabel1: Naam (sleutel)

Tabek2: Gegevens - Naam (gekombineerde sleutel + naam is verwijzing naar Tabel1.Naam)

Eigenlijk doe ik dus 2 bevragingen ...
Het zou er ongeveer zo uit moeten zien ...

Tabel1.First;
while not Tabel1.EOF do
begin
Query2.DisableControls;
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add( 'SELECT * FROM tabel2 WHERE Tabel2.Naam = ' + QuotedStr( Tabel1.FieldByName( 'Naam' ).AsString ));
Query2.ExecSQL;
Query2.EnableControls;
Tabel1.Next;
end;

Als ik dit wegschrijf naar een tekstfile, werkt het goed (denk ik, heb het maar zo geschreven) ...
Maar zoals gezegd, ff naar het voorbeeldje kijken ...

Alvast bedankt ...

  • FendtVario
  • Registratie: Januari 2002
  • Laatst online: 12-05-2025

FendtVario

The leader drives Vario!

Ok, als je de query hebt is het maken van het rapport eigenlijk heel simpel.

1) Plaats een TQuickRep op een nieuw formulier.
2) Koppel een TDataSource aan het formulier, deze datasource verwijst naar de query die je gemaakt hebt.
3) Op het QuickRep plaats je de banden. Kijk in de helpfile waar alle soorten banden voor zijn. Plaats nu eerst een Detailband.
4) Plaats op de Detailband een aantal quickrep database labels, koppel deze aan de juiste velden.
5) zet de ForceNewPage van de detailband op true. Nu wordt elk record op een nieuwe pagina geplaatst.

je kunt het rapport door TQuickRep.Preview aan te roepen.

suc7

PS: QuickReport is niet echt een handige rapport tool, er bestaan nog wel een paar report componenten voor delphi. FastReport schijnt ook wel goed te zijn.

www.fendt.com | Nikon D7100 | PS5


Verwijderd

Topicstarter
Bedankt ...

Maar het gaat zich er maar om dat ik ff snel een report kan tonen, vandaar qReport ... Later wordt het inderdaad een ander report-systeem, maar voor nu is dit ff genoeg ... Maar het werkt nu redelijk goed ... Stabiliteit van dit alles heb ik niet getest, maar het zal wel goed zitten ...

Verwijderd

Op donderdag 03 januari 2002 11:06 schreef Norrit het volgende:
Ik zal er eens naar kijken (naar dat voorbeeldje)

Ik gebruik eigenlijk 2 tabellen ...
Eentje levert me de personen ... De andere levert me de gegevens per persoon ...

Tabel1: Naam (sleutel)

Tabek2: Gegevens - Naam (gekombineerde sleutel + naam is verwijzing naar Tabel1.Naam)

Eigenlijk doe ik dus 2 bevragingen ...
Het zou er ongeveer zo uit moeten zien ...

Tabel1.First;
while not Tabel1.EOF do
begin
Query2.DisableControls;
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add( 'SELECT * FROM tabel2 WHERE Tabel2.Naam = ' + QuotedStr( Tabel1.FieldByName( 'Naam' ).AsString ));
Query2.ExecSQL;
Query2.EnableControls;
Tabel1.Next;
end;

Als ik dit wegschrijf naar een tekstfile, werkt het goed (denk ik, heb het maar zo geschreven) ...
Maar zoals gezegd, ff naar het voorbeeldje kijken ...

Alvast bedankt ...
Waarom zo moeilijk doen?
code:
1
2
  SELECT Tabel1.Naam, Tabel2.bla, Tabel2.blabla
  FROM Tabel1 INNER JOIN Tabel2 ON Tabel1.Naam=Tabel2.Naam

En als je DB geen JOINs ondersteund:
code:
1
2
  SELECT Tabel1.Naam, Tabel2.bla, Tabel2.blabla
  FROM Tabel1, Tabel2 WHERE Tabel1.Naam=Tabel2.Naam

Scheelt nogal wat code en zelfs je QReport gaat in één keer goed.
Pagina: 1