Modificare a runtime nome della tabella sorgente dati

martedì 13 febbraio 2007 - 15.54

eta-carinae Profilo | Newbie

Salve,
sto cercando invano di modificare a runtime il nome della tabella sorgente dati di un mio report.
Non c'è verso di convincere questo report di modificarlo!!!
Questo è il codice che sto utilizzando:

Dim LogOn As New CrystalDecisions.Shared.TableLogOnInfo
LogOn = CrReport.Database.Tables(0).LogOnInfo

With LogOn
.ConnectionInfo.DatabaseName = "mioDb"
.ConnectionInfo.IntegratedSecurity = False
.ConnectionInfo.ServerName = NomeServer
.ConnectionInfo.UserID = "sa"
.ConnectionInfo.Password = "xxxxx"
.TableName = "Vendite_" & Machinename
.ConnectionInfo.AllowCustomConnection = True
End With

CrReport.Database.Tables(0).ApplyLogOnInfo(LogOn)
CrReport.DataSourceConnections(0).SetConnection(Server, "cruscotto", "sa", "xxxxx")


Il programma genera un'eccezione all'esecuzione del metodo ApplyLogOnInfo.
Questo è l'errore restituito:
"Impossibile trovare la tabella 'vVendite'.
Errore nel file ... {379586F6-43D8-44A7-9FAF-3B6B2E563AE7}.rpt:
Impossibile trovare la tabella."
Come se il nome della nuova tabella non lo prende proprio in considerazione.

Qualcuno sa darmi qualche suggerimento in merito?
Grazie

freeteo Profilo | Guru

ciao,
ti posto questi 2 link che rimandano ad altrettanti Thread che parlano della stessa cosa, vedi se fanno al caso tuo:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=13634
http://www.dotnethell.it/forum/messages.aspx?ThreadID=5303

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

eta-carinae Profilo | Newbie

Purtroppo non fanno al caso mio, in quanto a me serve cambiare dinamicamente
il nome della sorgente dati (che nel mio caso è una vista).
Riesco ad accedere tranquillamente al db fornendo i parametri di accesso,
ma la vista sorgente non c'è verso di cambiarla
(eppure ha la stessa struttura dell'originale, cambia solo il nome).
Ciò è strano perchè l'oggetto ReportDocument espone la proprietà TableName,
ma sembra ignorarla.
Qualche suggerimento?

freeteo Profilo | Guru

ciao,
quella proprieta' non è per la relativa connessione al db, si tratta dell'oggetto Tabella del report.
Ma hai guardato qui:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=5303

in quel post ricordo che Crystal si setta anche la proprieta' "Location" della Table (o "delle" se ne hai piu' di una) quindi magari se il database è esattamente lo stesso ti basta cambiare solo quella proprieta'.
Ricorda pero' che la prende anche il nome del db davanti, se stai usando sql server...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5