Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
DataReport en VB6
Enviado por edavies el día 6 de febrero de 2002
No puedo refrescar los datos en un DataReport con las siguientes características:
DataSource = DataEnvironment1
DataMember = Command1
Command1 es una consulta SQL manejando datos desde una tabla Access.
El procedimiento es el siguiente: el usuario agrega / modifica / elimina datos en un textbox que luego son actualizados con un método update de un recordset. Luego el usuario presiona un botón para ver el DataReport con los datos agregados / modificados / eliminados, y el informe aparece sin esas modificaciones. Probé cerrar el recordset con DataEnvironment1.rsCommand1.Close luego de regresar del DataReport, y me sigue sin reflejar los últimos cambios.
¿ Alguien me puede ayudar ?
En realidad nuestro amigo mexicano en su insignificante pais tercermundista se equivoca.
Debes asignar un metodo requery al dataenvironment, asegurandote previamente de que esta abierto y cerrandole despues.
Por Ejemplo:
If DataEnvironment1.rsCommand3.State =adStateOpen Then
DataEnvironment1.rsCommand3.Requery
DataEnvironment1.rsCommand3.Close
end if
Amigo Primermundista, usted tambien también está equivocado porque aunque eso funciona a veces, también falla en muchas. Lo mejor es trabajar sin conexión al dataenvironment y gestionar directamente por código la conexión al datareport:
dim rs as Recordset
set datareport.DataSource=rs
y luego a la propiedad datafield de cada uno de los objetos tipo texto del datareport asignarle el respectivo campo. Todo esto lo escribo con orgullo desde un pais tercermundista aun mas insignificante que México: Colombia.
Hace poco cambie de Visual 5 al 6
se me hizo facil utilizar un modulo automatico que tengo, para altas bajas y cambios en DAO.
Pero para los reportes trate de implementar un DataReport y un DataEnviro, sin embargo no me sirvio el refresh para actualizar los cambios realizados por ADO.
Como puedo pasar parametros desde VB6 a los reportes en DataReport??? di tantas vueltas que ya me he mareado bastante con este tema, algun ejemplo estararia exelente mi conexion es por ADO a mysql y los tengo mis datos en un DataEnvironment e inclusive asi completo los saco por el reporte el problema es al querer ponerle un filtro a mi reporte. Gracias de antemano
Para Empezar debes tener creado un envirnment y un datareport, luego en el enviroment debes crear un comand1 ahi debes hacer la consulta en sql
los campos que te interesen que sean parametros los debes colocar con signo de interrogacion ej= campoBAse= ? y aceptas
Luego entras denuevo al command1 en propiedades y vas a tener ahi el signo de interrogacion con lo que le colocas un nombre ..
para pasar en parametro desde visual b..debes
por ejem en un boton
a mi me salio si me salio este codigo para el filtro pero lo que ahora no se es como hacerle por que lo que quiero es imprimir solo los el numero de registro que quiera el usuario, necesito hacer filtros por rangos y no se como hacerle con los parametros para el datareport, si me ayudaran se loa agradeceria
Para Empezar debes tener creado un envirnment y un datareport, luego en el enviroment debes crear un comand1 ahi debes hacer la consulta en sql
los campos que te interesen que sean parametros los debes colocar con signo de interrogacion ej= campoBAse= ? y aceptas
Luego entras denuevo al command1 en propiedades y vas a tener ahi el signo de interrogacion con lo que le colocas un nombre ..
para pasar en parametro desde visual b..debes
por ejem en un boton
Enviado por Aaron Alcocer el día 19 de noviembre de 2003
De plano esto funciona yo tuve el mismo error, no se actualizaba mi consulta de sql cuando hacia modificaciones en mi datareport asi que cuando llames al reporte ponle esto:
Aunque el foro es algo añejo, por si a alguien le sirve, yo tuve el mismo problema y lo resolví con la siguiente instrucción:
Al llamar al data report debo tener el código:
Datareport.show
dataenvironment.requery
Con esto se refresca siempre el contenido del reporte.
Saludos
Enviado por Paul Vargas Díaz el día 8 de abril de 2005
Previamente necesitas tener el entorno de datos con el comando ya creado sin paso de parametros (sin el ? en tu consulta SQL) y asi nada mas le agregas la busqueda que requieres suponiendo que en tu entorno de datos tienes algo asi en el comando:
\"SELECT alumnos.nombre, maestrogrupo.gradogrupo
FROM alumnos,maestrogrupo
WHERE alumnos.cgrupo=maestrogrupo.cgrupo\"
Haz esto:
Dim DE as new nombreenvironment, Reporte as new nombrereporte
DE.commands(\"nombrecomando\").commandtext=DE.commands(\"nombrecomando\").commandtext & \" AND alumnos.curp=\'\" & dato & \"\'\"
set Reporte.datasource=DE
reporte.datamember=\"nombrecomando\"
reporte.show
como me funciono a mi es realemnte muy sencillo, normalmente no se dejan refrescar los datos porque el objeto no se ha cerrado (DataEnviroment.rsRecordset), lo que se debe hacer es lo siguiente:
en el evento query_close del data report que se muestra cerrar el recorset al momento de cerrar el reporte
Private Sub DataReport_QueryClose(Cancel As Integer, CloseMode As Integer)
DataEnviroment.rsRecordset.Close
End Sub
de esata manera el ejecutar la consulta para que muestre el reporte los datos son actualizados porque el recorset del reporte ya esta cerrado
no puedo abrir el data report porque tengo abierta ya la base de datos
Enviado por jorge donoso el día 22 de agosto de 2005
No puedo abrir el data report porque me dice que esta en uso la base de datos y al reves tampoco, es decir, cuando abro el data report no puedo abrir la base de datos.
Porfa Ayuda. He intentado de todo, cerrar el recodset, cerrar el data report, etc.
de antemano muchas gracias
Re: no puedo abrir el data report porque tengo abierta ya la base de datos
Enviado por vickypu el día 12 de septiembre de 2005
hola a todos, tengo el siguiente problema, intento mostrar en un datareport una consulta con parametros pero el parametro no me lo reconoce, pongo la sentencia sql y al final en el where le asigno al campo una ? como manda el manual pero a mi no me lo reconoce me pone como parametro Param1 y claro me muestra el formulario en blanco, he buscado de todas las maneras y no consigo arreglarlo neceistaria ayuda pq es urgente, gracias y buenas noches a todos
Re: Re: no puedo abrir el data report porque tengo abierta ya la base de datos
Enviado por CERDO el día 11 de octubre de 2005
Hola vickypu te recomiendo que manejes el data report como comenta Arturo gestionalo con tu propia conexion sin utilizar el dataenvironment.
se te facilitara mas. saludos
Enviado por maitecam el día 15 de noviembre de 2005
HOLA KAISER30 SOY MAITECAM Y HE PROBADO TU METEDO PERO NO SE PQ NO ME FUNCIONA YO LE PONGO
INFORM(NOMBRE DEL DATAENVIRONMENT)S2(NOMBRE DEL COMANDO)ITENS(1).COMMANDTEXT[CONSULTA SQL] EN LA CONSULTA EN EL CAMPO DONDE TENGO Q METER EL PARAMETRO TENGO UN A ? ES CORRECTO
gracias primera menta a dios, y luego al pana fedat pude actualizar los registros en Data Report despues que sufri meses y mese de actualizar los registros...
Re:DataReport en VB6 ¿como hago para pasar parámetros?
Enviado por Martín el día 6 de noviembre de 2005
SELECT Inscripcion.Ins_Ci, Inscripcion.Ins_Nombre, Inscripcion.Ins_Apellido, Inscripcion.Ins_Edad, Inscripcion.Ins_Sexo, Inscripcion.Ins_Estudiante, Inscripcion.Ins_Instituto, Inscripcion.Ins_Semestre, Inscripcion.Ins_año, Inscripcion.Ins_FechaRegistro, Inscripcion.Ins_Telf1, Inscripcion.Ins_Telf2, Inscripcion.Ins_Email
FROM Inscripcion
WHERE (((Inscripcion.Ins_Ci)=456));
pero WHERE Inscripcion.Ins_Ci=? REBIENTA EL DATA REPORT Q HAGO ?????????'
Re: Re:DataReport en VB6 ¿como hago para pasar parámetros?
Enviado por syncnico el día 9 de noviembre de 2005
HOLA AMIGO, LO QUE TE ACONSEJARIA ES QUE DEBES ESPECIFICAR BIEN LOS PARAMETROS, SI TU CONSULTA LA GERERASTE DESDE ACCESS O SQL Y QUIERES PONER LA MISMA CONSULTA EN VB6.0 DEBES TENER EN CUENTA LA SINTAXIS POR QUE NO TODOS LOS MANEJADORES DE BASE DE DATOS TIENEN LA MISMA SINTAXIS AL GENERAR CONSULTAS, AHORA AL MOMENTO DE UTILIZAR CONDICIONES COMO EL WHERE DEBES TENER EN CUENTA LOS TIPOS DE DATOS QUE ESTAS CONPARANDO!... (NUMERICO Y/O STRING) TAMBIEN SE SIGUE UNA SINTAXIS Y ESTO DE RIGUE DEACUERDO AL TIPO DE DATO QUE TENGAS EN DICHA TABLA. ESPERO TE AYUDE ESTA RESPUESTA! CUIDATE.
Re:DataReport en VB6 ¿como hago para pasar parámetros?
Enviado por MARTIN el día 11 de noviembre de 2005
SELECT Inscripcion.Ins_Ci, Inscripcion.Ins_Nombre, Inscripcion.Ins_Apellido, Inscripcion.Ins_Edad, Inscripcion.Ins_Sexo, Inscripcion.Ins_Estudiante, Inscripcion.Ins_Instituto, Inscripcion.Ins_Semestre, Inscripcion.Ins_año, Inscripcion.Ins_FechaRegistro, Inscripcion.Ins_Telf1, Inscripcion.Ins_Telf2, Inscripcion.Ins_Email
FROM Inscripcion
WHERE (((Inscripcion.Ins_Ci)=456));
pero WHERE Inscripcion.Ins_Ci=? REBIENTA EL DATA REPORT Q HAGO ?????????\'
ESTA EN ACCES, PERO NO SE COMO PASAR ESE PARA METRO EN DATA REPORT......, LO HAQGO CON INPUT BOX LE ASIGNO EL VALOR DE LA VARIABLE DONDE ESTA EL SIGNO DE INTERROGACIÓN Y REBIENTA
MUCHAS GRACIAS AGRADESCO SU GRATA RESPUESTA URGENTE
tengo un problema con el datareport mi codigo es el siguiente
Dim Listado As ADODB.Command
Dim entorno As dteEntornoDatos
screenmousepointer = vbHourglass
Set entorno = New dteEntornoDatos
entorno.Listado.ConnectionString = "provider=microsoft.jet.oledb.3.51; datasource=C:\Documents and Settings\felipe\transportes rog\softr\transroger.mdb"
Set Listado = entorno.Commands("acmLibropub_Grouping")
Listado.CommandType = adCmdText
Listado.CommandText = "SHAPE {SELECT * FROM `facturas`} AS factura APPEND ({SELECT * FROM `empresaex`} AS factint RELATE 'rutext' TO 'rutem') AS factint,({SELECT * FROM `empresaint`} AS fact RELATE 'rutint' TO 'rut') AS fact"
Set DataEntes.DataSource = Con.Rs
With DataEntes.Sections("section1").Controls
.Item("cliente").DataField = "idente"
.Item("ente").DataField = "idtipodeente"
.Item("descri").DataField = "descripcion"
.Item("alta").DataField = "fechaalta"
.Item("baja").DataField = "fechabaja"
End With
El Entorno de Datos es una Mierda Utiliza este código Saludos.
Ariel tengo una duda donde colocar el codigo que escribiste soy nuevo programando en el datareport y quisiera que me ayudaras si alguien me puede ayudar tambien lo agradeceria tengo que poner unas fotos en un reporte pero solo tengo cargado el nombre del archivo como puedo hacer para cargarlo en un picture
hola saben yo he probado eso pero faltan algunas cosas poruqe no me funciona,yo hago la sentencia sql en el data environment y le pongo un ? al parametro yap, despues voy a parametrso y le pongo el nombre y el tipo de dato y todo despues en el codigo como se debe poner? a mi no me funciona me dice \"parametro mal definido\".. me pueden explicar mejor como se recoge el parametro del programa porfas, aaah se puede seleccionar un dato con el dbcombo o debe sert textbox?
de ante mano les agradezco la ayuda que me puedan dar, la respuesta me la pueden dar al correo pauly_cerpa@123mail.cl