Foros - Stratos

Stratos => General => Mensaje iniciado por: sebastianarroyo en 15 de Noviembre de 2006, 04:50:41 PM

Título: separar datos en visual basic
Publicado por: sebastianarroyo en 15 de Noviembre de 2006, 04:50:41 PM
estoy utilizando lo siguiente para poder filtrar por categoria en una base de datos.

Set buscar = mibase.OpenRecordset("SELECT * from tabla_base where trim(tabla_base!categoria) LIKE trim(' " & categodestino.Text & " ')order by Tabla_base!nombre asc")

El problema es que en algunos registros tengo dos o mas categorias separada por un "#".
Ejemplo:

AMIGOS#FAMILIA#TRBAJO

Cuando tengo una sola categoria dentro del mismo campo SQL me lo filtra al pelo, pero cuando tengos mas de una categoria dentro del mismo campo  SQL no lo hace.
La idea es que SQL me separe las categorias que estan divididas por "#".
y pueda ver un registro que este con categoria AMIGO o
AMIGO#FAMILIA#

Gracias !


[/code]
Título: separar datos en visual basic
Publicado por: bnl en 15 de Noviembre de 2006, 05:34:36 PM
El  problema es que la base de datos no esta bien hecha. No deberian existir  varias categorias en un campo de un registro.
Mirate las formas normales.

Esto te puede dar muchos problemas y te limita mucho. Por ejemplo no puedes hacer un JOIN con otras tablas.

Ademas en el campo categoria no deberias guardar las descripcion sino el id de la categria y tener una tabla con categorias. Si quisieras modificar el nombre de la categoria "amigos" a "compañeros" lo tendrias q cambiar en todos los registros.