Foros del Web » Programación para mayores de 30 ;) » Programación General »

La operacion no esta permitida si el objeto esta cerrado!!! AYUDA!!!

Estas en el tema de La operacion no esta permitida si el objeto esta cerrado!!! AYUDA!!! en el foro de Programación General en Foros del Web. Es codigo en visual basic, que tengo ke agregarle para ke ejecute mis querys!!! Option Explicit Public Sub CargaDIFProc() Dim lstrArchivo As String Dim ldobLineas ...
  #1 (permalink)  
Antiguo 08/07/2004, 07:23
 
Fecha de Ingreso: noviembre-2003
Mensajes: 343
Antigüedad: 20 años, 6 meses
Puntos: 0
La operacion no esta permitida si el objeto esta cerrado!!! AYUDA!!!

Es codigo en visual basic, que tengo ke agregarle para ke ejecute mis querys!!!

Option Explicit
Public Sub CargaDIFProc()

Dim lstrArchivo As String
Dim ldobLineas As Double

lstrArchivo = LocalizaFile

If lstrArchivo = "" Then
Exit Sub
End If


If File_Existe(lstrArchivo) Then

strQuery = "DELETE FROM DDM_BOM_DIF"
Conn.Execute strQuery

ldobLineas = CuentaLineas(lstrArchivo)
Call ActualizaRegistros(lstrArchivo, ldobLineas)

Else
MsgBox "El archivo " + lstrArchivo + " no existe! "
End If

End Sub


-------------esta es mi conexion a l aBD

Public Sub Conexion_Abrir()
'Conexion a la base de datos sin ODBC declarado en win.1
Conn.Open "driver={SQL Server};server=nmxhqt21;UID=tuti;PWD=kiiop;databas e=hyt"

End Sub
__________________


La tecnología es un hecho objetivo, y el resultado está sujeto a la voluntad humana.
  #2 (permalink)  
Antiguo 09/07/2004, 09:35
Avatar de EL_MVM  
Fecha de Ingreso: julio-2004
Mensajes: 24
Antigüedad: 19 años, 10 meses
Puntos: 0
Lo mas probables es que tu cadena de conexión a la bd no sea correcta, pon un punto de interrupción despues de tu open de conexión a ver si si se esta conectando correctamente.
Intenta poner un recordset despues haciendo un select * sobre la tabla para ver si tu conexión fue exitosa.
  #3 (permalink)  
Antiguo 13/07/2004, 23:07
Avatar de Atonovich  
Fecha de Ingreso: diciembre-2002
Ubicación: ...
Mensajes: 117
Antigüedad: 21 años, 5 meses
Puntos: 0
Exactamente, verifica que tienes conexiòn a tu base de datos con el mètodo .state
msgbox conn.state
si es 1 tienes conexión caso contrario hay algo mal...
saludos
__________________
" El hombre es una invención de Dios o Dios es una invención del hombre..."
  #4 (permalink)  
Antiguo 14/07/2004, 00:25
 
Fecha de Ingreso: julio-2004
Ubicación: Capital Federal, Argentina
Mensajes: 283
Antigüedad: 19 años, 10 meses
Puntos: 1
fijate de poner Conn.Execute strQuery, , 1
alguna vez tuve algun problema con esto, aunque no recuerdo si era ese el msg de error

no tenes ningun Close ? si tenes alguno puede estar el problema al hacer ese close
  #5 (permalink)  
Antiguo 14/07/2004, 06:32
Avatar de Atonovich  
Fecha de Ingreso: diciembre-2002
Ubicación: ...
Mensajes: 117
Antigüedad: 21 años, 5 meses
Puntos: 0
Declara Conn como variable Pública
Ejemplo

Public Conn as adodb.connection

Con ese debes solucionar tu problema
__________________
" El hombre es una invención de Dios o Dios es una invención del hombre..."
  #6 (permalink)  
Antiguo 14/07/2004, 08:14
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 3 meses
Puntos: 8
Francamente, no entiendo cómo han podido darte ideas con los datos que has puesto...

El error que recibes se debe a que intentas emplear un objeto, que debe de estar abierto, antes de abrirlo o después de cerrarlo. Las posibilidades de hacer ésto según tu código son poco menos que infinitas... ...dado que no has especificado en qué línea te da el error.

Puede que te de el error al ejecutar la consulta que publicas, en cuyo caso ya sabemos que el objeto es 'Conn'. En ningún punto de tu código se llama a la rutina Conexion_Abrir() por lo que debo entender que ya ha sido llamada (??). Si es así, podrá ser que la conexión no se haya abierto... ...claro que en ese caso el error te lo daría el abrir (??), o que ya haya sido cerrada...

Veo que no tienes rutinas de control de errores, por lo que el error puede estar dentro de alguna función a la que llamas (ActualizaRegistros(lstrArchivo, ldobLineas)??) que devuelve el control a la función madre al generar un error... (raro, pero posible)

Por otra parte, he de suponer que la variable 'Conn' está bien declarada como pública porque no te da error al intentar emplearla y has puesto 'Option Explicit'.

Todo esto, descartando que el error se produzca en las funciones 'localizafile' o 'file_existe'...

Saludos
__________________
Kelpie
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:26.