Ayuda con problemilla en VB6

moy63

Bovino maduro
#1
Ésto es lo que intento hacer:

Tengo un formulario para limpiar tablas , las elijo con cheks y limpia las marcadas:

On Error Resume Next
If Check1.Value = Checked Then
With Adodc1
.RecordSource = " delete * from billeteros"
End With
Adodc1.Refresh
End If

Así como esta arriba, cuando lo ejecuto funciona bien y limpia como debe lo que le pida peeero manda un mensaje de error que dice: "La operación no está permitida si el objeto está cerrado."

Después ya manda el mensaje que se limpio todo bien y listo.


Cómo quito el mensaje ese de error? Cómo corregirlo o que manera puedo usar para que lo ignore y no lo muestre ya que el programa funciona bien?


Gracias de antemano
 
#2
On Error Resume Next
If Check1.Value = Checked Then
With Adodc1
if .close then .open
.RecordSource = " delete * from billeteros"
endif
End With
Adodc1.Refresh
End If
 

moy63

Bovino maduro
#3
No me funciona lo que me corregiste, me dice que no se encontró el metodo o el miembro de datos y me manda al .close
 

moy63

Bovino maduro
#5
Si no pongo el refresh no me actualiza los datos en la tabla, no lo limpia, como me sugieres que lo ponga?, y si como dices, si no pongo refresh no da error pero no hace nada entonces, =)
 

jlrmdevil

Bovino maduro
#6
Pequeño detalle.. es que yo uso otro metodo para las actualizaciones... ya intentaste con Adodc1.update; la mera verdad no se si exista ese metodo en la clase... ya que hace mucho que deje el VB
 
#7
Saludos. Me parece que el problema es que estas tratando de utilizar una consulta que no devuelve registros con el Ado Data Control que está diseñado para las consultas que seleccionan registros. Sugeriría que utilices Ado Connection para los Inserts, Updates y Deletes (En general sugeriría no utilizar Data Controls, ya que fueron reemplazados por Ado). Aquí un ejemplo de cómo podrías hacerlo:

Dim objCon As ADODB.Connection

Set objCon = New ADODB.Connection

' Especificacion del string de conexion
objCon.ConnectionString = Adodc1.ConnectionString
objCon.Open

' Ejecutar la consulta
objCon.Execute("delete * from billeteros")

' Cierre de la conexion
objCon.Close

' Actualizar el Adocd
query = "SELECT * From Billeteros "
Adodc1.RecordSource = query
Adodc1.Refresh

Espero te pueda servir. Disculpa cualquier error, ya que escribi el codigo directamente aqui y no en VB6
 

moy63

Bovino maduro
#8
GRACIAS

Muchas gracias compañeros por ayudarme y en especial a ti phychologrdhm2, ya lo probé como me dijiste y funciona sin ningún error, ahora sólo me queda hacer todos los cambio y listo. :)
 
Arriba