Blog Registrarse Manuales Programas Glosario

Regresar   Foro de Spyware » Informática en General » Foro de Software
 

Para evitar Virus, Spyware y otros Malwares, te recomendamos mantenerte informado en: InfoSpyware Blog


Foro de Software Para hablar de todo tipo de programas que no tengan que ver con la seguridad del PC.

Tema Cerrado
 
Enviar a: Herramientas
  post #1  
Antiguo 27/09/06, 15:20:23
Avatar de +l+ temai
Usuario
 
Registrado: mar 2005
Ubicación: Coahuila Mex
Mensajes: 27
ayuda con Data report + visual basic

Hola!

Estoy haciendo una pequeña aplicacion en visual basic 6: guarda pedidos de productos en una base de datos y por medio del data report creo los reportes de los pedidos.

Mi duda es, puedo enviarle datos de un form a un data report y gestionarlo en tiempo de ejecución?

Por ejemplo, quiero que me aparesca el form1.caption y textbox1.text en el encabezado del reporte; se puede esto??

Saludos.
InfoSpyware

  post #2  
Antiguo 28/09/06, 12:25:49
Avatar de kevin mero
Usuario
 
Registrado: dic 2005
Ubicación: Ecuador-Portoviejo
Mensajes: 335
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
  post #3  
Antiguo 28/09/06, 13:54:50
Avatar de +l+ temai
Usuario
 
Registrado: mar 2005
Ubicación: Coahuila Mex
Mensajes: 27
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.
  post #4  
Antiguo 29/09/06, 00:04:13
Avatar de kevin mero
Usuario
 
Registrado: dic 2005
Ubicación: Ecuador-Portoviejo
Mensajes: 335
Bien Re: ayuda con Data report + visual basic

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.
  post #5  
Antiguo 28/10/06, 13:16:21
Avatar de kevin mero
Usuario
 
Registrado: dic 2005
Ubicación: Ecuador-Portoviejo
Mensajes: 335
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
Tema Cerrado

Herramientas

Reglas del foro
No puedes crear nuevos temas
No puedes responder temas
No puedes subir adjuntos
No puedes editar tus mensajes

BB code is activado
Las caritas están activado
Código [IMG] está activado
Código HTML está desactivado
Trackbacks are desactivado
Pingbacks are activado
Refbacks are activado


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




Todas las horas son GMT -4. La hora es 23:31:21.


 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31