|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - viHack
Páginas: [1]
1
« en: Lunes 3 de Septiembre de 2007, 18:04 »
lo siento, olvide esa parte, que bueno que lo solucionaste...
2
« en: Sábado 1 de Septiembre de 2007, 22:45 »
Gracias llagy, es bueno conocer una nueva forma, me alegro que lo solucionaste. Yo tambien trabajo con subreportes y con recordset desconectados, y uso un metodo diferente al tuyo, con la diferencia que tu tienes los reportes como archivos separados, yo los incluyo en el exe. Ya es tiempo de que empiece con archivos separados . Gracias por la informacion. viHack bjac7@hotmail.com
3
« en: Sábado 1 de Septiembre de 2007, 15:44 »
Por que no intentas cambiar la forma en que te conectas a tu base de datos al momento de llamar el reporte, intenta hacerlo mas por codigo y dejarle menos trabajo a crystal, en uno de tus temas anteriores te comente como, ya intentaste esa forma?
Busque en internet la forma en que haces el LogOn al server y al parecer no es muy comun, la mayoria tienen problema de esa forma. Deberias utilizar un ADOR.Recordset y asignarlo a Crystal con Database.SetDataSource, de esta forma solo te preocupas de que tu conexion del recordset funcione y el reporte solo recibiria los datos que le envies.
4
« en: Viernes 31 de Agosto de 2007, 16:54 »
Yo uso esta cadena, y me funciona bien para visual .net y sql server 2005
Public con As New SqlConnection("Driver={SQL Native Client};Server=.\Nombre_de_la_INSTANCIA;Initial Catalog="nombre_bd";User ID=**;Password=**)
5
« en: Viernes 31 de Agosto de 2007, 16:45 »
Creo que en el foro de crystal report tienes el mismo tema, te comente algo alli, tal vez te ayude.
Saludos
6
« en: Viernes 31 de Agosto de 2007, 16:29 »
Supongo que los enteros los cargas en el reporte. Y supongo que no importa que el formato de la hora sea un string. Si supongo bien, crea una nueva formula y usa este codigo, solo cambiando el nombre de tus campos y de tu consulta o tabla por supuesto. IIF ({Command.Minutos}<=9,"0"+ToText ({Command.Minutos}) ,ToText ({Command.Minutos}) ) + ":" + IIF ({Command.Segundos}<=9,"0"+ToText ({Command.Segundos}) ,ToText ({Command.Segundos}) )
Y eso seria todo, si necesitaras horas tambien, pues solo de agregar un IIF antes, de la misma manera. Saludos
7
« en: Jueves 30 de Agosto de 2007, 17:03 »
Prueba de esta forma Imports System.Data.SqlClient Imports System.Data.OleDb Public Sub ReporteNcRecepcion() 'Primero que Nada tendrias que tener tu cadena de conexion a la base de datos, asumo que en eso no tienes problema, si me equivoco avisame. Dim sqlConn As New SqlConnection("AQUI IRIA LA CADENA DE CONEXION A TU BASE DE DATOS") 'Crea una variable de tipo Report, y luego seteala a tu reporte. Dim Reporte as New CrystalReport1 'Crea un SqlDataAdapter y un Dataset para cargar los datos que deseamos mostrar, ya filtrados por medio de una consulta SELECT. Dim dsDatos As DataSet Dim daTabla As SqlDataAdapter daTabla = New SqlDataAdapter("AQUI IRIA TU SELECT O CONSULTA", sqlConn) dsDatos = New DataSet("CualquierNombre") 'Llenando el Dataset daTabla.Fill(dsDatos, "Command") 'El nombre tiene que coincidir con el nombre de la consulta del reporte 'No se que sistema de bases de datos uses, yo uso SQL SERVER 2005, si este fuera tu caso, usa esto para asignar la conexion a tu reporte. Dim tbCurrent As CrystalDecisions.CrystalReports.Engine.Table Dim tliCurrent As CrystalDecisions.Shared.TableLogOnInfo For Each tbCurrent In Report.Database.Tables tliCurrent = tbCurrent.LogOnInfo With tliCurrent.ConnectionInfo .ServerName = ".\SQLExpress" 'Puese escribir ".\INSTANCIA" si el nombre de tu instancia no es la que da sqlserver 2005 por default .UserID = "sa" 'O el usuario que uses .Password = "MyPass" .DatabaseName = "MyDataBase" End With tbCurrent.ApplyLogOnInfo(tliCurrent) Next tbCurrent 'Luego asignas el DataSet como DataSource de tu reporte Reporte.SetDataSource(dsDatos) Luego asignas el reporte a tu crviewer CrystalReportViewer1.ReportSource = Report CrystalReportViewer1.Zoom((85)) CrystalReportViewer1.Show()
Al diseñar tu reporte tal vez tengas que agrupar por Silo, no estoy muy seguro ya que no entiendo con exactitud el manejo de tus datos. Recuerda que el filtrado lo tendrias que hacer con SQL, o con recordset desconectados, si tienes problemas en esto tal vez pueda ayudarte. Esto me ha funcionado a mi, espero que de igual forma de sirva a ti, cualquier duda me cuentas. Saludos
8
« en: Jueves 30 de Agosto de 2007, 00:07 »
El filtrado es mas facil hacerlo desde codigo, en que lenguaje estas programando?
Me parece que lo mas facil es filtrar antes, y enviar solo los datos que necesitas al reporte.
Saludos
9
« en: Miércoles 29 de Agosto de 2007, 04:22 »
Ayudaria si nos explica de que formas llamas tu reporte desde visual basic
10
« en: Miércoles 29 de Agosto de 2007, 04:19 »
Si te entendi bien, podrias hacer lo siquiente (yo lo hago asi y me funciona muy bien)
Primero que Nada tendrias que tener tu cadena de conexion a la base de datos, asumo que en eso no tienes problema, si me equivoco avisame.
Private Conexion As Connection Set Conexion = New Connection pcnConexion.Open "AQUI IRIA LA CADENA DE CONEXION A TU BASE DE DATOS"
Crea una variable de tipo Report, y luego seteala a tu reporte.
Dim Reporte as Report Set Reporte = New NombreDelReporte
Crea tu o tus recordset (En este caso usare 2, asumiendo que mi reporte usa dos consultas), el filtrado dependera del Query que hagas, es la forma mas facil, o crear un recordset desconectado y llenarlo solo con los registros que necesitas
Dim Tabla1, Tabla2 As New ADOR.Recordset Tabla1.Open "AQUI IRIA TU SELECT O QUERY Para la Primer Consulta", Conexion Tabla2.Open "AQUI IRIA TU SELECT O QUERY Para la Segunda Consulta", Conexion
Luego asignas la o las consultas a tu variable reporte, nota que el numero al final indica a que numero de consulta se asignara el recordset. Asi tabla1 se asignara a la primer consulta (1), que por default podria llamarse "Command"
Reporte.Database.SetDataSource Tabla1, , 1 Reporte.Database.SetDataSource Tabla2, , 2
Luego asignas el reporte a tu crviewer
crviewer1.ReportSource = Report crviewer.ViewReport
Y ya esta.
Espero te sirva de algo
11
« en: Lunes 27 de Agosto de 2007, 22:55 »
Necesito cambiar el tamaño de despliegue de uno de los campos, pero necesito hacerlo en tiempo de ejecucion, no tengo problemas si utilizo Visual Basic 6.0, pero si los tengo con Visual .NET.
Alguien que pueda ayudarme.
Gracias de Antemano.
12
« en: Lunes 27 de Agosto de 2007, 22:51 »
Trata agregando una seccion mas en el encabezado de grupo usando Section Expert. Luego coloca la descripcion en la parte "a" y la ubicacion en la parte "b", y asi no importara cuando crezca la descripcion siempre la separara de la ubicacion.
Espero te sirva esto.
Páginas: [1]
|
|
|