Contraseña para SQL server usando Crystal Reports

xena
20 de Febrero del 2006
Hola a todos, tengo una aplicación en VB .NET que accede a una BD en SQL Server. Mi problema es que al intentar mostrar un Crystal Report me sale una ventanita que me pide una contraseña, la introduzco y se muestra correctamente pero quisiera ahorrarme ese paso. Gracias por adelantado.

juantxeras
20 de Febrero del 2006
create en sql un usuario con poderes de almenos select sobre las tablas con las k vas a trabajar en el crystal report y al crear el crystal y hacerle la conexion nueva a la base de datos, usa este usuario con su contraseña, si esto no te lo resuelve hazmelo saber k tengo otras posibilidades ;)

juantxeras
20 de Febrero del 2006
por cierto, mira haber si me puedes resolver mi duda sobre los datagrids por favor.

xena
20 de Febrero del 2006
Hola juantxeras. Tengo un usuario creado como admin y como owner con todos los permisos, hay por ahi una funcioncita que me he bajado y casi lo hace bien pero debe haber algo que corregir. respecto a lo del data grid prueba poniendo mas ancho que la cabecera la propiedad RowHeaderWidth pero no tengo ni idea. Gracias

xena
20 de Febrero del 2006
Bueno bueno, al fin lo he solucionado y dejo aki el codigo para aquellos con el mismo problema.

* El CrystalReportViewer en la propiedad ReportSource no tiene que tener nada.

'Módulos a importar en la clase
Imports CrystalDecisions.ReportSource
Imports CrystalDecisions.Shared
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.CrystalReports
Imports CrystalDecisions.Windows
Imports CrystalDecisions.Windows.Forms

* Después en el load...

Private Sub Historico_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

With crConnectionInfo
.ServerName = "SERVER"
.DatabaseName = "DATABASE"
.UserID = "USER"
.Password = "PASSWORD"
End With

crTableLogonInfo.ConnectionInfo = crConnectionInfo
crTableLogonInfo.TableName = "TABLA1"
crTableLogonInfos.Add(crTableLogonInfo)
'crTableLogonInfo.TableName = "TABLA2"
'crTableLogonInfos.Add(crTableLogonInfo)
CrystalReportViewer1.LogOnInfo = crTableLogonInfos
crTableLogonInfos.Item(0).ReportName = crReportDocument.Name
CrystalReportViewer1.SelectionFormula = "{personas.DNI} ='" & dni & "'"
CrystalReportViewer1.ReportSource = crReportDocument

' Resto de consulta
' ---> codigoPaciente +" AND {consulta.c_codigo} =" + codigoConsulta

Me.CrystalReportViewer1.Zoom(50)

End Sub

Gracias y suerte!

juantxeras
20 de Febrero del 2006
me alegro k lo hayas resuleto :) y gracias por el codigo ese, seguro k le saco partido.

xena
20 de Febrero del 2006
Amigo siento la tardanza, el código no te lo puedo pasar porque es de mi curro y es confidencial (a mi me da igual pero si me pillan pago 15000 Eurazos), pero estoy dispuesto ayudarte en lo que pueda. Para empezar te diré que lo de las tablas es irrelevante puedes poner el nombre que quieras y funcionará por que es en la formula donde coge la info. Y esta función solo sirve para refrescar la conexión del CR, aparte claro tengo uno creado normalmente por el asistente. No se si era eso a lo que te referías pero espero haber sido de ayuda. Gracias

xena
20 de Febrero del 2006
Por cierto se me olvidaba un fragmento de codigo.

Obviamente se deben declarar las variables:

Public crReportDocument As CrystalReport1 = New CrystalReport1 ()
Public crTableLogonInfos As TableLogOnInfos = New TableLogOnInfos()
Public crTableLogonInfo As TableLogOnInfo = New TableLogOnInfo()
Public crConnectionInfo As ConnectionInfo = New ConnectionInfo()