Visual Basic Foro

Programación => Bases de Datos => Temas Indispensables y Aportes => Mensaje iniciado por: YAcosta en Septiembre 01, 2011, 05:40:14 pm

Título: Generar Reporte del tipo Cabecera y Detalle
Publicado por: YAcosta en Septiembre 01, 2011, 05:40:14 pm
Buenas.

Aqui publico un code que hice para responder una duda, usa el APPEND SHAPE, lo publico aquí porque puede servirle a alguien que necesite crear un reporte que contenga Cabecera y Detalle y que a su vez no use DataEnvironment.

Bajar, descomprimir, abrir proyecto, F5 y luego chequen el code, no llega a las 30 lineas.

Descarga Código Fuente (http://www.queryfull.com/p/ReporteShape.rar)

Saludos

EDITO: Actualice el enlace
Título: Re:Generar Reporte del tipo Cabecera y Detalle
Publicado por: raul338 en Septiembre 01, 2011, 09:03:46 pm
Hola, mas o menos no entendí lo que hace xD y tampoco entendí que filtra el textbox :P

Lo que si el "SHAPE" funciona solo con ACCESS y SQL? O se puede probar con MySQL u otros?
Título: Re:Generar Reporte del tipo Cabecera y Detalle
Publicado por: YAcosta en Septiembre 02, 2011, 12:39:22 am
Pues nada, es solo un ejemplo mas de como crear reportes en los que tengas cabecera y detalle, lo hice porque ya van 3 veces (en otros foros) que salta la misma inquietud, asi que pa la proxima los mando aqui.

El Id lo que hace es filtrarte. En el ejemplo te filtra por numero de documento.
Fijate, ejecuta sin filtro y veras todos las "facturas", pongo facturas entre comillas porque es solo un ejemplo. Luego, en el reporte veras en negrita los números, si pones ese numero te filtra por el, luego puedes extender el filtro a rango de fechas (usando beetwen) por ejemplo, clientes, etc etc.

El Shape no esta amarrado al Access, el Shape tiene que ver con el ADO, yo lo uso igualito pero conectándome a Firebird (que esta muy distante de Access) y presumo casi con seguridad que debe funcionar con MySQL.

Mas bien te agradecería si haces la prueba, crea dos tablas iguales a las que puse en Access, mete algunos registros, cambia la cadena de conexión y prueba.

Me comentas, saludos.
Título: Re:Generar Reporte del tipo Cabecera y Detalle
Publicado por: seba123neo en Septiembre 05, 2011, 10:31:24 pm
Lo que si el "SHAPE" funciona solo con ACCESS y SQL? O se puede probar con MySQL u otros?

El controlador MSDataShape (http://www.marteens.com/trick44.htm)
Título: Re:Generar Reporte del tipo Cabecera y Detalle
Publicado por: YAcosta en Septiembre 05, 2011, 10:38:15 pm
Excelente aporte sebas!!! me ha aclarado muchas cosas.

Gracias.
Título: Re:Generar Reporte del tipo Cabecera y Detalle
Publicado por: ADONAIRAFA en Enero 09, 2012, 09:35:47 pm
Saludos a todos !!! (un poco retarsado ¿no?)

Bueno, Yvan tu ejemplo es ilustrativo, El MSDataShape es bien funcional, sobretodo cuando quieres manipular un DataReport (sin un DataEnviropment asociado), con información desde múltiples tablas, bastante bueno para un ejercicio "didáctico" en el que me ayudaste Brother !!!.

Excelente tu aporte Yvan !!!

Ahora, como el ejercicio lo habia hecho con Access, estoy tratando de averiguar si se puede usar el MSDataShape con Firebird o si existe un equivalente. Si saben de algo se agradece !!!

Saludos a Todos !!! ;D


Manuel F. Borrego S. 8)
Barcelona, Venezuela.
Título: Re:Generar Reporte del tipo Cabecera y Detalle
Publicado por: YAcosta en Enero 09, 2012, 11:53:27 pm
Hola doc.

Te digo con absoluta certeza que puedes trabajarlo con Firebird ya que lo uso casi de manera exclusiva en todos mis clientes, estoy casi seguro que en los demás motores también se puede.

Saludos.
Título: Re:Generar Reporte del tipo Cabecera y Detalle
Publicado por: ADONAIRAFA en Enero 10, 2012, 12:01:06 am
Bueno viejo entonces así pues sí !!! :o

Ahora, ¿tienes por casualidad el ConnectionString, para el MSDataShape y Firebird?
De ahí en adelante ya podría avanzar (practicando ahora Firebird 8), claro está).


Saludos !!! 8)
Título: Re:Generar Reporte del tipo Cabecera y Detalle
Publicado por: YAcosta en Enero 10, 2012, 12:26:51 am
Claro, aqui esta:
Código: (VB) [Seleccionar]
Dim Usuario As String
Dim PassWord As String
Dim Ruta As String
Dim Driver As String

Driver = "Firebird/InterBase(r) driver"
Usuario = "SYSDBA" 'O si cambiaste de usuario entonces pones tu usuario
PassWord = "TuPassword"
Ruta = "Tu Ruta sea local, ip o nombre de pc hacia la BD"

Conexion = "DRIVER=" & Driver & "; UID=" & Usuario & "; PWD=" & PassWord & "; DBNAME=" & Ruta & ";"
Set dB = New ADODB.Connection
dB.Provider = "MSDataShape"

dB.Open Conexion ' conectamos la BD

Saludos
Título: Re:Generar Reporte del tipo Cabecera y Detalle
Publicado por: ADONAIRAFA en Enero 10, 2012, 12:30:48 am
1 millón de gracias mi Alto Pana (Pata) !!! ;D ;D ;D

Saludos !!! 8)