Jag får bara massa trassel när jag använder Crystal Reports i dotnet. Det fungerar bra på min maskin men när jag installerar det på annan manskin funkar det inte. Jag har fölt anvisningarna i direkthjälpen till punkt och pricka och använt dotnets egen setupfunktion. Jag har angivit registreringsuppgifterna som man skall för crystal men kunden får ändå upp en fråga om registrering. Jag fattar inte varför. Crystal skall väl kunna distribueras med till kund. Nu har jag fattat att det naturligtvis handlar om var databasen ligger. Hur i hela friden ändrar man platsen? På kundens dator finns den ju i hans arbetskatalog men i testmiljön ligger den ju i \bin. I tidigare versioner av Crystal angav man .DataFiles(0) = dbNamn men jag kan inte finna det i denna version. I crystal designer kan man ju högerklicka och ändra databasinställningar men jag fattar inte hur man gör det dynamiskt. Dynamisk sökväg till databasen? Mors! Så här gör jag och det fungerar. Observera att rapporten baseras på två olika databaser.Crystal Reports
mvh ClaesSv: Crystal Reports
ClaesSv:Crystal Reports
Är det en fildatabas typ access och databasen
ligger i samband med var programmet startas från
så kan du använda application.startuppath() för att
få en sträng innehållande sökvägen till var programmet
exekverades ifrån och sedan manipulera strängen för
att få den att passa.
Kanske missuppfattade frågan nu iofs.
-ronnySv: Crystal Reports
Det är en fildatabas. I CR skapar man en rapportspecifikation mha denna databas. Problemet är att den senare inte ligger på samma plats när programmet blir installerat hos kunden och jag kan inte finna ut hur jag ändrar databaslocation för denna rapportspecifikation.
ClaesSv:Crystal Reports
<code>
Dim tbCurrent As CrystalDecisions.CrystalReports.Engine.Table
Dim tliCurrent As CrystalDecisions.Shared.TableLogOnInfo
' Create a report document instance to hold the report
Dim rptRpt As New ReportDocument
'Load the report
rptRpt.Load(strRptPath)
' Set the connection information for all the tables used in the report
For Each tbCurrent In rptRpt.Database.Tables
tliCurrent = tbCurrent.LogOnInfo
Select Case tbCurrent.Name
Case "KAT", "TYP"
tbCurrent.Location = strDBPathAR 'First DB
Case "HND", "FTG"
tbCurrent.Location = strDBPathMS 'Second DB
Case Else
tbCurrent.Location = strDBPathAR
End Select
Next tbCurrent
CrystalReportViewer.SelectionFormula = strSelectionFormula
CrystalReportViewer.ReportSource = rptRpt
</code>