Thank you that solved issue number 1, now the report works with the local database,
The next issue is that I need to be able to connect to a remote database as well to make a report or just to be able to connect to a different database.
I have searched the internet for help on this issue, and found some code-snips that I have tried out. the code looks like this.
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Imports System.Configuration
Public Class CR
Private Sub CR_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim cryRpt As New ReportDocument
Dim crtableLogoninfos As New TableLogOnInfos
Dim crtableLogoninfo As New TableLogOnInfo
Dim crConnectionInfo As New ConnectionInfo
Dim CrTables As Tables
Dim CrTable As Table
cryRpt.Load("Reports/CrystalReport5.rpt")
Dim Sname As String
Dim Dbname As String
Dim Uname As String
Dim Pwd As String
Dim kid As Integer = 1
Dim oid As Integer = 1
Sname = CRdb.Servadr
Dbname = CRdb.Servname
Uname = CRdb.Username
Pwd = CRdb.Passw
MsgBox("Sname = " & Sname)
MsgBox("Dbname = " & Dbname)
MsgBox("Uname = " & Uname)
MsgBox("Pwd = " & Pwd)
With crConnectionInfo
.ServerName = "JOHNMOLANDS-PC\SQLEXPRESS"
.DatabaseName = "Kalkyle1"
.UserID = "User2"
.Password = "user2"
End With
Dim crParameterFieldDefinitions As ParameterFieldDefinitions
Dim crParameterFieldDefinition As ParameterFieldDefinition
Dim crParameterValues As ParameterValues
Dim crParameterDiscreteValue As ParameterDiscreteValue
crParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields
crParameterFieldDefinition = crParameterFieldDefinitions.Item("KundeID")
crParameterValues = crParameterFieldDefinition.CurrentValues
crParameterDiscreteValue = New ParameterDiscreteValue
crParameterDiscreteValue.Value = kid
crParameterValues.Add(crParameterDiscreteValue)
crParameterFieldDefinition.ApplyCurrentValues(crParameterValues)
Dim crParameterFieldDefinitions2 As ParameterFieldDefinitions
Dim crParameterFieldDefinition2 As ParameterFieldDefinition
Dim crParameterValues2 As ParameterValues
Dim crParameterDiscreteValue2 As ParameterDiscreteValue
crParameterFieldDefinitions2 = cryRpt.DataDefinition.ParameterFields
crParameterFieldDefinition2 = crParameterFieldDefinitions2.Item("OrdreID")
crParameterValues2 = crParameterFieldDefinition2.CurrentValues
crParameterDiscreteValue2 = New ParameterDiscreteValue
crParameterDiscreteValue2.Value = oid
crParameterValues2.Add(crParameterDiscreteValue2)
crParameterFieldDefinition2.ApplyCurrentValues(crParameterValues2)
CrTables = cryRpt.Database.Tables
For Each CrTable In CrTables
crtableLogoninfo = CrTable.LogOnInfo
crtableLogoninfo.ConnectionInfo = crConnectionInfo
CrTable.ApplyLogOnInfo(crtableLogoninfo)
Next
CrystalReportViewer1.ReportSource = cryRpt
End Sub
End Class
But when I run this code, the report asks for the first parameter over and over and over again for all subreports but never for the second parameter, then in the end when the report loads all the data linked to the second parameter is missing.
Why is that? I do not get promted for any logon info so I guess that part is working but somewhere along the way something goes wrong and the parameter links does not work.