|
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 - Juan C
26
« en: Viernes 9 de Julio de 2004, 02:02 »
chicharos:
No entiendo exactamente lo que necesitasm si explicas mas a detalle a lo mejor te puedo ayudar
saludos
Juan Carlos
27
« en: Viernes 9 de Julio de 2004, 02:01 »
Que tal JMINT por que no pruebas con lo que ya anteriormente habia puesto en otro comentario
No te preocupes, no tienes que hacer un reporte con código. Haz lo siguiente, a mi me funciona:
1) En el reporte estadndo en Crystal, abre el menú base de datos, escoge la opción Establecer ubicación y a lo mejor tienes algo como esto: Movimientos ventas!C:\VENTAS\BASE\Ventas.mdb cambialo por esto Movimientos ventas!Ventas.mdb es decir, quitas la ruta. "Movimientos ventas" es la tabla y "ventas.mdb" la base de datos.
2) En el proyecto de VB en el formulario que cargaste el control de Crystal, prueba lo siguiente: a) coloca en un botón el siguiente código: CReport1.DataFiles(0) = App.Path & "Ventas.mdb" CReport1.Connect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "Ventas.mdb" & ";Persist Security Info=False " CReport1.ReportSource = crptReport CReport1.ReportFileName = App.Path & "\ListaVentas.rpt" CReport1.Action = 1
No importaria si es otro servidor, por que con el App.Path se indica de donde lo estas ejecutando, si quieres tener una carpeta con tus reportes a lo mejor agregarias: App.path & "CARPETAREPORTES\reporte.rpt"
intentalo y trata de jugar con este código
suerte
Juan Carlos
28
« en: Jueves 24 de Junio de 2004, 03:05 »
Oye Camarena6:
Te agradecería me mandaras lo que vas haciendo, de igual manera yo podría agregarle algunas cosas mas lo podriamos construir algo bueno, cualquier cosa estoy a tus ordenes. Si a alguien se le ocurre algo o desea tener el codigo final, haganmelo saber
Saludos
Juan Carlos
29
« en: Martes 18 de Mayo de 2004, 01:58 »
Hola:
Escribe tu oproblema concreto y si te puedo ayudar con mucho gusto, pero creo que de entrada tienes que hacer dos conexiones
Saludos
Juan Carlos
30
« en: Martes 18 de Mayo de 2004, 01:37 »
Hola, No estoy seguro lo que necesites, pero prueba con campos parametro, allí puedes usar variable y los datos se almacenan el variables, por que no poner un ejemplo concreto y a lo mejor te puedo ayudar.
Saludos
Juan Carlos
31
« en: Sábado 15 de Mayo de 2004, 01:23 »
Hola
Te recomiendo uses el MSFlexgrid, es mas flexible y funciona mejor, aunque casi todo hay que hacerlo con código.
Si te interesa te puedo mandar un ejemplo, por email.
Saludos
Juan Carlos
32
« en: Sábado 15 de Mayo de 2004, 01:11 »
Kev: Creo que el problema que tienes es por el tipo de variable con que estas declarando aux, porque en el primer ejemplo que colocas en realidad te debería de dar 5, ni 4 ni 3.
Prueba con diferentes tipos de variables.
Si colocas aux=round(aux,1), le dices que después del punto tome 1 decimañ y al ser este el valor de 5 te toma el que sigue osea el valor de aux debe ser 5.
Espero te funcione.
Saludos
Juan Carlos
33
« en: Sábado 15 de Mayo de 2004, 01:00 »
Jaume muchas gracias por la atención, si sabes de alguna que no sea de paga, o como puedo iniciar para crearla te lo agradeceré.
De antemano gracias a los que se interesen en el tema y escriban
Saludos
Juan Carlos
34
« en: Viernes 14 de Mayo de 2004, 03:42 »
Hola nuevamente a todos: En realidad no necesito filtrar la información porque eso lo hago con instrucciones SQL. Lo que busco es que un usuario a traves de unos campos que presente en pantalla de cada tabla -eso ya lo hago-, selecciones los que necesite para su reporte, seleccione también ubicación, sobre todo me faltaría tener una especie de template donde al dejar el cursor en una lado selecciones el campo y este se inserte y pueda poner texto y lo demas que lleva un reporte.
Gracias
PD a ver si poco a poco lo voy construyendo, si alguien le interesa en ayudarme gracias. También cuando quede terminado si alguien lo quiere mucho gusto se lo mando.
35
« en: Jueves 29 de Abril de 2004, 23:14 »
Hola nuevamente:
No precisamente quiero el códifo de un reporteador, si alguien tiene una idea de como comenzar, y si hay algún tipo de control especial o alguna ayuda, será muy bienvenida
36
« en: Martes 27 de Abril de 2004, 23:27 »
Hola a todos del foro:
De una aplicación a veces es muy conveniente que el usuario final decida hacer sus propios reportes de la base de datos de la aplicación, sin utilizar Crystal o cualquier otro reporteador.
Alguien tiene algún código, donde en una aplicación el usuario diseñe sus propios reportes.
De antemano agradezco cualquier tipo de ayuda o comentario.
Saludos a todos
37
« en: Martes 27 de Abril de 2004, 21:35 »
Hola Kev:
Yo uso Crystal 8 y puedo hacer lo siguiente:
Dependiendo donde tengas el campo Clic derecho en el campo que deseas, en formato de campo hay una opción que dice suprimir, un boton que dice x+2 puedes poner una fórmula para que se suprima cuando cumpla esa condición. Y complementas, en el diseñador con el botón derecho del mouse en la sección, eliges dar formato a sección y activas la casilla que dice Suprimir sección en blanco, espero sea esto lo que buscas.
Saludos
Juan Carlos
38
« en: Viernes 23 de Abril de 2004, 20:17 »
Gaita: Te recomiendo que utilices el MSFlexGrid y puedes hacer una función como la siguiente: Public Sub colores(ColorGrid As MSFlexGrid, R As Integer, G As Integer, b As Integer) ColorGrid.Rows = 17 ColorGrid.Cols = 11 ban = 0 'For j = 0 To ColorGrid.Cols - 1 'COMO TENGO CUETRO OCULTAS NO ES NECESARIO QUE SE PINTEN ' Y REDUZCO EL CONTADOR DE LAS COLUMNAS For j = 0 To ColorGrid.Cols - 4 For i = 1 To ColorGrid.Rows - 1 If i / 2 <> Int(i / 2) Then ColorGrid.Col = j ColorGrid.Row = i ColorGrid.CellBackColor = RGB(R, G, Else ColorGrid.Col = j ColorGrid.Row = i 'ColorGrid.CellBackColor = &HC0E0FF ColorGrid.CellBackColor = &HC0FFFF End If Next i Next j ban = 1 End Sub Cada vez que desees pintar el grid lo hara en dos colores espero te sirva saludos Juan Carlos México D.F.
39
« en: Viernes 2 de Abril de 2004, 02:44 »
Hola:
Dale clic con el boton derecho del mouse al dbgrid, en propiedades selecciona el Tab que diga General y desactiva las opciones AllowAddNew y AllowDelete.
Y en el Tab Diseño ve seleccionando cada columna y una por una, activa la Opción Locked.
Saludos
Juan Carlos
40
« en: Miércoles 31 de Marzo de 2004, 22:51 »
Hola rey2k nuevamente:
Seguramente tu base de datos es muy grande, lo que yo hago en esos casos, es que antes de ponerle que actualice, le digo que desaparezca el grid, ya que actualizo que lo vuelva a aparecer, como esto es muy rapido no nos damos cuenta y el efecto es mas rapido. ej
datagrid1.visible=false
refresca
datagrid1.visible=true
Prueba seguro te servirá.
Saludos. Juan Carlos
41
« en: Miércoles 31 de Marzo de 2004, 22:04 »
Hola Kev:
Realmente no tengo una página favorita de Crystal. He aprendido un poco a través de libros, no se donde te encuentres a lo mejor te podá recomendar alguno, pero lo mas importante estarte metiendo a Crystal y estarle moviendo por todos lados
Saludos
Juan Carlos
42
« en: Miércoles 31 de Marzo de 2004, 22:01 »
Hola nuevamente Marc:
si así lo tienes que hacer, pero recuerda que el .OCX tiene que estar en el directorio system, osea
C:\WINDOWS\SYSTEM> REGSVR32 CRYSTL32.OCX
Si te marea el DOS, con el explorador de Windows puedes arrastrar el .OCX sobre el REGSVR32 y también se registra.
Para Kev:
Puedes crear un archivo de lotes para que se registren. En lo personal, para distribuir aplicaciones uso el InstallShield, es muy poderoso y muy bueno, este solito registra oos Ocx y Dll
Saludos
43
« en: Martes 30 de Marzo de 2004, 03:42 »
Si explicas exactamente que quieres hacer te podría ayudar, por lo pronto prueba esta otra opción:
CReport1.GroupCondition(0) = "GROUP1;{CAJA.CAJREFERENCIA};ANYCHANGE;A"
Si ya te había funcionado y después de cambiar el reporte dejo de hacerlo, a lo mejor cambiaste el agrupamiento oroginal y no lo reflejas en la formula, o tu campo parametro no acepta el agrupamiento, por favor explicalo mejor.
Saludos
Juan Carlos
44
« en: Martes 30 de Marzo de 2004, 03:34 »
Hola:
Haz lo siguiente
Supongo que cuando asignaste los datos al inicio al datagrid hiciste algo como esto
'RsEmpleados es el Recordset Set DataGrid1.DataSource=RsEmpleados
'Cuando quieres que se muetren los datos actualizados, también actualiza 'Recordset y después el DataGrid
RsEmpleados.Requery DataGrid1.Refresh
Prueba, si tienes alguna duda vuelvela a escribir
Saludos
Juan Carlos
45
« en: Martes 30 de Marzo de 2004, 03:26 »
Hola:
Sinceramente no entiendo muy bien tus preguntas, pero si entendi en la primera quieres filtar y poner condiciones, lo que no se si con campos parametro o no, pero puedes probar lo siguiente
'Cdbl es para convertir el campo a double 'Movimientos ventas 1 es el nombre de la tabla ' movcantidad es el campo ' como ejemplo me aparecen los registros que tengan en cantidad mayor a cero
Con codigo puedes poner lo siuguiente:
dim strVentas as string
strVentas = "CDBL({MOVIMIENTOS VENTAS 1.movcantidad})>=" & CDbl("0")
CReport1.SelectionFormula = strVentas
Con esto puedas filtrar la información, sucede lo mismo para los demás campos
la segunda pregunta no la entendi muy bien, pero si quieres dar formato al texto, hazlic con el boton derecho del mouse en el campo o formula que este en tu reporte en diseño y en la opción Dar formato al campo, puedes seleccionar la opción Puede crecer y determinar el número de líneas que quieres que aparezca y el tamaño tu lo asignas.
Saludos, cualquier duda escribela
Juan Carlos
46
« en: Martes 30 de Marzo de 2004, 03:17 »
Hola:
Verifica que en la pc donde instalas el programa registre el OCX.
sino registralo:
Copia el CRYSTL32.OCX en el directorio WINDOWS\SYSTEM Y en MS-DOS escribe REGSVR32 CRYSTL32.OCX
Prueba, sino vuelve a escribir y en lo que te pueda ayudar, con gusto
Saludos
Juan Carlos
47
« en: Martes 30 de Marzo de 2004, 03:13 »
Hola:
Seguramente estas usando el formato de fecha de dd/mm/aa en Crystal tienes que usar el formato mm/dd/yy, pero prueba lo siguiente
Declara 3 variables enteras dim dia as integer, mes as integer, año as integer
' obten el dias, mes y año de las valores de las fechas, aquí puse ejemplo de 'un control dtpicker, lo puedes hacer de la fecha actual ej dia=day(date)
dia = Day(DTPfechafin.Value) mes = Month(DTPfechafin.Value) año = Year(DTPfechafin.Value) fechafinal = "#" & mes & "/" & dia & "/" & año & "#"
dia=Day(Date) mes=Month(Date) año=Year(Date) fechainicial = "#" & mes & "/" & dia & "/" & año & "#"
varfechaalta = "{MOVIMIENTOS VENTAS 1.MOVFECHA}>= " & fechainicial & " And {MOVIMIENTOS VENTAS 1.MOVFECHA}<= " & fechafinal CReport1.SelectionFormula = varfechaalta
DE ESA MANERA PUEDES FILTRAR FECHAS EN CRYSTAL, CUALQUIER DUDA ESCRIBELO SALUDOS
Juan Carlos
48
« en: Martes 16 de Marzo de 2004, 21:24 »
Hola:
No te preocupes, no tienes que hacer un reporte con código. Haz lo siguiente, a mi me funciona:
1) En el reporte estadndo en Crystal, abre el menú base de datos, escoge la opción Establecer ubicación y a lo mejor tienes algo como esto: Movimientos ventas!C:\VENTAS\BASE\Ventas.mdb cambialo por esto Movimientos ventas!Ventas.mdb es decir, quitas la ruta. "Movimientos ventas" es la tabla y "ventas.mdb" la base de datos.
2) En el proyecto de VB en el formulario que cargaste el control de Crystal, prueba lo siguiente: a) coloca en un botón el siguiente código: CReport1.DataFiles(0) = App.Path & "Ventas.mdb" CReport1.Connect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "Ventas.mdb" & ";Persist Security Info=False " CReport1.ReportSource = crptReport CReport1.ReportFileName = App.Path & "\ListaVentas.rpt" CReport1.Action = 1
Con esto quedará solucionado tu problema si tienes duda escribela
49
« en: Lunes 26 de Enero de 2004, 17:19 »
Si todavia te sirve por que no purebas lo siguiente:
CReport1.DataFiles(0) = gblubicacion & "base.mdb" CReport1.Connect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & gblubicacion & "base.mdb" & ";Persist Security Info=False " CReport1.ReportSource = crptReport
me funciona con access. También debe funcionar con cualquier otro manejador, solamente cambiar el provider por la de sql
50
« en: Miércoles 24 de Diciembre de 2003, 01:22 »
Puedes utilizar la funcion fix(). Si usas la función int() tendrías problemas con los números negativos. Con Fix() no hay problema. Ejemplo fix(128.84) el resultado será 128
|
|
|