Programación General > Visual Basic 6.0 e inferiores
Re: comparar campos memo
agfed:
usando vba ¿Como puedo compararar si son iguales o semejantes dos campos memo? Mi intension es hacer una busqueda en una base de datos acces :question:
Brroz:
¿Podrías especificar un poco mejor que es lo que necesitas?
- Comparar dos campos memo de dos tablas distintas.
- Comparar dos campos memo en la misma tabla.
- Seleccionar registros por el valor de uno o varios campos memo.
- Seleccionar registros por el valor de uno o varios campos memo que contengan una serie a buscar.
En todo caso trata el campo memo como si fuera un campo tipo texto.
Puedes asignarlo a una variable de tipo string con la limitación de 2^31 caracteres para cadenas de longitud variable y de 2^16 para cadenas de longitud fija.
Suerte.
Brroz:
Hombre, ahora que caigo, ya sé que es lo quieres hacer... Lo sé por tu anterior tema 'compara archivos o usar campos binarios': quieres comparar dos tablas de una base de datos para saber si contienen los mismos datos.
Vale, te diré que bien podías haberlo especificado respondiendo al tema anterior. Te di una solución para comparar 'Archivos', como tu decías, si no era eso lo que necesitabas, podrías haberlo dicho y no dejar el tema abierto. En fin...
Podrías usar una sentencias SQL para comparar las dos tablas, o código que las recorriera buscando diferencias, pero como no tengo ganas de escribir tanto, pues mi recomendación es que exportes las tablas a archivos de texto y que uses el código que te escribí en el tema anterior.
Ale.
Chao.
agfed:
Mi intesion es usar la sentencia
basededatos.Find campo=lobuscado
Pero mi pregunta es si tambien sirve para campos memo.
Brroz:
Hola agfed.
Creo que el método find debería funcionar sin problemas con cualquier tipo de datos que tengan los campos, incluso con campos memo, que a todos los efectos son campos de texto de longitud variable. Otra cosa distinta es acertar con el valor por el que quieres realizar la búsqueda, es decir, no es lo mismo buscar por una palabra que por un texto de gran tamaño, donde signos de puntuación, tildes, mayúsculas/minúsculas, pueden hacer que no encuentres un registro coincidente. Para evitar en la medida de lo posible esto, podrías usar un filtro de este estilo:
Recordset1.Find "UCASE(CampoMemo) LIKE(UCASE('%Cadena a buscar en el campo%'))
Suerte.
Navegación
[#] Página Siguiente
Ir a la versión completa