Buenas noches: una vez mas necesito de la ayuda del foro. Estoy tratando de realizar una rutina que me permita filtrar la existencia de un dato dentro de una tabla de personas. Leyendo, encuentro que la función SOUNDEX se puede aplicar a mi necesidad. Por lo que he leído permite buscar la información exacta o que por fonética sea similar a la buscada.
Esta función es aplicable a MYSQL+VFP, pero no logro hacerla funcionar. Alguien del foro tendrá algún ejemplo o información que me pueda brindar para ver si soluciono o logro realizar mi rutina de búsqueda?
La idea es que antes de dar de ALTA un legajo, me permita hacer la consulta de la información que se encuentra en la tabla y que sea igual o aproximada a la que busco.
Gracias
Ruben Antunes
--
_______________________________________________________________
Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
FoxPro" de Grupos de Google.
Para anular la suscripción a este grupo, envía un mensaje a:
mundovisualfox...@googlegroups.com
---
Has recibido este mensaje porque estás suscrito al grupo "Mundo Visual FoxPro" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a mundovisualfox...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
Soundex convierte una cadena de texto en un código que "representa" su sonido, en el caso de fox 4 caracteres (1 letra y 3 números) y en mysql 8 caracteres en total.
En ambos casos es para la pronunciación en inglés.
Si la usas para buscar repetidos, va a darte gran cantidad de falsos positivos, o sea te va a decir "existe" cuando en realidad no lo es.
Funciona contra una palabra (1 nombre sólo) pero si mal no recuerdo, Fernández y fernando dan igual valor y así muchos casos más.
En mysql puedes usar búsqueda con full texto que si te permite buscar con precisión palabras o conjunto ellas.
Legajo no es un tipo de datos, se denomina así al conjunto de datos que corresponden a una persona, y se usar comúnmente en RRHH.
Saludos: Miguel, La Pampa (RA)
En si tengo que hacer lo siguiente:
1. Para aceptar el ingreso del nuevo registro a la base de datos tengo que poder chequear el apellido y nombre, documento y fecha de nacimiento. Esto es porque la carga la hacen de diferentes estaciones, y por allí cuando cargan el documento el mismo no corresponde (ya sea por error de carga o error intencional de carga). Pero en si, los datos que tengo que buscar a excepción de la fecha son VARCHAR
Gracias por responder
Gracias por responder. Al legajo lo tengo que dar de alta, luego de haber verificado que no exista el nombre y apellido de la persona que estoy cargando a la base de datos.
Saludos
De:
mundovis...@googlegroups.com [mailto:mundovis...@googlegroups.com] En
nombre de Carlos Miguel FARIAS
Enviado el: miércoles, 02 de julio de 2014 5:06
Para: mundovisualfoxpro
Asunto: Re: [Mundo Visual FoxPro] Busqueda SOUNDEX
Soundex convierte una cadena de texto en un código que "representa" su sonido, en el caso de fox 4 caracteres (1 letra y 3 números) y en mysql 8 caracteres en total.
Paso a explicar que debo hacer:
El programa lo estoy desarrollando para la Entidad de Rugby (Casa Central), donde trabajo, debe permitir a los Clubes que pertenecen a la Union, cargar los legajos nuevos o jugadores. Pero como se ha empezado a automatizar esta tarea nos encontramos con que nos han estado metiendo jugadores repetidos (CAMBIAN una Letra del Apellido y Nombre, Agregar un numero al documento para que pase como alta ya que el control de existencia lo hago por documento, o nos mienten en la fecha de nacimiento del jugador para que pueda ser incluido en categorías que no corresponden, etc). Entonces la idea es que ellos den de alta al jugador, pero nosotros en la administración antes de darlo de alta controlemos si existe (ya sea porque el nombre ingresado se le parece o el mismo esta con otro documento –son algunos controles que estamos tratando de llevar a cabo). Si el SOUNDEX me soluciona el problema de búsqueda aproximada por alguno de los campos de la tabla (ya que por fonética podríamos llegar a encontrar nombre de jugadores similares) para poder verificar si damos o no de alta al jugador dentro de la base de datos, estaría genial. Lo que necesito es ver si me pueden pasar un ejemplo de cómo poder utilizar la función.
Tambien trate de filtrar información utilizando el comando LIKE, pero al momento de realizar o ejecutar la rutina me dice que no esta bien armada la sentencia: adjunto ejemplo
_apellido=’ABALLAY’
_BuscarDato= "like(?_apellido, t1.apellidos)=.T."
cMiSql="SELECT t1.id_persona,t1.apellidos,t1.nombres,t1.documento,t1.sexo,t1.fnacim,' ' AS Club, ' ' AS Categoria FROM personas t1 "+;
"WHERE "+_BuscarDato
Pero tampoco me anduvo. A todo esto, la búsqueda o la información que he tratado de utilizar como prueba en la rutina es de tipo VARCHAR –como muestro en el ejemplo he querido utilizar el APELLIDO como prueba. Y hago referencia al LEGAJO (porque necesito grabar el conjunto de datos que conforman el LEGAJO).
Saludos
Ruben Antunes
De: mundovis...@googlegroups.com
[mailto:mundovis...@googlegroups.com] En nombre de Analyzer
Enviado el: miércoles, 02 de julio de 2014 10:39
Para: mundovisualfoxpro
Asunto: Re: [Mundo Visual FoxPro] Busqueda SOUNDEX
>Legajo no es un tipo de datos, se denomina así al conjunto de datos que corresponden a una persona, y se usar comúnmente en RRHH.
Gracias Miguel: mas que aceptable y muy bien detallado lo que me has indicado. Entendi a la perfeccion todo lo que explicas. Ahora tendras:
1. algún ejemplo del comando FULLTEXT al que haces referencia, que existe en MYSQL y no asi en VFP para probar varias variantes?
2. Algún ejemplo aunque mas no sea para ver su funcionamiento del comando SOUNDEX?
3. Existe alguna rutina que te permita determinar el rango de documentos dentro del rango de fecha de nacimiento?
De todas maneras te agradezco de corazón por tu explicación tan bien detallada.
Y por último, como ARGENTINO que somos. VAMOS CARAJO…. (tenia que decirlo, y desahogarme, ayer nos tuvieron con el corazón en la boca).
Un saludo a todos los presentes y quienes ayudan en este foro.
Abrazos
Ruben Antunes
Gracias Analyzer, ya me quedo funcionando el comando LIKE
