[VB, CR80 & MySQL]foutmelding: server has not yet...

Pagina: 1
Acties:

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
Middels VB6 en Crystal Reports 8.0 wil ik rapporten uitdraaien. Ik heb een rapport gemaakt en wil de recordset naar toe sturen. Maar keer op keer krijg ik de foutmelding "server has not yet been opened". Via google wordt ik niet veel wijzer en een stukje simpele voorbeeldcode is ook moeilijk te vinden. Kan aan mij liggen, maar toch.

code:
1
2
3
4
5
6
7
8
Dim crAppl As New CRAXDRT.Application
                        Dim crRep As CRAXDRT.report
                        ' make deef-file
                        Set crRep = crAppl.OpenReport(App.Path & "\rpt\ado2.rpt")
                        crRep.Database.Tables(1).SetDataSource rst, 3
                        frmRapportage.CRViewer1.ReportSource = crRep                  
                        frmRapportage.CRViewer1.ViewReport
                        frmRapportage.Show


voor dit stukje code wordt een recordset rst geladen. De foutmelding blijft terugkomen. Wat kan dit zijn ? Dit werkt ook niet met een MS-Access database.

Verwijderd

Zoiets gebruik ik meestal

code:
1
2
3
4
5
6
7
8
                Dim CRXApplication As CRAXDRT.Application
    Dim crxreport As CRAXDRT.Report

    Set CRXApplication = CreateObject("crystalruntime.application")
                Set crxreport = CRXApplication.OpenReport("c:\CDHoezen\2cdlabel.rpt")
    
                crxreport.Database.SetDataSource pdata
    crxreport.ReadRecords


References naar de crystal component in Access gedaan ?

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
Verwijderd schreef op 28 april 2004 @ 17:05:
Z

References naar de crystal component in Access gedaan ?
wat bedoel je hiermee ? als ik de recordset debug, dan WEET ik gewoon 100% zeker dat de recordset gevuld is. De rest van mijn programma werkt wel !

Verwijderd

In de VB editor Tools, References en daar een verwijzing naar de Crystal Report Viewer Control en de Crystal ActiveX runtime library zetten

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
uiteraard heb ik dit gedaan. Wat kan dit zijn ? @leoiekens: heb je misschien een stukje voorbeeldcode, zodat ik dit kan vergelijken ? Wellicht zie ik iets over het hoofd. Wat moet ik precies instellen in m'n rapport zelf ?

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
hier nog wat extra info:
Mijn app opent een database via een ADO-connectie. De connectionstring haal ik uit een ini-file en de database is MySQl of Access (afhankelijk van de installatie). Ik wil een rapport maken via Crystal Reports 8.0 (legale versie). Ik maak dan in de CR-designer een rapport aan, maak een connectie met dezelfde database als mijn app en plaatst de gewenste velden.
"Save data with report" heb ik uitgezet en het rapport opgeslagen.

In het programma open ik het rapport in de crviewer, maar steeds dezelfde melding...

doe ik iets verkeerd, zie ik iets over het hoofd ???

Update: ik heb een rapport gemaakt met een ttx-bestand, dan lukt het wel, een nieuw rapport met velden uit de database niet.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Option Explicit
Public cnn As ADODB.Connection
Dim cnnString           As String

Private Sub Command1_Click()
Dim CRXApplication As CRAXDRT.Application
Dim crxreport As CRAXDRT.Report
Dim rst As ADODB.Recordset

Set CRXApplication = CreateObject("crystalruntime.application")
Set crxreport = CRXApplication.OpenReport("D:\temp\CR\4\ado2.rpt")
Set rst = New ADODB.Recordset

rst.Open "SELECT * FROM registraties WHERE datum='2004-04-28'", cnn
crxreport.Database.SetDataSource rst
crxreport.ReadRecords           ' <-- !!!!! PROBLEEM !!!!
Load frmRapport
frmRapport.CRViewer1.ReportSource = crxreport
frmRapport.CRViewer1.ViewReport
frmRapport.Show
End Sub

Private Sub Form_Load()
Set cnn = New ADODB.Connection
cnnString = "DRIVER={MySQL ODBC 3.51 Driver};user=usr;password=pwd;database=db;_ 
server=server1;option=18475"
cnn.Open cnnString

End Sub

[ Voor 53% gewijzigd door pkouwer op 29-04-2004 07:58 ]


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Even uit mijn hoofd, maar heeft het rapport object of het viewer object niet een LogOntoServer methode (of iets dergelijks) ?

Als je er niet uit komt moet ik even wat oude code opzoeken. Ik heb het wel ergens werkend gekregen.

Oops! Google Chrome could not find www.rijks%20museum.nl


  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
daar twijfel ik dus aan of je logonserver moet toepassen. In sommige gevallen volgens mij niet. Als je eens zou willen kijken naar wat code ben ik je dankbaar :)

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Hmm, wij hebben het in wat oude software gedaan door een Crystal Report Control object op het formulier te zetten en dit object te gebruiken.

In de code hebben we dan

CrystalReport.ReportFileName = "c:\rapport\bla.rpt"
CrystalReport.LogOnServer "pdsodbc.dll", "SERVER", "DATABASE", "USERNAAM", "PASSWORD"
CrystalReport.PrintReport

We hebben dus eerst het rapport ontworpen in Crystal reports. Ik hoop dat je hier iets aan hebt.

Oops! Google Chrome could not find www.rijks%20museum.nl


Verwijderd

Je moet dus in Crystal als je het rapport maakt kiezen voor Active Data, Field Definitions only als datasource. Je maakt dan een filetje met je veldnamen die als placeholder functioneren voor de gegevens uit je dataset.

Ah, je hebt dat TTX al.

Probeer de CR component eens op het formulier waar ook de code achterzit

En hier al gezocht:

http://support.businessob...ref=default.asp_shortcuts

[ Voor 35% gewijzigd door Verwijderd op 29-04-2004 11:00 ]


  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
P_de_B schreef op 29 april 2004 @ 09:26:
Hmm, wij hebben het in wat oude software gedaan door een Crystal Report Control object op het formulier te zetten en dit object te gebruiken.

In de code hebben we dan

CrystalReport.ReportFileName = "c:\rapport\bla.rpt"
CrystalReport.LogOnServer "pdsodbc.dll", "SERVER", "DATABASE", "USERNAAM", "PASSWORD"
CrystalReport.PrintReport

We hebben dus eerst het rapport ontworpen in Crystal reports. Ik hoop dat je hier iets aan hebt.
zo wil ik het ook doen nl. welke database gebruiken jullie ? waar en hoe vul je je rapport met de recordset ?

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
We gebruiken SQL Server 2000. We vullen het rapport niet met een recordset maar geven de parameters door aan het rapport. (Of de recordselectionformula)

Oops! Google Chrome could not find www.rijks%20museum.nl


  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
P_de_B schreef op 29 april 2004 @ 14:11:
We gebruiken SQL Server 2000. We vullen het rapport niet met een recordset maar geven de parameters door aan het rapport. (Of de recordselectionformula)
ik weet het, ik ben lastig, maar kun je bovenstaande toelichten met een voorbeeldje ? (met name het vullen )

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Het voorbeeldje wat ik heb gegeven is het *enige* wat we doen. Eventueel de RecordSelectionFormula vullen om alleen bepaalde records te selecteren.

Dus rapport maken in CR 8
Crystal Report Object toevoegen aan je formulier
Code uit mijn voorbeeldje gebruiken

that's all :)

Oops! Google Chrome could not find www.rijks%20museum.nl

Pagina: 1