ADO recordset.Filter no me funciona

Tengo una base de datos access 2000 y la trabajo desde VB6. Resulta que todo me funciona, pero tengo un maestro-detalle, que cuando le pongo un filtro al Adodc detalle para que me muestre sólo los relacionados con el registro maestro, me muestra un error:
Error '-2147217887 (80040e21' en tiempo de ejecución.
Error en el método 'filter' del objeto '_Recordset'
Qué será. ¿Cuál es el problema?.
Este error sólo me sale cuando voy a ingresar datos nuevos en el detalle.

1 Respuesta

Respuesta
1
Lo siento pero por más que lo intento no consigo reproducir el error...
He puesto un textbox que en el evento change cambiar la propiedad Filter de un control ADO:
If Text1.Text = Empty Then
Me.Adodc1.Recordset.Filter = adFilterNone
Else
Me.Adodc1.Recordset.Filter = "Campo1 = " & Text1.Text
End If
Aparte he puesto un boton que inserta un registro en la tabla sin que me de error:
With Me.Adodc1.Recordset
.AddNew
.Fields(0).Value = 0
.Fields(1).Value = "PRUEBA6"
.Update
End With
Text1_Change
No se que puede haber de diferente entre tu proyecto y la prueba que he hecho, lo único que se me ocurre para solucionar tu problema es que quites el filtro (Filter = adFilterNone) ANTES de insertar el registro. Si tampoco te funciona detalla me más que es lo que haces y la transcripción exacta del error producido.
Me falta un poco de información para poder reproducir lo que haces, pero igual acierto...
¿Has abierto el recordset de detalle como snapshot?. Son solo de lectura, no puedes insertar datos en ellos. Prueba a abrirlo como dynaset.
Si no es eso explicame un poco más como tienes relacionados los controles y ponme un ejemplo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas