Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión

 
Búsqueda Avanzada

15.707 Mensajes en 3.130 Temas- por 371 Usuarios - Último usuario: lasfirrot
Mayo 22, 2012, 08:12:49
Foro de Hispabyte.netProgramaciónLenguajes y Programación.NET (Visual Basic, C# , C++...) (Moderadores: actinio, D4MR0D)Tema: No se puede cargar el Informe
Páginas: [1]   Ir Abajo
Imprimir
Autor Tema: No se puede cargar el Informe  (Leído 1634 veces)
0 Usuarios y 1 Visitante están viendo este tema.
Cortocircuito
Aprendiz
**
Mensajes: 88



Ver Perfil
« : Mayo 31, 2006, 02:12:27 »


He encontrado bastante información al respecto navegando, como librerias que hay que buscar etc...

De echo esta url me ha sido de bastante ayuda,

http://www.forosdelweb.com/s/msg206645.html

sin embargo no he solucionado aún un problema, no sé como cambiar mediante código la ruta de la base de datos a la que hace referencia mi .rpt, por lo tanto me sigue saliendo el mismo pantallazo, y luego una pantalla donde me deja pasarle la ruta, por defecto me pone la que yo le paso: E:\PROGRAMA2006\bin\programa2006.mdb, en diseño, sin embargo en este caso la ruta seria N:\Programa\bin\programa2006.mdb, poniendo eso me va perfectamente, osea que es problema de la ruta, pero como la modifico???, echenme un cable quien haya tenido ya el mismo problema, no encuentro información.


Citar
A veces os puede dar error "no se puede cargar el informe" por el tema de las rutas...Lo mejor es darle la ruta a traves del código.
« Última modificación: Diciembre 28, 2008, 11:18:04 por HQH » En línea

"Nunca vayas por el camino trazado, porque conduce hacia donde otros han ido ya." - >>*Graham Bell*>>
Cortocircuito
Aprendiz
**
Mensajes: 88



Ver Perfil
« Respuesta #1 : Mayo 31, 2006, 11:47:45 »

Esto es lo que quiero hacer, pero desde c?digo para que la aplicaci?n siempre funcione se instale donde se instale gracias al comando "Application.StartupPath" que sirver para conecer la ruta de arranque de mi aplicaci?n.

Citar
Tendras que sentarte a abrir reporte por reporte, entrar a
DataBase, Set Location, Conectarte al origen y establecer la locacion de
*Cada una* de las tablas, vistas, SP's etc, vinculadas a tu reporte, ahora
mismo estoy haciendo esa labor en una de las "sucursales" del grupo
empresarial donde trabajo.

Google Groups

He encontrado esto tambien:

El informe graba las rutas de las bases de datos cuando se elabora

Desde codigo debe asignar nuevamente las ubicaciones de las bases de datos
Rta=Crystal1.RetriveDatafiles
Crystal1.Datafiles(0)=Ruta1
Crystal1.Datafiles(1)=Ruta2
Crystal1.Datafiles(2)=Ruta3
... y asi sucesivamente para cada tabla que use en el informe


Pero como que no me funciona no me pillan esos comandos, como si no existieran o que lo estoy utilizando mal, no tengo ni idea, o no estoy exportando alguna librer?a (imports "lo que sea"), me parece que el proyecto va ha ser sin informes jejejejejejejeje Giñar.

Uuu y ahora tambi?n he visto esto otro:

Citar
El crystal report tiene la propiedad connect y datafiles para utilizar una
determinada base de datos y para "reorientar" las tablas utilizadas a una
determinada base. ej.

CrystalReport1.Connect = Path
CrystalReport1.DataFiles(0) = Path


donde path es el path completo de la base de datos (c:\usuarios\Mibase.mdb
pr ej.) y en datafiles es el fichero/s que utilizo empezando en cero. Aqu?
solo utilizo uno, si fueran m?s habrias de colocar m?s .datafiles().


Esto funciona si no hay subinformes. Si los hay debes de recurrir a la API
del crystal reports

Pero no se pq demonios no tengo acceso a la propiedad connect, ni datafiles en mi report llamado "rel", os pongo el codigo que hace que se muestre mi informe en el visor de informes.

Código:
 Private Sub frminformenuevocentrotrabajo_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Ejecuta la consulta a la base dados
        dact.Fill(dsct)
        'Crea el reporte
        Dim rel As New crtrptnuevocentrotrabajo
        'Asocia el conjunto de datos con el reporte
        rel.SetDataSource(dsct)


        'El doble comillado basura de pruebas
        ''Dim rutabasedatos As String
        ''rutabasedatos = Application.StartupPath & "\programa2006.mdb"

        ''Dim ruta As String
        ''Me.crtrptnuevocentrotrabajo1.connectio()

        ''Rta = Crystal1.RetriveDatafiles
        ''Crystal1.Datafiles(0) = Ruta1
        ''Crystal1.Datafiles(1) = Ruta2
        ''Crystal1.Datafiles(2) = Ruta3


        ''rpt.Load()
        ''rpt.SetDataSource(ReturnDataSet)
        ''rpt.Refresh()


        'Asocia el reporte con el Visualizador
        Me.crtrptviewernuevocentrotrabajo.ReportSource = rel

        Dim SelectFormula As String
        SelectFormula = "{Centro_trabajo.id_ct} = " & obtenerid("id_ct", "Centro_trabajo")

        Me.crtrptviewernuevocentrotrabajo.SelectionFormula = SelectFormula

        Me.crtrptviewernuevocentrotrabajo.RefreshReport()
    End Sub
« Última modificación: Febrero 09, 2007, 04:48:54 por Cortocircuito » En línea

"Nunca vayas por el camino trazado, porque conduce hacia donde otros han ido ya." - >>*Graham Bell*>>
Cortocircuito
Aprendiz
**
Mensajes: 88



Ver Perfil
« Respuesta #2 : Mayo 31, 2006, 01:12:56 »

El problema es que todo el c?digo que estoy encontrando es para Visual Basic 6 me parece(MsgBox, esto es nativo de Visual Basic 6 no de NET aunque funciona en el 2003 todavia), por lo tanto como se hace en Visual Basic Net ?? mmmmm seguiremos buscando Giñar.

Código:
Private Sub CargarInforme()
On Error GoTo Err_carga


 Dim crProperties As CRAXDRT.ConnectionProperties
 Dim crProperty As CRAXDRT.ConnectionProperty
 Dim dbTable As CRAXDRT.DatabaseTable


 Set crReport = crApp.OpenReport(app.Path & "\Ruta\Informe.rpt", 1)


 For Each dbTable In crReport.Database.Tables 'por cada tabla que hay en
el informe
   dbTable.ConnectionProperties("Provider") = "SQLOLEDB.1" 'Tu proveedor
   dbTable.ConnectionProperties("Data Source") = cfg.Servidor 'Tu servidor
   dbTable.ConnectionProperties("Initial Catalog") = cfg.BaseDatos 'Tu BD
   dbTable.Location = dbTable.Name
 Next dbTable


 CRViewer.ReportSource = crReport
 CRViewer.ViewReport
Exit Sub


Err_carga:
 If Err.Number = -2147206461 Then
   MsgBox "El informe no se encuentra, compruebe que dicho archivo
existe", _
   vbCritical + vbOKOnly
 Else
   MsgBox Err.Description, vbCritical + vbOKOnly
 End If


End Sub

Otra forma, por si alguien que programe en Visual Basic 6 le sirve, al menos las horas que estoy perdiendo que le valgan a alguien:

Código:
Me.CrystalReport1.DataFiles(0) = App.Path & "\base.mdb" (o la ruta de tu
base de datos)
Me.CrystalReport1.ReportFileName = App.Path & "\rptHogar.rpt"(o la ruta
donde tengas el informe)

Saludo mio tb  Cheesy y a ver si alguien sabe como va esto en Visual Basic NET
« Última modificación: Diciembre 28, 2008, 11:19:14 por HQH » En línea

"Nunca vayas por el camino trazado, porque conduce hacia donde otros han ido ya." - >>*Graham Bell*>>
Páginas: [1]   Ir Arriba
Imprimir
Foro de Hispabyte.netProgramaciónLenguajes y Programación.NET (Visual Basic, C# , C++...) (Moderadores: actinio, D4MR0D)Tema: No se puede cargar el Informe
Ir a:  


Tema diseñado por RJ-45 para Hispabyte.net basado en el
theme famouspadexx v.09 designed by Formado Comprido
Downloable here. My present to padexx.de