Problemas en busqueda de textos con tildes

14/12/2004 - 17:26 por juan | Informe spam
Hola amigos tengo el siguiente problema.
He hecho un programita en vb que me almacena informacion
de clientes en la base de datos y ellos al llenar
apellidos por ejemplo lo hacen con tildes como es. Hasta
ahi bien.
Pero cuando quiero hacer una busqueda si le ingreso el
apellido del cliente sin las tildes no me sale el registro
buscado.
Lo que pasa que hay personas que se les hace muy pesado
estar ingresando los apellidos con tildes y me han pedido
que solucione eso.
Como puedo solucionar este problema entonces
Gracias.

Preguntas similare

Leer las respuestas

#1 Juan Sánchez
14/12/2004 - 18:44 | Informe spam
Supongo que la consulta lo haces con la condición
campo like '%texto%'

Lo que a mí se me ocurre es que al texto que vas buscar le hagas 5 replace.

strTexto = REPLACE(strTexto, "a", "[aá]")
strTexto = REPLACE(strTexto, "e", "[eé]")
strTexto = REPLACE(strTexto, "i", "[ií]")
strTexto = REPLACE(strTexto, "o", "[oó]")
strTexto = REPLACE(strTexto, "u", "[uú]")

Slds,
Juan


"juan" escribió en el mensaje
news:04c601c4e1f9$9d4927a0$
Hola amigos tengo el siguiente problema.
He hecho un programita en vb que me almacena informacion
de clientes en la base de datos y ellos al llenar
apellidos por ejemplo lo hacen con tildes como es. Hasta
ahi bien.
Pero cuando quiero hacer una busqueda si le ingreso el
apellido del cliente sin las tildes no me sale el registro
buscado.
Lo que pasa que hay personas que se les hace muy pesado
estar ingresando los apellidos con tildes y me han pedido
que solucione eso.
Como puedo solucionar este problema entonces
Gracias.
Respuesta Responder a este mensaje
#2 ulises
14/12/2004 - 20:50 | Informe spam
El campo donde almacenas la información debe tener una
intercalación con ACCENT-SENTITIVE, cambiala a
accent-insensitive y podrás hacer la búsqueda como deseas.

Saludos,
Ulises

Hola amigos tengo el siguiente problema.
He hecho un programita en vb que me almacena informacion
de clientes en la base de datos y ellos al llenar
apellidos por ejemplo lo hacen con tildes como es. Hasta
ahi bien.
Pero cuando quiero hacer una busqueda si le ingreso el
apellido del cliente sin las tildes no me sale el registro
buscado.
Lo que pasa que hay personas que se les hace muy pesado
estar ingresando los apellidos con tildes y me han pedido
que solucione eso.
Como puedo solucionar este problema entonces
Gracias.
.

Respuesta Responder a este mensaje
#3 Juan
14/12/2004 - 21:24 | Informe spam
Hola Ulises Gracias por la ayuda.
Pero me podrias decir como cambio ese campo a accent-
insensitive.
Gracias de nuevo.
Respuesta Responder a este mensaje
#4 ulises
14/12/2004 - 21:35 | Informe spam
Tendrías que usar :

ALTER TABle nombretabla
ALTER COLUMN nombrecolumna COLLATE nombrecollate

para ver que collate son insensibles a los acentos revisa
el BOL con el tema "collation" o "intercalamiento".

Saludos,
Ulises

Hola Ulises Gracias por la ayuda.
Pero me podrias decir como cambio ese campo a accent-
insensitive.
Gracias de nuevo.
.

Respuesta Responder a este mensaje
#5 Javier Loria
14/12/2004 - 22:55 | Informe spam
Hola:
Cuando necesitas esto, puedes o cambiar el collate de la tabla o en las
busquedas que quieras que sean insensible a mayusculas y minusculas. Tal vez
este ejemplo te ayude:
CREATE TABLE Apellidos(
ApellidoId INT NOT NULL PRIMARY KEY
, Apellido VARCHAR(20) NOT NULL UNIQUE

)
INSERT Apellidos(ApellidoID, Apellido)
SELECT 1, 'Loria' UNION ALL
SELECT 2, 'Loría'

SELECT * FROM Apellidos
WHERE Apellido LIKE 'Loria'

SELECT * FROM Apellidos
WHERE Apellido LIKE 'Loria' COLLATE SQL_Latin1_General_CP1_CI_AI
= En el primer caso se usa el COLLATE Default que en mi caso en
SQL_Latin1_General_CP1_CI_AS o sea que es CI=> Case Insentive, AS==> Accente
Sensitive.
Cuando haces la consulta con el COLLATE la conviertes en insentitiva a
accentos.
Espero te sirva,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda

"juan" wrote in message
news:04c601c4e1f9$9d4927a0$
Hola amigos tengo el siguiente problema.
He hecho un programita en vb que me almacena informacion
de clientes en la base de datos y ellos al llenar
apellidos por ejemplo lo hacen con tildes como es. Hasta
ahi bien.
Pero cuando quiero hacer una busqueda si le ingreso el
apellido del cliente sin las tildes no me sale el registro
buscado.
Lo que pasa que hay personas que se les hace muy pesado
estar ingresando los apellidos con tildes y me han pedido
que solucione eso.
Como puedo solucionar este problema entonces
Gracias.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida