hilpers


  hilpers > microsoft.* > microsoft.vb

 #1  
17-10-2005, 17:00
frankliberia
Buenos días a todos como es ya costumbre vuelvo a este foro un día
más, aun no soluciono del todo mis problemas con los reportes, aunque
he ido aclarando un poco la situación. Tengo varios reportes algunos
con parámetros y otros sin elllos. Los reportes que tienen parámetros
no me ocasionan ningún problema se actualizan y se presentan las veces
que lo desee, los que tienen una consulta sin parámetros "Select *
>From MiTabla" son los que me están haciendo la vida difícil, se

presentan la primera vez correctamente, pero si intento abrirlos en una
segunda ocasión me presenta error diciendo que se esperaba una
consulta de tipo select, insert, update, etc. Todos los formularios
presentan la siguiente sintaxis

DataEnvironment1.Base_Datos_Reportes.Open' abro el data environment

Listar_Clientes.Show

y en el reporte en el evento terminate

Private Sub Datareport_Terminate()
'Cerramos el recordset en el evento terminate del reporte
' Previa verificación del estado de éste para evitar errores
' en tiempo de ejecución
With DataEnvironment1.rsLista_Clientes
If .State = adStateOpen Then
.Close
DataEnvironment1.Base_Datos_Reportes.Close 'cerramos
End If
End With
End Sub

Una pregunta adicional que no me han podido brindar respuesta es que
necesito saber como cerrar el espacio de trabajo en ADO, porque en DAO
lo hacía de la siguiente manera DBengine.Workspace(0).close pero en
ADO no funciona, lo necesito porque ya verifiqué que las conexiones al
dataenvironment se cierran todas correctamente sinembargo cuando salgo
del programa necesito obligatoriamente hacer un respaldo de la base de
datos y me encuentro con una conexión abierta, por lo que supongo que
es el espacio de trabajo el que queda abierto ya que lo mismo me
sucedía en DAO.

Desde ya les agradezco toda su ayuda.
 #2  
18-10-2005, 03:47
Adriano
Hola Frank:

En ADO no existe el concepto de Workspace. Lo que está ocurriendo es que el
entorno de datos (Dataenvironment1) sigue manteniendo la conexión abierta.
Solución:
Antes de hacer el respaldo de la base de datos escribí la siguiente
instrucción:
'Cerrar la conexión
With Dataenvironment1
If .Nombredelaconexón.State = adStateOpen Then
.Nombredelaconexón.Close
End If
End With
'Eliminar el objeto de la memoria
Set Dataenvironment1 = Nothing

Así es como se cierra una conexión del entorno de datos. Ojo, si existen
otras conexiones abiertas de otros puestos de trabajo, de todos modos no vas
poder hacer backup porque windows impide copiar un archivo abierto. Si aún
así queres hacer un respaldo (con la base abierta) podes hacerlo desde DOS a
través de un archivo por lotes.

Saludos.
Temas Similares
Datareport con envio de Parametros

Como hacer para mostrar un Reporte con envio de Parametros. En un formulario deseo ingresar un Periodo, por ejemplo 04/2004 y deseo ke me muestre en mi Reporte todos los...

DataReport con parametros

Intento crear un reporte el cual sea delimitado por un la seleccion que se haga en un combo de un formulario por ejemplo: Si selecciono CESAR ISLAS en un formulario al...

como pasarle parametros a un datareport

Hola grupo, otra vez preciso de vuestra ayuda. Tengo un datareport asociado a un comando y le paso los parametros que preciso sin problemas, pero lo que quiero es saber como...

Parametros con datareport, Como?

Amigos disculpen la molestia, alguno de ustedes tiene algun link o codigo de ejemplo para parametrizar un datareport. En un form1 tengo 2 textbox uno con fecha inicial y...


La franja horaria es GMT. Ahora son las 04:06. | Privacy Policy