Dudas sobre Visual basic
Wenas...bueno, kiero saber un par de cositas para VB:
1).- Como hago para ocultar determinados campos (Encabezados) en un MSFlexGrid, estando este vinculado a una base de datos hecha en Access
2).- Como podría hacer para sumar fechas, por ejemplo obtengo la fecha de hoy y le kiero sumar 5 días mas.
3).- Como podría hacer para filtrar en una BD por ejemplo por autores de libros, filtrando por la primera letra, como sería el algoritmo...(No soy bueno con esto)
4).- Por último y creo que la mas dificil, si tienen de donde sacar un ejemplo de tipo de búsqueda, es decir el tipo de filtrado que mientras aprieto cada una de las letras va buscando por cadenas de caracteres,
Por ejemplo
Quiero buecar "Queen"...
Aprieto la "Q" me filtra todos aquellos que tengan la "Q"
Cuando le agrego la "QU" me filtra los que tienen esa secuencia de letras, si es posible en cualquier parte del texto (Al estilo de búsqueda de canciones del Winamp) pero si me filtra solamente de palabras del comienzo esta bien Igual.
Salu2
Trabajo con ADO
1).- Como hago para ocultar determinados campos (Encabezados) en un MSFlexGrid, estando este vinculado a una base de datos hecha en Access
2).- Como podría hacer para sumar fechas, por ejemplo obtengo la fecha de hoy y le kiero sumar 5 días mas.
3).- Como podría hacer para filtrar en una BD por ejemplo por autores de libros, filtrando por la primera letra, como sería el algoritmo...(No soy bueno con esto)
4).- Por último y creo que la mas dificil, si tienen de donde sacar un ejemplo de tipo de búsqueda, es decir el tipo de filtrado que mientras aprieto cada una de las letras va buscando por cadenas de caracteres,
Por ejemplo
Quiero buecar "Queen"...
Aprieto la "Q" me filtra todos aquellos que tengan la "Q"
Cuando le agrego la "QU" me filtra los que tienen esa secuencia de letras, si es posible en cualquier parte del texto (Al estilo de búsqueda de canciones del Winamp) pero si me filtra solamente de palabras del comienzo esta bien Igual.
Salu2
Trabajo con ADO
1)La forma mas facil es mover todas las columnas que quieras ocultar al final de tabla.
Suponiendo que tenemos:
mi tabla
col1 col2 col3 col4
y quiero ocultar la columna 1 y la 3:
mi tabla
col2 col4 col1 col3
de esta manera puedo ocultar las ultimas columnas con:
MSFlexGrid1.Cols = MSFlexGrid1.Cols - 2
donde 2 es la cantidad de columnas a ocultar
2)Podes usar:
Dim fecha As Date
fecha = InputBox("Escriba una Fecha")
fecha = DateAdd("d", 1, fecha) 'esto suma un dia a tu fecha
la funcion DateAdd funciona asi:
el primer balor es lo que queres sumar, dias, meses...
esta es la tabla completa
"yyyy" Year
"q" Quarter
"m" Month
"y" Day of year
"d" Day
"w" Weekday
"ww" Week
"h" Hour
"n" Minute
"s" Second
el segundo es lo que vas a sumar.
Ej: 2
y el tercero es tu fecha, que tambien puede ser un texto: "12/02/2003"
3) y 4) esto se logra mediante consultas SQL y no puedo contestarte sin save mas sobre la arquitectura de tu DB.
Nota: la respuesta 1) tambien se puede realizar con consultas SQL
Suponiendo que tenemos:
mi tabla
col1 col2 col3 col4
y quiero ocultar la columna 1 y la 3:
mi tabla
col2 col4 col1 col3
de esta manera puedo ocultar las ultimas columnas con:
MSFlexGrid1.Cols = MSFlexGrid1.Cols - 2
donde 2 es la cantidad de columnas a ocultar
2)Podes usar:
Dim fecha As Date
fecha = InputBox("Escriba una Fecha")
fecha = DateAdd("d", 1, fecha) 'esto suma un dia a tu fecha
la funcion DateAdd funciona asi:
el primer balor es lo que queres sumar, dias, meses...
esta es la tabla completa
"yyyy" Year
"q" Quarter
"m" Month
"y" Day of year
"d" Day
"w" Weekday
"ww" Week
"h" Hour
"n" Minute
"s" Second
el segundo es lo que vas a sumar.
Ej: 2
y el tercero es tu fecha, que tambien puede ser un texto: "12/02/2003"
3) y 4) esto se logra mediante consultas SQL y no puedo contestarte sin save mas sobre la arquitectura de tu DB.
Nota: la respuesta 1) tambien se puede realizar con consultas SQL
Sobre cómo ocultar columnas de un MSFlexGrid, la solución que Oliverio conlleva el hecho de que el programador ha de saber si una columna es visible y no, y dónde está colocada, por lo que se deberá localizar primero la columna antes de poder trabajar con ella. Se me ocurre otra solución en la que no sería necesario localizar la columna, aunque tampoco su implementación es muy trivial. Sería la de especificar que una columna invisible tiene un ancho 0, con la propiedad ColWidth. Por otro lado, deberíamos controlar en el evento RowColChange del MSFlexGrid que si la columna tiene ancho 0, salte a la siguiente columna (o a la anterior.. esto también complica el código un poco, ya que debemos guardar en una variable si pretendemos ir a la derecha o a la izquierda cuando nos movemos por el grid) Ambos métodos tienen sus ventajas e inconvenientes, pero creo que esta solución podría también interesar.
Saludos!!
Saludos!!
