Luis, el error de "Debug Assertion failed" al usar `m_StrFilter` y `Requery()` suele indicar que hay un problema con la forma en que estás configurando el filtro o con el estado del
recordset. Aquí te doy algunos pasos y recomendaciones para solucionar y realizar correctamente la consulta por nombre:
Pasos para filtrar por nombre en un recordset
1.
Asegúrate de que el recordset esté abierto antes de aplicar el filtro:
2.
Configura correctamente `m_StrFilter`:
- La cadena de filtro debe seguir la sintaxis del motor de base de datos (por ejemplo, SQL para Jet/ACE).
- Ejemplo para filtrar por nombre:
- Si `Nombre` es un campo de texto, asegúrate de poner comillas simples.
3.
Asignar el filtro y hacer `Requery()`:
4.
Verifica que el campo exista y que el filtro sea correcto:
- Asegúrate que el campo `Nombre` exista en la tabla.
- La cadena de filtro no tenga errores de sintaxis.
Ejemplo completo
Consejos adicionales
-
Verifica que la base de datos esté en buen estado y que la conexión esté activa.
-
Revisa que no estés modificando `m_StrFilter` en otro lugar sin actualizar el
recordset.
-
Para depurar, imprime o muestra en un cuadro de mensaje la cadena de filtro antes de hacer `Requery()` para asegurarte de que es correcta:
¿Qué hacer si sigue fallando?
- Asegúrate de que el recordset no esté en un estado inválido.
- Intenta cerrar y volver a abrir el recordset después de modificar el filtro.
- Verifica que la consulta original funcione sin filtro y que la tabla tenga datos.