[VB] Subrapporten

Pagina: 1
Acties:

  • Blacksnak
  • Registratie: Oktober 2001
  • Laatst online: 07-07-2024
Hallo

Ik ben met een projectje bezig waar ik als output een rapportje moet kunnen afdrukken. Dit is geen probleem met die datareports die in VB (6.0) zitten maar nu ben ik toch op een probleempje gestoten: ik kan namelijk niet vinden hoe ik een subrapport kan aanmaken.

Het zit als volgt: ik heb een tabel met gegevens, die gekoppeld is met een andere tabel. 1 record uit de eerste tabel kan meerdere gerelateerde records bevatten in de 2de tabel.

Nu moet op mijn rapport van beide van deze tabellen gegevens worden afgedrukt. Dus eerst de hoofdrec met daaronder de gerelateerde gegevens. Ik weet dat dit in Access mogelijk is met subrapporten. Iets wat ik dus helemaal niet terugvind bij Datareports.

Weet iemand hoe ik dit probleem kan oplossen?

thx


ps: een volledig rapport aanmaken met de print-instructie is geen optie.

Verwijderd

Waarom gebruik je Word niet als rapport generator, dan heb je alles zelf in de hand plus dat je veel meer opmaak mogelijkheden hebt.
Het is alleen wat meer werk ... :( maar dan heb je ook wat :)

  • Blacksnak
  • Registratie: Oktober 2001
  • Laatst online: 07-07-2024
Maar dan moet op de pc van de gebruiker weer Word geïnstalleerd zijn... Of heb ik het verkeerd?

Verwijderd

dat heb je goed gezien, als dat niet het geval is dan gaat deze oplossing niet op.
Het kan wel wat je wilt met datareports, ben ooit begonnen met het uitzoeken maar vond het te lastig en ben toen met Word verder gegaan. Vond ik makkelijker.

  • Blacksnak
  • Registratie: Oktober 2001
  • Laatst online: 07-07-2024
Is wel spijtig. Op dit moment bestaat de applicatie in simpele vorm in Word maar omdat het juist onafhankelijk moet zijn van Word hebben ze aan mij gevraagd dit even om te zetten in VB. Dus de oplossing om met Word samen te werken is niet mogelijk in dit geval.

Verwijderd

In VB6 zit een sample applicatie die rapportjes maakt met datareports.
Misschien kan je daar eens naar kijken

  • Blacksnak
  • Registratie: Oktober 2001
  • Laatst online: 07-07-2024
Zou ik kunnen doen als ik het tenminste terugvond :-)

btw: ik was mij nu nog iets aan het afvragen. Moeten gegevens op een Datareport altijd uit een database komen of kan ik ook rechtstreeks gegevens van een formulier erop plaatsen? (dit zou het onnodige gebruik van de database kunnen vermijden vermits het opslaan van de gegevens niet nodig is).

Verwijderd

als je een standaard installatie hebt gedaan staat ie op :
c:\program files\microsoft visual studio\msdn98\98VSa\1033\Samples\Vb98\DataRept

tenminste daar staat ie bij mij.

Datareports moeten naar mijn weten altijd aan een database gekoppeld worden.
En ik geloof ook dat wanneer iemand een report aan 't bekijken is er een connectie open blijft staan. Nog iets wat ik dus niet wilde in mijn programma ...

  • Blacksnak
  • Registratie: Oktober 2001
  • Laatst online: 07-07-2024
Owla, MSDN nog nie geïnstalled... zal wel zijn da'k die nie vind :-) Zal ik straks even doen.

Kvind het wel stom dat er geen andere mogelijkheid is om een fatsoenlijke afdruk te maken in VB. En werken met het print-commando geeft geen fatsoenlijke afdruk vind ik. Heb ik al teveel problemen mee gehad met het soort printer waar de applicatie op moet afdrukken.

Heeft er misschien iemand nog een andere oplossing buiten Datareports en print-command?

Verwijderd

Tja, je kan het altijd nog naar een .txt bestand opslaan en dan via notepad een afdruk maken ...

Verwijderd

idd of html reports maken..

  • Blacksnak
  • Registratie: Oktober 2001
  • Laatst online: 07-07-2024
Iemand nog een andere oplossing?

ps: html reports... bedoel je dan gewoon html + geg naar file kopiëren en die dan .html noemen?

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 01-09 13:54

Crazy D

I think we should take a look.

je kan de webbrowser-control op je form pletten, en daarin html laten zien. Dus bv je gegevens naar een tempfile spugen, even leuk opmaken natuurlijk met html, en dan in de webbrowser control die html file tonen. En je kunt afvangen wanneer er op een link wordt geklikt, dus op die manier kun je ook laten "inzoomen" om meer detail gegevens te tonen.

Exact expert nodig?


  • Blacksnak
  • Registratie: Oktober 2001
  • Laatst online: 07-07-2024
Verwijderd schreef op 04 september 2002 @ 13:58:
In VB6 zit een sample applicatie die rapportjes maakt met datareports.
Misschien kan je daar eens naar kijken
Ik heb dit voorbeeld ondertussen grondig bekeken en toegepast op mijn project. Werkt redelijk alleen moet ik er nu nog voor zorgen dat ik kan filteren zodat het over 1 record uit de hoofdtabel gaat ipv over alle records.

Normaal stel ik altijd mijn query in via code:

code:
1
2
3
4
5
6
7
8
9
10
11
...
strSQL = "SELECT * FROM tblBestel WHERE ID = 1"

rstTemp.Open strSQL, cnn, 3, 1

If rstTemp.RecordCount > 0 Then
    Set rptComputerList.DataSource = rstTemp.DataSource
End If

rptRapport.Show
...

Maar omdat dus nu alle verwijzingen in het rapport zelf staan (in een DataEnvironment waarna verwezen wordt in de properties van het rapport) en ik dus voldoende heb aan het show-commando om mijn rapport te openen , krijg ik niet gevonden hoe deze gegevens te filteren.

Ik heb al zitte kijken bij m'n instellingen van m'n dataEnvironment ( en van het Commando daarin dat voor de gegevens zorgt) maar kan dus niks terugvinden waarmee ik dit eventueel zou kunnen.

Iemand hier al enige ervaring mee?

Verwijderd

Je kan toch parameters definieren in de DataEnvironment.
Volgens mij moet het daarmee lukken

/edit
Je moet de query aanpassen.
Ben nog even aan 't uitzoeken hoe er een parameter komt.
Heb 't ooit werkend gehad

  • Blacksnak
  • Registratie: Oktober 2001
  • Laatst online: 07-07-2024
Dat dacht ik ook, maar daar is alles gedisabled. Kan er gewoon geen toevoegen. :(

Verwijderd

Heb je al eens gekeken naar Active Reports?
Daar werk ik altijd mee. Je kunt er geweldige rapporten mee maken en ook volkomen
'unbound' mee werken.

http://www.datadynamics.com/activereports/default.htm

Verwijderd

Open de properties van je hoofdtabel.
Geef een SQL statement als je die nog niet hebt en type dan:
code:
1
WHERE ID = ?

dan verschijnt er in de parameters tab Param1
Die kan je volgens mij vullen vanuit code.

  • Blacksnak
  • Registratie: Oktober 2001
  • Laatst online: 07-07-2024
dan verschijnt er in de parameters tab Param1.
idd, thx !
Die kan je volgens mij vullen vanuit code
Daar zal ik eens achter gaan zoeken.

  • Blacksnak
  • Registratie: Oktober 2001
  • Laatst online: 07-07-2024
Gevonden

code:
1
2
3
deDataenvironment.Data_Grouping (strParam)

rptRapport.Show


Thx voor de hulp ErikvSon
Pagina: 1