| |||||||
| Foro de Software Para hablar de todo tipo de programas que no tengan que ver con la seguridad del PC. |
![]() |
| | Enviar a: | Herramientas |
![]() | ![]() |
| InfoSpyware | ||
| |
![]() | ![]() |
| ||||
| Re: ayuda con Data report + visual basic Hola. Si se puede hacer lo que deseas, en Internet hay mucha información sobre como manejar el Data Report. De igual manera si necesitas ayuda me avisas para indicarte como hacerlo. "Suerte en tu programa" Saludos |
![]() | ![]() |
| ||||
| Re: ayuda con Data report + visual basic Gracias por tu ayuda, veras que si la voy a necesitar: Pondre el codigo que hasta ahora estoy usando para hacer mi reporte desde visual basic; tengo una base de datos access con dos tablas, pedidos y notas_dia, un data report sin data environment y ya he probado varias formas pero no encuentro la que necesito. Por ejemplo, las tablas estan relacionadas por el campo folio y la relacion es de 1 nota_dia por n pedidos, entons lo que quiero hacer es que me muestre el folio y el nombre de nota_dia una sola ves y los n pedidos. Aqui está el código: Dim registro_impresion As ADODB.Recordset Private Sub Command1_Click() conexion.Open Set registro_impresion = conexion.Execute("select notas_dia.folio, notas_dia.nombre, pedidos.descripcion from notas_dia, pedidos where pedidos.folio=notas_dia.folio and notas_dia.folio=10") Set reporte_data.DataSource = registro_impresion reporte_data.Show vbModal End Sub el resultado de esto me lo pone de la sig. notas_dia.folio notas_dia.nombre pedidos.descripcion 10 +l+ temai Carro!!! 10 +l+ temai Moto!!! 10 +l+ temai Caballo!!! He probado el "distrinct" en la instruccion sql y nada! Otro código que he probada: Private Sub cargar_reg_impresion() Set registro_impresion = New ADODB.Recordset With registro_impresion.Fields .Append "folio", adVarChar, 4 .Append "nombre", adVarChar, 30 .Append "descripcion", adVarChar, 30 End With registro_impresion.Open , Nothing 'imprimir la nota en papel rotulado; ya hice el diseño en el data report y cargue los report_text con los data fields que cree arriaba With registro_impresion .AddNew Array("folio", "nombre"), Array(label_folio.caption, txt_box_nombre.text) adodc_pedidos.RecordSource= "select folio, descripcion from pedidos where folio='" & label_folio.caption & "'" adodc_pedidos.recordset.movefirst while not adodc_pedidos.recordset.EOF .AddNew Array("descripcion"), Array(adodc_pedidos.recordset!descripcion) wend End With Set reporte_nota.DataSource = registro_impresion reporte_nota.Show DoEvents End Sub Esto me crea lo sig: folio nombre descripcion 0001 +l+ temai folio nombre descripcion Carro! folio nombre descripcion Moto! folio nombre descripcion Caballo! Lo que espero es: folio nombre descripcion 0001 +l+ temai Carro! Moto! Caballo! Bueno ese es mi problema; que puedo hacer? Como puedo manipular un rptlabel o rpttextbox de un data report desde visual basic? o enviar datos a otra seccion del reporte, como? Te agradesco de nuevo. Saludos! Última edición por +l+ temai fecha: 28/09/06 a las 13:59:45. |
![]() | ![]() |
| ||||
| Hola Ok, ya revisare tu caso con más detenimiento solo ten un poco de paciencia por lo pronto sigue averiguando. Te cuento que estoy un poco atareado con mi tiempo, que te parece si haces un upload de tu proyecto y esta noche te lo reviso para enviarte la respuesta de esta forma me ayudas con lo que ya tienes avanzado (código, interfaz, bd, form-objetos, conexión, etc...etc) saludos Última edición por kevin mero fecha: 29/09/06 a las 16:32:18. |
![]() | ![]() |
| ||||
| Re: ayuda con Data report + visual basic Hola, a los tiempos A ver veamos... El distinct no lo puedes usar debido al resultado de la consulta pues lo que hace es una unión "concatenación" de todos los campos para luego compararlos y mostrar la concatenación de los no iguales y en tu caso el resultado es diferente en todos los registros; ahora si lo que se te ocurrio es hacer un distinct por folio y nombre de la tabla notas_dia tampoco podrás debido a que la sintaxis en access es distinct colum1, colum2, column y no puedes hacer algo parecido como distinct (colum1, colum2), column; lo cual te causara un error y recuerda que el distinct también toma los nulos (que en caso de haber varios los concatena como si fuera un dato mas) espero me entiendas. Además me sonaría ilógico tener los mismos datos pues en ese caso sería mejor añadir una nueva columna que indique la cantidad de un determinado producto debido a que habría un mal diseño de BD e incumplimiento de la 1 NF. Con respecto al segundo ejemplo lo que haces es mandar 2 objetos del form al report supongo a RptTextBox lo cual es estático de acuerdo a un determinado momento hasta que recorras en el form a través de un component Adodc. A diferencia de los pedidos que los obtienes directamente a través de otro Adodc que lo recorres hasta que no sea fin de archivo. Es lo que puedo entender a simple vista, veo que el segundo ejemplo se acerca más a lo que deseas, ¿La etiquetas <folio nombre descripcion> las colocas en el detalle del reporte, pues se repite por cada registro? porque no la colocas mejor en el encabezado. Eso te aporto pues no se como estan los datos en la BD,o algo como si gestionas el Adodc con o sin el control correspondiente, diseño de interfaz, controles, propiedades, etc etc que has establecido. ¡Me es más facil modificar un programa al tenerlo!, creo que tu intención es mostrar una sola ves el registro de la tabla referenciada y n registros de la tabla referente. Por mi parte lo solucionaría creando controles estáticos en el encabezado del reporte y Listo!!! eso es todo. Si aun necesitas el código me envias un mensaje privado para enviartelo por correo, está claro que me base en lo que yo entendí que deseabas y utilice mis propios métodos para programar, pues como te dije antes en lo que se refiere a modificar programas los debo de tener y analizarlos así me es más fácil. Hice un pequeño ejemplo con odbc, pero puedes utilizar un path para tal efecto. Saludos |
![]() |
| Herramientas | |
| |
![]() |
Temas Similares | ![]() |
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Como Restaurar El Fondo De Mi Escritorio Y Quitar El Letrero De Warning! | KOCHOLATA | Foro de Virus y Spywares | 2 | 08/05/07 20:46:38 |
| Ayuda con el reporte de SpeedFan | dogus | Foro de Hardware | 2 | 09/07/06 21:39:20 |
| no me deja conectarme IE6 | Oliverastro | Foro Oficial de HijackThis en español | 9 | 23/02/06 13:19:07 |
| tenco un problema con la bara de tarea (solucionado) | mohadip | Temas Solucionados | 9 | 04/12/05 21:02:32 |
| ya tengo mi "log" please ayudenme | jdr | Foro Oficial de HijackThis en español | 10 | 21/11/05 14:34:29 |