Re: Crear Crystal reports

13/12/2005 - 15:41 por andrelolu | Informe spam
Estoy realizando una aplicación windows en .net y necesito hacer un crystal report, tengo 3 tablas en access relacionadas entre si... en el crystal report tengo un combobox y un botón lo que quiero es que cuando escoja un nombre del proyecto que está en el combobox , en el reporte se carguen los datos del proyecto..Ahora lo hace solo para elprimer proyecto ingresado si escojo otro proyecto no me carga en el reporte. Además mi base está protegida por contraseña ya puse el código con el pasw pero siempre que carga el reporte me pide psw...Si sabes otra forma que funcione bien de como cargar los datos y quitar ese mensaje de q me pida la contraseña ayúdame... La programación en el reporte está así, para cuando de click en el botón me cargue los datos..

private void llenar_datosr(





string cadenaConexion = "Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=C:\\xxxxx.mdb; Jet OLEDB:Database Password=Admin ;Jet OLEDB:Database Password34"



OleDbConnection con = new System.Data.OleDb.OleDbConnection(cadenaConexion)



string consulta="SELECT *FROM [proyecto] where proynom='" + this.comboBox1.SelectedText+"'";





tr

{OleDbCommand cm = new OleDbCommand(consulta, con)

OleDbDataAdapter da = new OleDbDataAdapter(cm)

con.Open()

DataSet dt=new DataSet("proyecto")

OleDbCommandBuilder cb = new OleDbCommandBuilder(da)

da.Fill(dt, "proyecto")

CrystalReport4 rel = new CrystalReport4()

rel.SetDataSource(dt)

this.crystalReportViewer1.ReportSource = rel



catch(Exception ex){MessageBox.Show("Error: " + ex.Message);

finall



if(con.State!=ConnectionState.Closed

con.Close()





Esta función la llamo en el botón… Muchas gracias desde ya por la ayud



andrelolu

Ver este tema: http://www.softwaremix.net/viewtopic-464527.htm

Enviado desde http://www.softwaremix.net
 

Leer las respuestas

#1 Eduardo Alvarado Meza
14/12/2005 - 04:40 | Informe spam
No probe tu codigo, pero creo que no hace falta. El hecho que te pregunte la
password de la BD (eso nunca te lo haria el connection) es delator, debido a
que lo estas alimentando de un dataset por lo que tu problema se concentra en
crystal.

Mira, si te pregunta eso es porque cuando creastes el reporte o lo estabas
"diseñando" utilizastes como origen de datos tu BD de Access. Si lo vas a
alimentar de un dataset lo correcto (no deberia darte error pero ni modo) es
lo sig.:
1) Crea un dataset tipado con las estructuras de las tablas y relaciones que
opcupara el reporte.
2)Vuelve a crear el reporte en el diseñador de Crystal, pero cuando lo hagas
no utilizes como el origen de datos tu BD de Access SINO tu dataset tipado en
el proyecto (lo tienes que ver a huevo).
3) Cuando hagas la asignacion en el ReportSource, le asignas el dataset
llenado con la informacion a llenar, pero que sea un dataset TIPADO,
logicamente del mismo tipo que el que creastes.

Asi el documento no saber de la existencia de ninguna BD ni password, sino
solo de tu Dataset Suerte en tu proyecto, y creo que no te hace falta el
commandbuilder..

Preguntas similares