Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Visual Basic clásico (http://www.forosdelweb.com/f69/)
-   -   run-time-error-3705 (http://www.forosdelweb.com/f69/run-time-error-3705-a-584059/)

der 07/05/2008 17:58

run-time-error-3705
 
Que tal compañeros, me pueden ayudar con este error, tengo una serie de text que me los guarda en una tbla de sql y esa misma me la muestra en un msnflexgrid y quiero hacer modificar y eliminar registros desde msnflexgrid pero me marca el error "operation is not allowed when the objects is open en la "Sub cargar_grilla"....
Les dejo el code para que sea mas entendible....

Public Sub cargar_grilla(strquery)
Gd1.Rows = 1
Dim rs As New ADODB.Recordset
***cnnSQLServer.Open***AQUI ME MARCA EL ERROR
rs.ActiveConnection = cnnSQLServer
rs.Source = strquery
rs.Open

rs.MoveFirst
Do
Gd1.AddItem rs!idFam & vbTab & rs!idNomina & vbTab & rs!idParentesco & vbTab & rs!Nombre & vbTab & rs!Direccion & vbTab & rs!Colonia & vbTab & rs!Telefono & vbTab & rs!idActividad & vbTab & rs!idSexo & vbTab & rs!datNacimiento
Gd1.RowData(Gd1.Rows - 1) = rs!idFam
rs.MoveNext
Loop Until rs.EOF = True
cnnSQLServer.Close
Set rs = Nothing


End Sub


Private Sub CmdEliminar_Click()

Call mostrar_Familiar(Gd1.RowData(Gd1.Row))
If Val(Gd1.RowData(Gd1.Row)) = 0 Then
Exit Sub
End If

Dim rsu As New ADODB.Recordset
Call MsgBox("Está seguro que desea eliminar este Familiar", vbYesNo, "Atención")

cnnSQLServer.Open
strquery = ("delete from Familiares5 where idfam=" & Val(Gd1.RowData(Gd1.Row)))
cnnSQLServer.Execute (strquery)

Call cargar_grilla("Select * from Familiares5")

Call MsgBox("No se puede eliminar el Familiar verifique con el Administrador de Sistemas", , "Atención")

End Sub

Call MsgBox("Está seguro que desea eliminar este Familiar", vbYesNo, "Atención")

cnnSQLServer.Open
strquery = ("delete from Familiares5 where idfam=" & Val(Gd1.RowData(Gd1.Row)))
cnnSQLServer.Execute (strquery)

Call cargar_grilla("Select * from Familiares5")

Call MsgBox("No se puede eliminar el Familiar verifique con el Administrador de Sistemas", , "Atención")

End Sub

GRACIAS............

Avellaneda 08/05/2008 01:07

Re: run-time-error-3705
 
Hola

Antes de abrir la conexión, comprueba si ya está abierta:

If cnnSQLServer.State = 1 Then cnnSQLServer.Close
cnnSQLServer.Open


Aunque si la conexión es pública, no es necesario que vuelvas a abrirla, puedes eliminar esa línea.

Un saludo


La zona horaria es GMT -6. Ahora son las 10:04.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.