llenar un combo

09/10/2005 - 12:22 por Enrique | Informe spam
hola a todos,

quisiera saber si lo mejor para llenar un combo conociendo los elementos de
antemano, se debe hacer manualmente o mediante base de datos.

si cargo los elementos manualmente, creando las opciones en el codigo o en
el entorno de desarrollo, tendré un codigo bastante mas denso, mas amplio.

si cargo los elementos accediendo a una base de datos, tendre que conectar a
esta base de datos, crear un recordset y hacer un SELECT.

yo opino que si los elementos son conocidos de antemano, lo logico es
ponerlos manualmente, dejando el uso de la base de datos a datos que pueden
crecer y decrer.

por otro lado, entiendo que si cargar el combo desde una base de datos
supone un desarrollo mas rapido (es mas rapido copiar los datos de forma
masiva a una tabla de base de datos y acceder a ella que currarse todas las
opciones a mano) , se puede emplear esta tecnica

¿que opinais?

gracias por vuestra ayuda
 

Leer las respuestas

#1 dani castillo
09/10/2005 - 18:22 | Informe spam
puedes (y deberias) hacer un "hibrido"

me explico, tu quieres optar entre
<select name=...>
<option value=1>primera<>
etc

y hacer un bucle con un recordset no?


vale, pues si los elementos se conocen de antemano puedes ponerlos en un
string, y luego tratarlos en bucle

opciones="1|primeraopcion,2|segundaopcion,3|terceraopcion..."
es decir, identificador (si lo necesitas) signo "|" (por poner uno) nombre a
mostrar, una coma y el siguiente elemento, asi con todos en una cadena

ahora haces un
opcionesV=split(opciones,",") ''' y ya lo tienes en vector
solo te queda recorrerlo como si fuera un recordset (parecido, pero mil
veces mas rapido)

for k=0 to ubound(opcionesV)
opcion=split(opcionesV[k],"|") ' separamos id y valor
%><option value="<%=opcion[0]%>"><%=opcion[1]%></option><%
next
''' ojo no he revisado el codigo si algo da error ;)

asi tienes un codigo compacto, facilmente modificable en cuanto a datos (lo
hay que cambiar el string que puede estar definido en un include o al
principio del codigo) y rapido, sin depender de bases de datos

como desventaja, la logica, para modificar los valores hay que modificar el
codigo

si te acostumbras a trabajar con variables "spliteadas" para representar
vectores de valores veras que es muy comodo para muchisimas cosas, de hecho
la funcion de crear el combo a partir de una variable string con los valores
a mostrar puede ser siempre la misma con independencia de lo que quieras
mostrar, y pasarle por parametro los valores a mostrar como una cadena de
texto separada por algun separador ( lo de la coma era un ejemplo, mejor
usar un signo que dificilmente pueda aparecer en el texto, la # por ejemplo
o doble ## o similares)


"Enrique" escribió en el mensaje
news:%
hola a todos,

quisiera saber si lo mejor para llenar un combo conociendo los elementos
de
antemano, se debe hacer manualmente o mediante base de datos.

si cargo los elementos manualmente, creando las opciones en el codigo o en
el entorno de desarrollo, tendré un codigo bastante mas denso, mas amplio.

si cargo los elementos accediendo a una base de datos, tendre que conectar
a
esta base de datos, crear un recordset y hacer un SELECT.

yo opino que si los elementos son conocidos de antemano, lo logico es
ponerlos manualmente, dejando el uso de la base de datos a datos que
pueden
crecer y decrer.

por otro lado, entiendo que si cargar el combo desde una base de datos
supone un desarrollo mas rapido (es mas rapido copiar los datos de forma
masiva a una tabla de base de datos y acceder a ella que currarse todas
las
opciones a mano) , se puede emplear esta tecnica

¿que opinais?

gracias por vuestra ayuda







Preguntas similares